Merge "Remove some usages of GroupTask.task2" into main

This commit is contained in:
Treehugger Robot
2025-01-14 17:03:25 -08:00
committed by Android (Google) Code Review
8 changed files with 43 additions and 53 deletions
@@ -349,15 +349,12 @@ public final class KeyboardQuickSwitchController implements
pw.println(prefix + "\tmWasDesktopTaskFilteredOut=" + mWasDesktopTaskFilteredOut);
pw.println(prefix + "\tmTasks=[");
for (GroupTask task : mTasks) {
Task task1 = task.task1;
Task task2 = task.task2;
ComponentName cn1 = task1.getTopComponent();
ComponentName cn2 = task2 != null ? task2.getTopComponent() : null;
pw.println(prefix + "\t\tt1: (id=" + task1.key.id
+ "; package=" + (cn1 != null ? cn1.getPackageName() + ")" : "no package)")
+ " t2: (id=" + (task2 != null ? task2.key.id : "-1")
+ "; package=" + (cn2 != null ? cn2.getPackageName() + ")"
: "no package)"));
int count = 0;
for (Task t : task.getTasks()) {
ComponentName cn = t.getTopComponent();
pw.println(prefix + "\t\tt" + (++count) + ": (id=" + t.key.id
+ "; package=" + (cn != null ? cn.getPackageName() + ")" : "no package)"));
}
}
pw.println(prefix + "\t]");
@@ -411,10 +408,7 @@ public final class KeyboardQuickSwitchController implements
return false;
}
int runningTaskId = ActivityManagerWrapper.getInstance().getRunningTask().taskId;
Task task2 = task.task2;
return runningTaskId == task.task1.key.id
|| (task2 != null && runningTaskId == task2.key.id);
return task.containsTask(runningTaskId);
}
boolean isFirstTaskRunning() {
@@ -19,6 +19,7 @@ import com.android.quickstep.util.LayoutUtils;
import com.android.quickstep.util.TISBindHelper;
import com.android.quickstep.views.RecentsView;
import com.android.quickstep.views.RecentsViewContainer;
import com.android.systemui.shared.recents.model.Task;
import java.util.ArrayList;
import java.util.concurrent.CountDownLatch;
@@ -44,11 +45,9 @@ public class QuickstepTestInformationHandler extends TestInformationHandler {
CountDownLatch latch = new CountDownLatch(1);
RecentsModel.INSTANCE.get(mContext).getTasks((taskGroups) -> {
for (GroupTask group : taskGroups) {
taskBaseIntentComponents.add(
group.task1.key.baseIntent.getComponent().flattenToString());
if (group.task2 != null) {
for (Task t : group.getTasks()) {
taskBaseIntentComponents.add(
group.task2.key.baseIntent.getComponent().flattenToString());
t.key.baseIntent.getComponent().flattenToString());
}
}
latch.countDown();
@@ -422,14 +422,12 @@ public class RecentTasksList {
writer.println(prefix + " mChangeId=" + mChangeId);
writer.println(prefix + " mResultsUi=[id=" + mResultsUi.mRequestId + ", tasks=");
for (GroupTask task : mResultsUi) {
Task task1 = task.task1;
Task task2 = task.task2;
ComponentName cn1 = task1.getTopComponent();
ComponentName cn2 = task2 != null ? task2.getTopComponent() : null;
writer.println(prefix + " t1: (id=" + task1.key.id
+ "; package=" + (cn1 != null ? cn1.getPackageName() + ")" : "no package)")
+ " t2: (id=" + (task2 != null ? task2.key.id : "-1")
+ "; package=" + (cn2 != null ? cn2.getPackageName() + ")" : "no package)"));
int count = 0;
for (Task t : task.getTasks()) {
ComponentName cn = t.getTopComponent();
writer.println(prefix + " t" + (++count) + ": (id=" + t.key.id
+ "; package=" + (cn != null ? cn.getPackageName() + ")" : "no package)"));
}
}
writer.println(prefix + " ]");
int currentUserId = Process.myUserHandle().getIdentifier();
@@ -19,6 +19,7 @@ package com.android.quickstep;
import androidx.annotation.Nullable;
import com.android.quickstep.util.GroupTask;
import com.android.systemui.shared.recents.model.Task;
import java.util.HashMap;
import java.util.List;
@@ -122,9 +123,7 @@ public class RecentsFilterState {
return DEFAULT_FILTER;
}
return (groupTask) -> (groupTask.task2 != null
&& groupTask.task2.key.getPackageName().equals(packageName))
|| groupTask.task1.key.getPackageName().equals(packageName);
return (groupTask) -> (groupTask.containsPackage(packageName));
}
/**
@@ -136,17 +135,9 @@ public class RecentsFilterState {
Map<String, Integer> instanceCountMap = new HashMap<>();
for (GroupTask groupTask : groupTasks) {
final String firstTaskPkgName = groupTask.task1.key.getPackageName();
final String secondTaskPkgName =
groupTask.task2 == null ? null : groupTask.task2.key.getPackageName();
// increment the instance count for the first task's base activity package name
incrementOrAddIfNotExists(instanceCountMap, firstTaskPkgName);
// check if second task is non existent
if (secondTaskPkgName != null) {
// increment the instance count for the second task's base activity package name
incrementOrAddIfNotExists(instanceCountMap, secondTaskPkgName);
for (Task t : groupTask.getTasks()) {
final String taskPkgName = t.key.getPackageName();
incrementOrAddIfNotExists(instanceCountMap, taskPkgName);
}
}
@@ -239,8 +239,8 @@ public class RecentsModel implements RecentTasksDataSource, TaskStackChangeListe
// time the user next enters overview
continue;
}
mThumbnailCache.updateThumbnailInCache(group.task1, /* lowResolution= */ true);
mThumbnailCache.updateThumbnailInCache(group.task2, /* lowResolution= */ true);
group.getTasks().forEach(
t -> mThumbnailCache.updateThumbnailInCache(t, /* lowResolution= */ true));
}
});
}
@@ -374,8 +374,8 @@ public class RecentsModel implements RecentTasksDataSource, TaskStackChangeListe
mTaskList.getTaskKeys(mThumbnailCache.getCacheSize(), taskGroups -> {
for (GroupTask group : taskGroups) {
mThumbnailCache.updateThumbnailInCache(group.task1, /* lowResolution= */ false);
mThumbnailCache.updateThumbnailInCache(group.task2, /* lowResolution= */ false);
group.getTasks().forEach(
t -> mThumbnailCache.updateThumbnailInCache(t, /* lowResolution= */ false));
}
});
}
@@ -28,8 +28,8 @@ import java.util.Objects
open class GroupTask
@VisibleForTesting(otherwise = VisibleForTesting.PROTECTED)
constructor(
@JvmField val task1: Task,
@JvmField val task2: Task?,
@Deprecated("Prefer using `getTasks()` instead") @JvmField val task1: Task,
@Deprecated("Prefer using `getTasks()` instead") @JvmField val task2: Task?,
@JvmField val mSplitBounds: SplitConfigurationOptions.SplitBounds?,
@JvmField val taskViewType: TaskViewType,
) {
@@ -44,6 +44,11 @@ constructor(
open fun containsTask(taskId: Int) =
task1.key.id == taskId || (task2 != null && task2.key.id == taskId)
/**
* Returns true if a task in this group has a package name that matches the given `packageName`.
*/
fun containsPackage(packageName: String) = tasks.any { it.key.packageName == packageName }
open fun hasMultipleTasks() = task2 != null
/** Returns whether this task supports multiple tasks or not. */
@@ -102,8 +102,7 @@ public class RecentTasksListTest {
true);
assertEquals(1, taskList.size());
assertNull(taskList.get(0).task1.taskDescription.getLabel());
assertNull(taskList.get(0).task2.taskDescription.getLabel());
taskList.get(0).getTasks().forEach(t -> assertNull(t.taskDescription.getLabel()));
}
@Test
@@ -133,8 +132,10 @@ public class RecentTasksListTest {
false);
assertEquals(1, taskList.size());
assertEquals(taskDescription, taskList.get(0).task1.taskDescription.getLabel());
assertNull(taskList.get(0).task2.taskDescription.getLabel());
var tasks = taskList.get(0).getTasks();
assertEquals(2, tasks.size());
assertEquals(taskDescription, tasks.get(0).taskDescription.getLabel());
assertNull(tasks.get(1).taskDescription.getLabel());
}
@Test
@@ -112,10 +112,12 @@ public class RecentsModelTest {
.updateThumbnailInCache(taskArgs.capture(), /* lowResolution= */ eq(false));
GroupTask expectedGroupTask = mTaskResult.get(0);
assertThat(taskArgs.getAllValues().get(0)).isEqualTo(
expectedGroupTask.task1);
assertThat(taskArgs.getAllValues().get(1)).isEqualTo(
expectedGroupTask.task2);
var taskArgsValues = taskArgs.getAllValues();
var expectedTasks = expectedGroupTask.getTasks();
assertThat(taskArgsValues.size()).isEqualTo(expectedTasks.size());
for (int i = 0; i < expectedTasks.size(); ++i) {
assertThat(taskArgsValues.get(i)).isEqualTo(expectedTasks.get(i));
}
}
@Test