diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarManagerImpl.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarManagerImpl.java index a7fd9e22ed..a13f5f96b8 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarManagerImpl.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarManagerImpl.java @@ -293,7 +293,7 @@ public class TaskbarManagerImpl implements DisplayDecorationListener { // get pinned tasks - we care about all tasks, not just the one moved to the front Set taskbarPinnedTasks = entry.getValue().getControllers().taskbarViewController - .getTaskIdsForPinnedApps(); + .getShownTaskIds(); // filter out tasks already marked as perceptible taskbarPinnedTasks.removeAll(mPerceptibleTasks); diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewCallbacks.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewCallbacks.java index ad5770d8c9..59707f50d8 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewCallbacks.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewCallbacks.java @@ -203,7 +203,7 @@ public class TaskbarViewCallbacks { mTaskbarView.getTaskbarOverflowView().getIsActive()); } mControllers.keyboardQuickSwitchController.toggleQuickSwitchViewForTaskbar( - mControllers.taskbarViewController.getTaskIdsForPinnedApps(), + mControllers.taskbarViewController.getShownTaskIds(), this::onKeyboardQuickSwitchViewClosed); } diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java index f5e6f14da7..1a2a977c11 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java @@ -781,21 +781,25 @@ public class TaskbarViewController implements TaskbarControllers.LoggableTaskbar } /** - * @return A set of Task ids of running apps that are pinned in the taskbar. + * @return A set of Task ids shown in the taskbar - includes task ID for running tasks of pinned + * apps, and standalone running tasks. */ - protected Set getTaskIdsForPinnedApps() { + protected Set getShownTaskIds() { if (!ENABLE_TASKBAR_OVERFLOW.isTrue()) { return Collections.emptySet(); } - Set pinnedAppsWithTasks = new HashSet<>(); + Set shownTasks = new HashSet<>(); for (View iconView : getIconViews()) { - if (iconView instanceof BubbleTextView btv - && btv.getTag() instanceof TaskItemInfo itemInfo) { - pinnedAppsWithTasks.add(itemInfo.getTaskId()); + if (iconView instanceof BubbleTextView btv) { + if (btv.getTag() instanceof TaskItemInfo itemInfo) { + shownTasks.add(itemInfo.getTaskId()); + } else if (btv.getTag() instanceof SingleTask task) { + shownTasks.add(task.getTask().getKey().id); + } } } - return pinnedAppsWithTasks; + return shownTasks; } private void updateRunningState(BubbleTextView btv) { diff --git a/quickstep/tests/multivalentTests/src/com/android/launcher3/taskbar/TaskbarOverflowTest.kt b/quickstep/tests/multivalentTests/src/com/android/launcher3/taskbar/TaskbarOverflowTest.kt index 7485b3080b..f4b1521649 100644 --- a/quickstep/tests/multivalentTests/src/com/android/launcher3/taskbar/TaskbarOverflowTest.kt +++ b/quickstep/tests/multivalentTests/src/com/android/launcher3/taskbar/TaskbarOverflowTest.kt @@ -378,7 +378,7 @@ class TaskbarOverflowTest { assertThat(getOnUiThread { keyboardQuickSwitchController.isShownFromTaskbar }).isTrue() assertThat(getOnUiThread { keyboardQuickSwitchController.shownTaskIds() }) - .containsExactlyElementsIn(0..