Remove taskbar window from WindowManager in TaskbarManager.destroy()
When task bar crashes (from anything), task bar window is not cleaned up properly. This is because destroyExistingTaskbar() only removes the root layout from the window when we are no longer rendering task bar (one use case of that is folding the device). We need to clean it up in onDestroy() also.
Fixes: 319105323
Test: adb shell am crash com.android.systemui and make sure there is only one task bar window
Change-Id: Ia9c808e903422707bf4c270b2631fc913dde65d9
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java
index c8719e7..33641a4 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java
@@ -572,6 +572,7 @@
UI_HELPER_EXECUTOR.execute(
() -> mTaskbarBroadcastReceiver.unregisterReceiverSafely(mContext));
destroyExistingTaskbar();
+ removeTaskbarRootViewFromWindow();
if (mUserUnlocked) {
DisplayController.INSTANCE.get(mContext).removeChangeListener(mRecreationListener);
}