diff --git a/quickstep/src/com/android/launcher3/taskbar/ManageWindowsTaskbarShortcut.kt b/quickstep/src/com/android/launcher3/taskbar/ManageWindowsTaskbarShortcut.kt index c0c2a024b2..50ada18c85 100644 --- a/quickstep/src/com/android/launcher3/taskbar/ManageWindowsTaskbarShortcut.kt +++ b/quickstep/src/com/android/launcher3/taskbar/ManageWindowsTaskbarShortcut.kt @@ -130,6 +130,22 @@ class ManageWindowsTaskbarShortcut( onOutsideClickListener, controllers, ) + + // If the view is removed from elsewhere, reset the state to allow the taskbar to auto-stash + taskbarShortcutAllWindowsView.menuView.rootView.addOnAttachStateChangeListener( + object : View.OnAttachStateChangeListener { + override fun onViewAttachedToWindow(v: View) { + return + } + + override fun onViewDetachedFromWindow(v: View) { + controllers.taskbarAutohideSuspendController.updateFlag( + FLAG_AUTOHIDE_SUSPEND_MULTI_INSTANCE_MENU_OPEN, + false, + ) + } + } + ) } /** @@ -214,7 +230,6 @@ class ManageWindowsTaskbarShortcut( FLAG_AUTOHIDE_SUSPEND_MULTI_INSTANCE_MENU_OPEN, false, ) - controllers.taskbarStashController.updateAndAnimateTransientTaskbar(true) taskbarOverlayContext.dragLayer?.removeView(menuView.rootView) taskbarOverlayContext.dragLayer.removeTouchController(this) }