From 0d3cc4e75ab2749653a448e63a7361b01b4dda03 Mon Sep 17 00:00:00 2001 From: Vania Desmonda Date: Tue, 4 Mar 2025 16:08:50 +0000 Subject: [PATCH] Use the safe `getDisplayId()` API when building the recents desktop task list. This avoids using -1 as the task's display ID and use the default display ID instead. In `TaskbarRecentAppsController#reloadRecentTasksIfNeeded()`, it filters the first DesktopTask instance from allRecentsTask. Previously, the list is built as nested lists with the same deskId = -1. This causes the taskbar to show the running/minimized desktop apps incorrectly. Fixes: 399859320 Fixes: 397956083 Flag: EXEMPT minor bug fix Test: manual testing Change-Id: Ie0a8817fc44dab69523547c79a6dfbcaef25ec20 --- quickstep/src/com/android/quickstep/RecentTasksList.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/quickstep/src/com/android/quickstep/RecentTasksList.java b/quickstep/src/com/android/quickstep/RecentTasksList.java index f506039a1b..ac88e5a5c7 100644 --- a/quickstep/src/com/android/quickstep/RecentTasksList.java +++ b/quickstep/src/com/android/quickstep/RecentTasksList.java @@ -41,6 +41,7 @@ import com.android.launcher3.statehandlers.DesktopVisibilityController; import com.android.launcher3.util.LooperExecutor; import com.android.launcher3.util.SplitConfigurationOptions; import com.android.quickstep.util.DesktopTask; +import com.android.quickstep.util.ExternalDisplaysKt; import com.android.quickstep.util.GroupTask; import com.android.quickstep.util.SingleTask; import com.android.quickstep.util.SplitTask; @@ -460,7 +461,8 @@ public class RecentTasksList { Map> perDisplayTasks = new HashMap<>(); for (TaskInfo taskInfo : recentTaskInfo.getTaskInfoList()) { Task task = createTask(taskInfo, minimizedTaskIds); - List tasks = perDisplayTasks.computeIfAbsent(taskInfo.displayId, + List tasks = perDisplayTasks.computeIfAbsent( + ExternalDisplaysKt.getDisplayId(task), k -> new ArrayList<>()); tasks.add(task); }