diff --git a/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java b/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java index b74964ceae..fdef39f2eb 100644 --- a/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java +++ b/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java @@ -93,15 +93,14 @@ public class LauncherTaskbarUIController extends TaskbarUIController { protected void init(TaskbarControllers taskbarControllers) { super.init(taskbarControllers); - mTaskbarLauncherStateController.init(mControllers, mLauncher); + mTaskbarLauncherStateController.init(mControllers, mLauncher, + mControllers.getSharedState().sysuiStateFlags); mLauncher.setTaskbarUIController(this); onLauncherResumedOrPaused(mLauncher.hasBeenResumed(), true /* fromInit */); onStashedInAppChanged(mLauncher.getDeviceProfile()); - mTaskbarLauncherStateController.updateStateForSysuiFlags( - mControllers.getSharedState().sysuiStateFlags, true /* fromInit */); mLauncher.addOnDeviceProfileChangeListener(mOnDeviceProfileChangeListener); // Restore the in-app display progress from before Taskbar was recreated. @@ -325,8 +324,8 @@ public class LauncherTaskbarUIController extends TaskbarUIController { } @Override - public void updateStateForSysuiFlags(int sysuiFlags, boolean skipAnim) { - mTaskbarLauncherStateController.updateStateForSysuiFlags(sysuiFlags, skipAnim); + public void updateStateForSysuiFlags(int sysuiFlags) { + mTaskbarLauncherStateController.updateStateForSysuiFlags(sysuiFlags); } @Override diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java index 5c53b5f844..c48d06252c 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java @@ -592,7 +592,7 @@ public class TaskbarActivityContext extends BaseTaskbarContext { mControllers.voiceInteractionWindowController.setIsVoiceInteractionWindowVisible( (systemUiStateFlags & SYSUI_STATE_VOICE_INTERACTION_WINDOW_SHOWING) != 0, fromInit); - mControllers.uiController.updateStateForSysuiFlags(systemUiStateFlags, fromInit); + mControllers.uiController.updateStateForSysuiFlags(systemUiStateFlags); } /** diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java index 9bc8cdd44b..59b5e743f6 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java @@ -210,7 +210,9 @@ public class TaskbarLauncherStateController { } }; - public void init(TaskbarControllers controllers, QuickstepLauncher launcher) { + /** Initializes the controller instance, and applies the initial state immediately. */ + public void init(TaskbarControllers controllers, QuickstepLauncher launcher, + int sysuiStateFlags) { mCanSyncViews = false; mControllers = controllers; @@ -229,6 +231,8 @@ public class TaskbarLauncherStateController { mLauncher.getStateManager().addStateListener(mStateListener); mLauncherState = launcher.getStateManager().getState(); + updateStateForSysuiFlags(sysuiStateFlags, /*applyState*/ false); + applyState(0); mCanSyncViews = true; @@ -298,7 +302,11 @@ public class TaskbarLauncherStateController { } /** SysUI flags updated, see QuickStepContract.SYSUI_STATE_* values. */ - public void updateStateForSysuiFlags(int systemUiStateFlags, boolean skipAnim) { + public void updateStateForSysuiFlags(int systemUiStateFlags) { + updateStateForSysuiFlags(systemUiStateFlags, /* applyState */ true); + } + + private void updateStateForSysuiFlags(int systemUiStateFlags, boolean applyState) { final boolean prevIsAwake = hasAnyFlag(FLAG_AWAKE); final boolean currIsAwake = hasAnyFlag(systemUiStateFlags, SYSUI_STATE_AWAKE); @@ -322,9 +330,7 @@ public class TaskbarLauncherStateController { || (systemUiStateFlags & SYSUI_STATE_WAKEFULNESS_MASK) != WAKEFULNESS_AWAKE; updateStateForFlag(FLAG_TASKBAR_HIDDEN, isTaskbarHidden); - if (skipAnim) { - applyState(0); - } else { + if (applyState) { applyState(); } } @@ -361,10 +367,6 @@ public class TaskbarLauncherStateController { applyState(duration, true); } - public Animator applyState(boolean start) { - return applyState(mControllers.taskbarStashController.getStashDuration(), start); - } - public Animator applyState(long duration, boolean start) { if (mControllers.taskbarActivityContext.isDestroyed()) { return null; @@ -420,7 +422,7 @@ public class TaskbarLauncherStateController { } } - if (hasAnyFlag(changedFlags, FLAGS_LAUNCHER_ACTIVE | FLAG_AWAKE)) { + if (hasAnyFlag(changedFlags, FLAGS_LAUNCHER_ACTIVE)) { animatorSet.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationStart(Animator animation) { diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarUIController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarUIController.java index 1435cb0996..f3e2ee2e9d 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarUIController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarUIController.java @@ -127,7 +127,7 @@ public class TaskbarUIController { /** * SysUI flags updated, see QuickStepContract.SYSUI_STATE_* values. */ - public void updateStateForSysuiFlags(int sysuiFlags, boolean skipAnim){ + public void updateStateForSysuiFlags(int sysuiFlags) { } /** diff --git a/quickstep/src/com/android/quickstep/RecentsAnimationDeviceState.java b/quickstep/src/com/android/quickstep/RecentsAnimationDeviceState.java index 9a23557fdf..d3e4ce5db8 100644 --- a/quickstep/src/com/android/quickstep/RecentsAnimationDeviceState.java +++ b/quickstep/src/com/android/quickstep/RecentsAnimationDeviceState.java @@ -98,7 +98,7 @@ public class RecentsAnimationDeviceState implements DisplayInfoChangeListener { private final ArrayList mOnDestroyActions = new ArrayList<>(); - private @SystemUiStateFlags int mSystemUiStateFlags; + private @SystemUiStateFlags int mSystemUiStateFlags = QuickStepContract.SYSUI_STATE_AWAKE; private NavigationMode mMode = THREE_BUTTONS; private NavBarPosition mNavBarPosition;