Merge "Small optimizations for the All Apps transition"
This commit is contained in:
committed by
Android (Google) Code Review
commit
58e8b25c59
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user