From a4d2e5aa19c2b8bd8a4da6f73d5c9d740e169cee Mon Sep 17 00:00:00 2001 From: mpodolian Date: Mon, 12 May 2025 10:01:23 -0700 Subject: [PATCH] Restore taskbar stashed state on the overview screen. Added logic to preserve overview screen state on the taskbar. Fixes: 416418164 Test: Manual. Go to overview with the bubble bar. Expand bubble bar. Rotate device. Observe the taskbar remains stashed. Flag: EXEMPT bug-fix Change-Id: I197c1b7f20b23a6b2a343b18b4da0aa45beb8c52 --- .../src/com/android/launcher3/taskbar/TaskbarSharedState.java | 2 ++ .../com/android/launcher3/taskbar/TaskbarStashController.java | 2 ++ 2 files changed, 4 insertions(+) diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarSharedState.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarSharedState.java index d963229bc7..d5bf03e4ea 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarSharedState.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarSharedState.java @@ -49,6 +49,8 @@ public class TaskbarSharedState { // TaskbarManager#onSystemUiFlagsChanged @SystemUiStateFlags public long sysuiStateFlags; + // TaskBarStashController#init() + public boolean isTaskbarOnOverview; // TaskbarManager#disableNavBarElements() public int disableNavBarDisplayId; diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java index 0b9a5c653b..bcc1ef8000 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java @@ -365,6 +365,7 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba // For now, assume we're in an app, since LauncherTaskbarUIController won't be able to tell // us that we're paused until a bit later. This avoids flickering upon recreating taskbar. updateStateForFlag(FLAG_IN_APP, true); + updateStateForFlag(FLAG_IN_OVERVIEW, mTaskbarSharedState.isTaskbarOnOverview); updateStateForFlag(FLAG_STASHED_BUBBLE_BAR_ON_PHONE, mActivity.isBubbleBarOnPhone()); applyState(/* duration = */ 0); @@ -1358,6 +1359,7 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba mAnimator.cancel(); mAnimator = null; } + mTaskbarSharedState.isTaskbarOnOverview = hasAnyFlag(FLAG_IN_OVERVIEW); UI_HELPER_EXECUTOR.execute( () -> mAccessibilityManager.unregisterSystemAction(SYSTEM_ACTION_ID_TASKBAR)); }