diff options
-rw-r--r-- | src/com/android/launcher2/AppsCustomizePagedView.java | 3 | ||||
-rw-r--r-- | src/com/android/launcher2/PagedView.java | 5 |
2 files changed, 6 insertions, 2 deletions
diff --git a/src/com/android/launcher2/AppsCustomizePagedView.java b/src/com/android/launcher2/AppsCustomizePagedView.java index 358054535..a3d8f8d40 100644 --- a/src/com/android/launcher2/AppsCustomizePagedView.java +++ b/src/com/android/launcher2/AppsCustomizePagedView.java @@ -816,6 +816,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen onSyncWidgetPageItems(d); } mDeferredSyncWidgetPageItems.clear(); + mForceDrawAllChildrenNextFrame = !toWorkspace; } @Override @@ -1519,7 +1520,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen @Override protected void onPageEndMoving() { super.onPageEndMoving(); - + mForceDrawAllChildrenNextFrame = true; // We reset the save index when we change pages so that it will be recalculated on next // rotation mSaveInstanceStateItemIndex = -1; diff --git a/src/com/android/launcher2/PagedView.java b/src/com/android/launcher2/PagedView.java index 02f1c22b8..93725ce54 100644 --- a/src/com/android/launcher2/PagedView.java +++ b/src/com/android/launcher2/PagedView.java @@ -134,6 +134,7 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc protected boolean mAllowOverScroll = true; protected int mUnboundedScrollX; protected int[] mTempVisiblePagesRange = new int[2]; + protected boolean mForceDrawAllChildrenNextFrame; // mOverScrollX is equal to getScrollX() when we're within the normal scroll range. Otherwise // it is equal to the scaled overscroll position. We use a separate value so as to prevent @@ -797,13 +798,15 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc // View.INVISIBLE, preventing re-drawing of their hardware layer for (int i = getChildCount() - 1; i >= 0; i--) { final View v = getPageAt(i); - if (leftScreen <= i && i <= rightScreen && shouldDrawChild(v)) { + if (mForceDrawAllChildrenNextFrame || + (leftScreen <= i && i <= rightScreen && shouldDrawChild(v))) { v.setVisibility(VISIBLE); drawChild(canvas, v, drawingTime); } else { v.setVisibility(INVISIBLE); } } + mForceDrawAllChildrenNextFrame = false; canvas.restore(); } } |