From 461c3b3bd034c0293c984472628f9c9847dba29c Mon Sep 17 00:00:00 2001 From: Ats Jenk Date: Wed, 31 Aug 2022 16:43:40 -0700 Subject: [PATCH] Filter out active freeform tasks from recents Freeform tasks will show up as a separate, single tile in recents. Filtering them out right now. Bug: 244348395 Test: atest RecentTasksControllerTest RecentTasksListTest Change-Id: Ifb197031076a8d8934cea78c6b68cb059477a81a --- .../com/android/quickstep/RecentTasksList.java | 16 ++++++++++------ .../android/quickstep/RecentTasksListTest.java | 6 +++--- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/quickstep/src/com/android/quickstep/RecentTasksList.java b/quickstep/src/com/android/quickstep/RecentTasksList.java index 813e687f34..5a9862ce0f 100644 --- a/quickstep/src/com/android/quickstep/RecentTasksList.java +++ b/quickstep/src/com/android/quickstep/RecentTasksList.java @@ -27,9 +27,9 @@ import android.util.SparseBooleanArray; import androidx.annotation.VisibleForTesting; -import com.android.quickstep.util.GroupTask; import com.android.launcher3.util.LooperExecutor; import com.android.launcher3.util.SplitConfigurationOptions; +import com.android.quickstep.util.GroupTask; import com.android.systemui.shared.recents.model.Task; import com.android.systemui.shared.system.KeyguardManagerCompat; import com.android.wm.shell.recents.IRecentTasksListener; @@ -254,8 +254,12 @@ public class RecentTasksList { TaskLoadResult allTasks = new TaskLoadResult(requestId, loadKeysOnly, rawTasks.size()); for (GroupedRecentTaskInfo rawTask : rawTasks) { - ActivityManager.RecentTaskInfo taskInfo1 = rawTask.mTaskInfo1; - ActivityManager.RecentTaskInfo taskInfo2 = rawTask.mTaskInfo2; + if (rawTask.getType() == GroupedRecentTaskInfo.TYPE_FREEFORM) { + // TODO: add entry for freeform tasks + continue; + } + ActivityManager.RecentTaskInfo taskInfo1 = rawTask.getTaskInfo1(); + ActivityManager.RecentTaskInfo taskInfo2 = rawTask.getTaskInfo2(); Task.TaskKey task1Key = new Task.TaskKey(taskInfo1); Task task1 = loadKeysOnly ? new Task(task1Key) @@ -272,7 +276,7 @@ public class RecentTasksList { task2.setLastSnapshotData(taskInfo2); } final SplitConfigurationOptions.SplitBounds launcherSplitBounds = - convertSplitBounds(rawTask.mSplitBounds); + convertSplitBounds(rawTask.getSplitBounds()); allTasks.add(new GroupTask(task1, task2, launcherSplitBounds)); } @@ -310,8 +314,8 @@ public class RecentTasksList { mSysUiProxy.getRecentTasks(Integer.MAX_VALUE, currentUserId); writer.println(prefix + " rawTasks=["); for (GroupedRecentTaskInfo task : rawTasks) { - writer.println(prefix + " t1=" + task.mTaskInfo1.taskId - + " t2=" + (task.mTaskInfo2 != null ? task.mTaskInfo2.taskId : "-1")); + writer.println(prefix + " t1=" + task.getTaskInfo1().taskId + + " t2=" + (task.getTaskInfo2() != null ? task.getTaskInfo2().taskId : "-1")); } writer.println(prefix + " ]"); } diff --git a/quickstep/tests/src/com/android/quickstep/RecentTasksListTest.java b/quickstep/tests/src/com/android/quickstep/RecentTasksListTest.java index 4e497163b5..262dc37e75 100644 --- a/quickstep/tests/src/com/android/quickstep/RecentTasksListTest.java +++ b/quickstep/tests/src/com/android/quickstep/RecentTasksListTest.java @@ -70,7 +70,7 @@ public class RecentTasksListTest { @Test public void loadTasksInBackground_onlyKeys_noValidTaskDescription() { - GroupedRecentTaskInfo recentTaskInfos = new GroupedRecentTaskInfo( + GroupedRecentTaskInfo recentTaskInfos = GroupedRecentTaskInfo.forSplitTasks( new ActivityManager.RecentTaskInfo(), new ActivityManager.RecentTaskInfo(), null); when(mockSystemUiProxy.getRecentTasks(anyInt(), anyInt())) .thenReturn(new ArrayList<>(Collections.singletonList(recentTaskInfos))); @@ -90,8 +90,8 @@ public class RecentTasksListTest { task1.taskDescription = new ActivityManager.TaskDescription(taskDescription); ActivityManager.RecentTaskInfo task2 = new ActivityManager.RecentTaskInfo(); task2.taskDescription = new ActivityManager.TaskDescription(); - GroupedRecentTaskInfo recentTaskInfos = new GroupedRecentTaskInfo( - task1, task2, null); + GroupedRecentTaskInfo recentTaskInfos = GroupedRecentTaskInfo.forSplitTasks(task1, task2, + null); when(mockSystemUiProxy.getRecentTasks(anyInt(), anyInt())) .thenReturn(new ArrayList<>(Collections.singletonList(recentTaskInfos)));