diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarControllers.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarControllers.java index ef002fcd85..f24bd28330 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarControllers.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarControllers.java @@ -177,7 +177,8 @@ public class TaskbarControllers { taskbarOverlayController.init(this); taskbarAllAppsController.init(this, sharedState.allAppsVisible); navButtonController.init(this); - bubbleControllers.ifPresent(controllers -> controllers.init(sharedState, this)); + bubbleControllers.ifPresentOrElse(controllers -> controllers.init(sharedState, this), + sharedState::clearBubbleData); taskbarInsetsController.init(this); voiceInteractionWindowController.init(this); taskbarRecentAppsController.init(this, sharedState.recentTasksBeforeTaskbarRecreate); diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarSharedState.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarSharedState.java index d963229bc7..a69df4ad0c 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarSharedState.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarSharedState.java @@ -92,6 +92,16 @@ public class TaskbarSharedState { return bubbleInfoItems != null && !bubbleInfoItems.isEmpty(); } + /** Clears stored bubble bar data. */ + public void clearBubbleData() { + bubbleInfoItems = null; + selectedBubbleKey = null; + bubbleBarLocation = null; + bubbleBarExpanded = false; + bubbleBarStashed = false; + suppressedBubbleInfoItems = null; + } + // LauncherTaskbarUIController#mTaskbarInAppDisplayProgressMultiProp public float[] inAppDisplayProgressMultiPropValues = new float[DISPLAY_PROGRESS_COUNT];