summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/android/launcher2/CellLayout.java7
-rw-r--r--src/com/android/launcher2/PagedView.java13
-rw-r--r--src/com/android/launcher2/Workspace.java5
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);