Merge "Fixed bug where custo drawer remained open after power-off"
diff --git a/src/com/android/launcher2/BubbleTextView.java b/src/com/android/launcher2/BubbleTextView.java
index 4a56e1b..076f574 100644
--- a/src/com/android/launcher2/BubbleTextView.java
+++ b/src/com/android/launcher2/BubbleTextView.java
@@ -144,4 +144,10 @@
super.onDetachedFromWindow();
mBackground.setCallback(null);
}
+
+ @Override
+ protected boolean onSetAlpha(int alpha) {
+ mPaint.setAlpha(alpha);
+ return super.onSetAlpha(alpha);
+ }
}
diff --git a/src/com/android/launcher2/PagedView.java b/src/com/android/launcher2/PagedView.java
index 03a4d0c..16116ce 100644
--- a/src/com/android/launcher2/PagedView.java
+++ b/src/com/android/launcher2/PagedView.java
@@ -271,8 +271,9 @@
dimAlpha = Math.max(0.0f, Math.min(1.0f, (dimAlpha * dimAlpha)));
alpha = 1.0f - dimAlpha;
}
- if (Float.compare(alpha, layout.getAlpha()) != 0)
+ if (Float.compare(alpha, layout.getAlpha()) != 0) {
layout.setAlpha(alpha);
+ }
}
}
super.dispatchDraw(canvas);
diff --git a/src/com/android/launcher2/PagedViewCellLayout.java b/src/com/android/launcher2/PagedViewCellLayout.java
index 2413996..219a362 100644
--- a/src/com/android/launcher2/PagedViewCellLayout.java
+++ b/src/com/android/launcher2/PagedViewCellLayout.java
@@ -75,9 +75,9 @@
@Override
public void setAlpha(float alpha) {
- super.setAlpha(alpha);
- setChildrenAlpha(alpha);
mHolographicAlpha = 1.0f - alpha;
+ setChildrenAlpha(alpha);
+ super.setAlpha(alpha);
}
@Override
diff --git a/src/com/android/launcher2/PagedViewIcon.java b/src/com/android/launcher2/PagedViewIcon.java
index ea5e6d7..01f36dc 100644
--- a/src/com/android/launcher2/PagedViewIcon.java
+++ b/src/com/android/launcher2/PagedViewIcon.java
@@ -170,17 +170,9 @@
@Override
public void setAlpha(float alpha) {
final float viewAlpha = sHolographicOutlineHelper.viewAlphaInterpolator(alpha);
- mAlpha = (int) (viewAlpha * 255);
final float holographicAlpha = sHolographicOutlineHelper.highlightAlphaInterpolator(alpha);
+ mAlpha = (int) (viewAlpha * 255);
mHolographicAlpha = (int) (holographicAlpha * 255);
-
- // WORKAROUND: until TextView handles canvas shadow layer alpha itself
- int sRed = Color.red(mShadowColor);
- int sGreen = Color.green(mShadowColor);
- int sBlue = Color.blue(mShadowColor);
- super.setShadowLayer(mShadowRadius, mShadowDx, mShadowDy, Color.argb(mAlpha, sRed, sGreen,
- sBlue));
-
super.setAlpha(viewAlpha);
}
@@ -227,27 +219,17 @@
}
}
- // WORKAROUND: until TextView handles canvas shadow layer alpha itself
- float mShadowRadius, mShadowDx, mShadowDy;
- int mShadowColor;
- @Override
- public void setShadowLayer(float radius, float dx, float dy, int color) {
- mShadowRadius = radius;
- mShadowDx = dx;
- mShadowDy = dy;
- mShadowColor = color;
- super.setShadowLayer(radius, dx, dy, color);
- }
-
@Override
protected void onDraw(Canvas canvas) {
+ // draw the view itself
if (mIsHolographicUpdatePass) {
// only clip to the text view (restore its alpha so that we get a proper outline)
canvas.save();
canvas.clipRect(mDrawableClipRect, Op.REPLACE);
- super.onSetAlpha(255);
+ final float alpha = getAlpha();
+ super.setAlpha(1.0f);
super.onDraw(canvas);
- super.onSetAlpha(mAlpha);
+ super.setAlpha(alpha);
canvas.restore();
} else {
if (mAlpha > 0) {
diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java
index aa74f70..5d75c0f 100644
--- a/src/com/android/launcher2/Workspace.java
+++ b/src/com/android/launcher2/Workspace.java
@@ -469,6 +469,7 @@
if (mIsSmall) {
unshrink((CellLayout)v);
mLauncher.onWorkspaceUnshrink();
+ return true;
}
return false;
}