diff options
-rw-r--r-- | src/com/android/launcher3/PagedView.java | 14 | ||||
-rw-r--r-- | src/com/android/launcher3/Workspace.java | 30 |
2 files changed, 23 insertions, 21 deletions
diff --git a/src/com/android/launcher3/PagedView.java b/src/com/android/launcher3/PagedView.java index dcb71d274..0b0c4b988 100644 --- a/src/com/android/launcher3/PagedView.java +++ b/src/com/android/launcher3/PagedView.java @@ -1079,7 +1079,7 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc } protected boolean shouldDrawChild(View child) { - return child.getAlpha() > 0; + return child.getAlpha() > 0 && child.getVisibility() == VISIBLE; } @Override @@ -1546,22 +1546,10 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc getOverviewModePages(mTempVisiblePagesRange); if (!mFreeScroll) { snapToPage(snapPage); - - for (int i = 0; i < getPageCount(); ++i) { - if (i < mTempVisiblePagesRange[0] || i > mTempVisiblePagesRange[1]) { - getPageAt(i).setAlpha(1f); - } - } } else { mFreeScrollMinScrollX = getScrollForPage(mTempVisiblePagesRange[0]); mFreeScrollMaxScrollX = getScrollForPage(mTempVisiblePagesRange[1]); - for (int i = 0; i < getPageCount(); ++i) { - if (i < mTempVisiblePagesRange[0] || i > mTempVisiblePagesRange[1]) { - getPageAt(i).setAlpha(0f); - } - } - if (getCurrentPage() < mTempVisiblePagesRange[0]) { setCurrentPage(mTempVisiblePagesRange[0]); } else if (getCurrentPage() > mTempVisiblePagesRange[1]) { diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index 3d467a164..e7ea221be 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -1756,14 +1756,11 @@ public class Workspace extends SmoothPagedView Animator workspaceAnim = getChangeStateAnimation(finalState, animated, 0, snapPage); if (workspaceAnim != null) { + onTransitionPrepare(); workspaceAnim.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator arg0) { - mIsSwitchingState = false; - } - @Override - public void onAnimationStart(Animator arg0) { - mIsSwitchingState = true; + onTransitionEnd(); } }); workspaceAnim.start(); @@ -1956,13 +1953,11 @@ public class Workspace extends SmoothPagedView view.setVisibility(VISIBLE); } } - } @Override public void onLauncherTransitionPrepare(Launcher l, boolean animated, boolean toWorkspace) { - mIsSwitchingState = true; - updateChildrenLayersEnabled(false); + onTransitionPrepare(); } @Override @@ -1976,6 +1971,20 @@ public class Workspace extends SmoothPagedView @Override public void onLauncherTransitionEnd(Launcher l, boolean animated, boolean toWorkspace) { + onTransitionEnd(); + } + + private void onTransitionPrepare() { + mIsSwitchingState = true; + updateChildrenLayersEnabled(false); + if (mState != Workspace.State.NORMAL) { + if (hasCustomContent()) { + mWorkspaceScreens.get(CUSTOM_CONTENT_SCREEN_ID).setVisibility(INVISIBLE); + } + } + } + + private void onTransitionEnd() { mIsSwitchingState = false; updateChildrenLayersEnabled(false); // The code in getChangeStateAnimation to determine initialAlpha and finalAlpha will ensure @@ -1988,6 +1997,11 @@ public class Workspace extends SmoothPagedView cl.setShortcutAndWidgetAlpha(1f); } } + if (mState == Workspace.State.NORMAL) { + if (hasCustomContent()) { + mWorkspaceScreens.get(CUSTOM_CONTENT_SCREEN_ID).setVisibility(VISIBLE); + } + } } @Override |