From 9fb88830175054405cca08d4c75f8b5947d0451f Mon Sep 17 00:00:00 2001 From: Tony Wickham Date: Fri, 3 Feb 2023 00:32:28 +0000 Subject: [PATCH] Don't applyState if taskbar is already destroyed Test: Open overview while unfolded, then fold; ensure hotseat remains visible Fixes: 260135164 Change-Id: I788a9a682a7d5fabbea7c478231fc7abe92e95b9 --- .../com/android/launcher3/taskbar/TaskbarActivityContext.java | 4 ++++ .../launcher3/taskbar/TaskbarLauncherStateController.java | 3 +++ 2 files changed, 7 insertions(+) diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java index 8a5b2c5e17..f6c586c45a 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java @@ -550,6 +550,10 @@ public class TaskbarActivityContext extends BaseTaskbarContext { } } + public boolean isDestroyed() { + return mIsDestroyed; + } + public void updateSysuiStateFlags(int systemUiStateFlags, boolean fromInit) { mControllers.navbarButtonsViewController.updateStateForSysuiFlags(systemUiStateFlags, fromInit); diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java index d9773d4081..f1b2bb2faa 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java @@ -247,6 +247,9 @@ import java.util.StringJoiner; } public Animator applyState(long duration, boolean start) { + if (mControllers.taskbarActivityContext.isDestroyed()) { + return null; + } Animator animator = null; if (mPrevState == null || mPrevState != mState) { // If this is our initial state, treat all flags as changed.