diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarController.java index de23ad2efa..c4cbf8b761 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarController.java @@ -88,7 +88,6 @@ public class TaskbarController { private @Nullable Animator mAnimator; private boolean mIsAnimatingToLauncher; - private boolean mIsAnimatingToApp; public TaskbarController(BaseQuickstepLauncher launcher, TaskbarContainerView taskbarContainerView, TaskbarView taskbarViewOnHome) { @@ -250,7 +249,9 @@ public class TaskbarController { mHotseatController.init(); mRecentsController.init(); - updateWhichTaskbarViewIsVisible(); + setWhichTaskbarViewIsVisible(mLauncher.hasBeenResumed() + ? mTaskbarViewOnHome + : mTaskbarViewInApp); } private TaskbarStateHandlerCallbacks createTaskbarStateHandlerCallbacks() { @@ -284,6 +285,8 @@ public class TaskbarController { mTaskbarAnimationController.cleanup(); mHotseatController.cleanup(); mRecentsController.cleanup(); + + setWhichTaskbarViewIsVisible(null); } private void removeFromWindowManager() { @@ -364,7 +367,7 @@ public class TaskbarController { @Override public void onAnimationEnd(Animator animation) { mIsAnimatingToLauncher = false; - updateWhichTaskbarViewIsVisible(); + setWhichTaskbarViewIsVisible(mTaskbarViewOnHome); } }); @@ -377,14 +380,12 @@ public class TaskbarController { anim.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationStart(Animator animation) { - mIsAnimatingToApp = true; mTaskbarViewInApp.updateHotseatItemsVisibility(); - updateWhichTaskbarViewIsVisible(); + setWhichTaskbarViewIsVisible(mTaskbarViewInApp); } @Override public void onAnimationEnd(Animator animation) { - mIsAnimatingToApp = false; } }); return anim.buildAnim(); @@ -487,18 +488,12 @@ public class TaskbarController { mTaskbarViewOnHome.getHeight() - hotseatBounds.bottom); } - private void updateWhichTaskbarViewIsVisible() { - boolean isInApp = !mLauncher.hasBeenResumed() || mIsAnimatingToLauncher - || mIsAnimatingToApp; - if (isInApp) { - mTaskbarViewInApp.setVisibility(View.VISIBLE); - mTaskbarViewOnHome.setVisibility(View.INVISIBLE); - mLauncher.getHotseat().setIconsAlpha(0); - } else { - mTaskbarViewInApp.setVisibility(View.INVISIBLE); - mTaskbarViewOnHome.setVisibility(View.VISIBLE); - mLauncher.getHotseat().setIconsAlpha(1); - } + private void setWhichTaskbarViewIsVisible(@Nullable TaskbarView visibleTaskbar) { + mTaskbarViewInApp.setVisibility(visibleTaskbar == mTaskbarViewInApp + ? View.VISIBLE : View.INVISIBLE); + mTaskbarViewOnHome.setVisibility(visibleTaskbar == mTaskbarViewOnHome + ? View.VISIBLE : View.INVISIBLE); + mLauncher.getHotseat().setIconsAlpha(visibleTaskbar != mTaskbarViewInApp ? 1f : 0f); } /**