Merge "[CD Taskbar] Stop External Taskbar Destruction on Window Close" into main
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java
index e8852e2..b5e271d 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java
@@ -196,13 +196,12 @@
private class RecreationListener implements DisplayController.DisplayInfoChangeListener {
@Override
public void onDisplayInfoChanged(Context context, DisplayController.Info info, int flags) {
+ int displayId = context.getDisplayId();
if ((flags & CHANGE_DENSITY) != 0) {
- debugTaskbarManager("onDisplayInfoChanged: Display density changed",
- context.getDisplayId());
+ debugTaskbarManager("onDisplayInfoChanged: Display density changed", displayId);
}
if ((flags & CHANGE_NAVIGATION_MODE) != 0) {
- debugTaskbarManager("onDisplayInfoChanged: Navigation mode changed",
- context.getDisplayId());
+ debugTaskbarManager("onDisplayInfoChanged: Navigation mode changed", displayId);
}
if ((flags & CHANGE_DESKTOP_MODE) != 0) {
debugTaskbarManager("onDisplayInfoChanged: Desktop mode changed",
@@ -210,16 +209,16 @@
handleDisplayUpdatesForPerceptibleTasks();
}
if ((flags & CHANGE_TASKBAR_PINNING) != 0) {
- debugTaskbarManager("onDisplayInfoChanged: Taskbar pinning changed",
- context.getDisplayId());
+ debugTaskbarManager("onDisplayInfoChanged: Taskbar pinning changed", displayId);
}
if ((flags & (CHANGE_DENSITY | CHANGE_NAVIGATION_MODE | CHANGE_DESKTOP_MODE
| CHANGE_TASKBAR_PINNING | CHANGE_SHOW_LOCKED_TASKBAR)) != 0) {
- debugTaskbarManager("onDisplayInfoChanged: Recreating Taskbar!",
- context.getDisplayId());
+
TaskbarActivityContext taskbarActivityContext = getCurrentActivityContext();
if ((flags & CHANGE_SHOW_LOCKED_TASKBAR) != 0) {
+ debugTaskbarManager("onDisplayInfoChanged: show locked taskbar changed!",
+ displayId);
recreateTaskbars();
} else if ((flags & CHANGE_DESKTOP_MODE) != 0) {
if (mShouldIgnoreNextDesktopModeChangeFromDisplayController) {
@@ -314,6 +313,11 @@
public void onExitDesktopMode(int duration) {
for (int taskbarIndex = 0; taskbarIndex < mTaskbars.size(); taskbarIndex++) {
int displayId = mTaskbars.keyAt(taskbarIndex);
+ if (DesktopExperienceFlags.ENABLE_TASKBAR_CONNECTED_DISPLAYS.isTrue()
+ && !isDefaultDisplay(displayId)) {
+ continue;
+ }
+
TaskbarActivityContext taskbarActivityContext = getTaskbarForDisplay(
displayId);
if (taskbarActivityContext != null
@@ -333,6 +337,11 @@
public void onEnterDesktopMode(int duration) {
for (int taskbarIndex = 0; taskbarIndex < mTaskbars.size(); taskbarIndex++) {
int displayId = mTaskbars.keyAt(taskbarIndex);
+ if (DesktopExperienceFlags.ENABLE_TASKBAR_CONNECTED_DISPLAYS.isTrue()
+ && !isDefaultDisplay(displayId)) {
+ continue;
+ }
+
TaskbarActivityContext taskbarActivityContext = getTaskbarForDisplay(
displayId);
if (taskbarActivityContext != null) {