diff options
-rw-r--r-- | src/com/android/launcher2/CellLayout.java | 7 | ||||
-rw-r--r-- | src/com/android/launcher2/PagedView.java | 13 | ||||
-rw-r--r-- | src/com/android/launcher2/Workspace.java | 5 |
3 files changed, 15 insertions, 10 deletions
diff --git a/src/com/android/launcher2/CellLayout.java b/src/com/android/launcher2/CellLayout.java index 8aae809b9..e27345bfe 100644 --- a/src/com/android/launcher2/CellLayout.java +++ b/src/com/android/launcher2/CellLayout.java @@ -916,8 +916,10 @@ public class CellLayout extends ViewGroup { } public void setBackgroundAlpha(float alpha) { - mBackgroundAlpha = alpha; - invalidate(); + if (mBackgroundAlpha != alpha) { + mBackgroundAlpha = alpha; + invalidate(); + } } // Need to return true to let the view system know we know how to handle alpha-- this is @@ -928,6 +930,7 @@ public class CellLayout extends ViewGroup { return true; } + @Override public void setAlpha(float alpha) { setChildrenAlpha(alpha); super.setAlpha(alpha); diff --git a/src/com/android/launcher2/PagedView.java b/src/com/android/launcher2/PagedView.java index 975686e49..b6efcfa79 100644 --- a/src/com/android/launcher2/PagedView.java +++ b/src/com/android/launcher2/PagedView.java @@ -181,7 +181,7 @@ public abstract class PagedView extends ViewGroup { // Scrolling indicator private ValueAnimator mScrollIndicatorAnimator; - private ImageView mScrollIndicator; + private View mScrollIndicator; private int mScrollIndicatorPaddingLeft; private int mScrollIndicatorPaddingRight; private boolean mHasScrollIndicator = true; @@ -726,19 +726,18 @@ public abstract class PagedView extends ViewGroup { protected void getVisiblePages(int[] range) { final int pageCount = getChildCount(); if (pageCount > 0) { - final int pageWidth = getScaledMeasuredWidth(getPageAt(0)); final int screenWidth = getMeasuredWidth(); - int x = getScaledRelativeChildOffset(0) + pageWidth; + int x = (int) getPageAt(0).getRight(); int leftScreen = 0; int rightScreen = 0; while (x <= mScrollX && leftScreen < pageCount - 1) { leftScreen++; - x += getScaledMeasuredWidth(getPageAt(leftScreen)) + mPageSpacing; + x = getPageAt(leftScreen).getRight(); } rightScreen = leftScreen; while (x < mScrollX + screenWidth && rightScreen < pageCount - 1) { rightScreen++; - x += getScaledMeasuredWidth(getPageAt(rightScreen)) + mPageSpacing; + x = (int) getPageAt(rightScreen).getRight(); } range[0] = leftScreen; range[1] = rightScreen; @@ -1756,12 +1755,12 @@ public abstract class PagedView extends ViewGroup { } } - protected ImageView getScrollingIndicator() { + protected View getScrollingIndicator() { // We use mHasScrollIndicator to prevent future lookups if there is no sibling indicator // found if (mHasScrollIndicator && mScrollIndicator == null) { ViewGroup parent = (ViewGroup) getParent(); - mScrollIndicator = (ImageView) (parent.findViewById(R.id.paged_view_indicator)); + mScrollIndicator = (View) (parent.findViewById(R.id.paged_view_indicator)); mHasScrollIndicator = mScrollIndicator != null; if (mHasScrollIndicator) { mScrollIndicator.setVisibility(View.VISIBLE); diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java index 290637126..d74a2c386 100644 --- a/src/com/android/launcher2/Workspace.java +++ b/src/com/android/launcher2/Workspace.java @@ -1726,6 +1726,9 @@ public class Workspace extends SmoothPagedView cl.setBackgroundAlphaMultiplier(a * mOldBackgroundAlphaMultipliers[i] + b * mNewBackgroundAlphaMultipliers[i]); cl.setFastAlpha(a * mOldAlphas[i] + b * mNewAlphas[i]); + if (mOldAlphas[i] != mNewAlphas[i]) { + cl.setAlpha(a * mOldAlphas[i] + b * mNewAlphas[i]); + } } } syncChildrenLayersEnabledOnVisiblePages(); @@ -3520,7 +3523,7 @@ public class Workspace extends SmoothPagedView final ViewGroup parent = (ViewGroup) getParent(); final ImageView qsbDivider = (ImageView) (parent.findViewById(R.id.qsb_divider)); final ImageView dockDivider = (ImageView) (parent.findViewById(R.id.dock_divider)); - final ImageView scrollIndicator = getScrollingIndicator(); + final View scrollIndicator = getScrollingIndicator(); cancelScrollingIndicatorAnimations(); if (qsbDivider != null) qsbDivider.setAlpha(reducedFade); |