From 835ccc58e04cf5e9b2a1a9afe0b3e4552be95398 Mon Sep 17 00:00:00 2001 From: Alex Chau Date: Mon, 16 Jan 2023 18:20:27 +0000 Subject: [PATCH] Close Taskbar AllApps when going from overview to home - Also trigger closeAllOpenViews when changing state to NORMAL Fix: 265689318 Test: manual Change-Id: I109c0f3a3c741844c8747bd76a6c38bf301ec737 --- .../taskbar/TaskbarLauncherStateController.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java index 4ad3858de1..3496b2b049 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java @@ -258,8 +258,9 @@ import java.util.StringJoiner; } private Animator onStateChangeApplied(int changedFlags, long duration, boolean start) { - boolean goingToLauncher = isInLauncher(); + final boolean goingToLauncher = isInLauncher(); final float toAlignment = isIconAlignedWithHotseat() ? 1 : 0; + boolean handleOpenFloatingViews = false; if (DEBUG) { Log.d(TAG, "onStateChangeApplied - mState: " + getStateString(mState) + ", changedFlags: " + getStateString(changedFlags) @@ -280,6 +281,10 @@ import java.util.StringJoiner; updateStateForFlag(FLAG_RESUMED, false); applyState(0 /* duration */); } + if (mLauncherState == LauncherState.NORMAL) { + // We're changing state to home, should close open popups e.g. Taskbar AllApps + handleOpenFloatingViews = true; + } } if (hasAnyFlag(changedFlags, FLAGS_LAUNCHER)) { @@ -303,10 +308,11 @@ import java.util.StringJoiner; } }); - if (goingToLauncher) { - // Handle closing open popups when going home/overview - AbstractFloatingView.closeAllOpenViews(mControllers.taskbarActivityContext); - } + // Handle closing open popups when going home/overview + handleOpenFloatingViews = true; + } + if (handleOpenFloatingViews && goingToLauncher) { + AbstractFloatingView.closeAllOpenViews(mControllers.taskbarActivityContext); } float backgroundAlpha =