Remove desktop tile from recents for proto 1
When desktop windowing proto 1 is enabled, remove the grouped desktop tile from recents. Each task will show up separately. Bug: 266711786 Test: atest RecentTasksControllerTest Change-Id: Iabe9dcc5800b2589556a6005f8cb1a715104f755
This commit is contained in:
@@ -308,7 +308,6 @@ public class RecentTasksController implements TaskStackListenerCallback,
|
||||
rawMapping.put(taskInfo.taskId, taskInfo);
|
||||
}
|
||||
|
||||
boolean desktopModeActive = DesktopModeStatus.isActive(mContext);
|
||||
ArrayList<ActivityManager.RecentTaskInfo> freeformTasks = new ArrayList<>();
|
||||
|
||||
// Pull out the pairs as we iterate back in the list
|
||||
@@ -320,7 +319,7 @@ public class RecentTasksController implements TaskStackListenerCallback,
|
||||
continue;
|
||||
}
|
||||
|
||||
if (desktopModeActive && mDesktopModeTaskRepository.isPresent()
|
||||
if (DesktopModeStatus.isProto2Enabled() && mDesktopModeTaskRepository.isPresent()
|
||||
&& mDesktopModeTaskRepository.get().isActiveTask(taskInfo.taskId)) {
|
||||
// Freeform tasks will be added as a separate entry
|
||||
freeformTasks.add(taskInfo);
|
||||
@@ -328,7 +327,7 @@ public class RecentTasksController implements TaskStackListenerCallback,
|
||||
}
|
||||
|
||||
final int pairedTaskId = mSplitTasks.get(taskInfo.taskId);
|
||||
if (!desktopModeActive && pairedTaskId != INVALID_TASK_ID && rawMapping.contains(
|
||||
if (pairedTaskId != INVALID_TASK_ID && rawMapping.contains(
|
||||
pairedTaskId)) {
|
||||
final ActivityManager.RecentTaskInfo pairedTaskInfo = rawMapping.get(pairedTaskId);
|
||||
rawMapping.remove(pairedTaskId);
|
||||
|
||||
@@ -253,10 +253,10 @@ public class RecentTasksControllerTest extends ShellTestCase {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetRecentTasks_groupActiveFreeformTasks() {
|
||||
public void testGetRecentTasks_hasActiveDesktopTasks_proto2Enabled_groupFreeformTasks() {
|
||||
StaticMockitoSession mockitoSession = mockitoSession().mockStatic(
|
||||
DesktopModeStatus.class).startMocking();
|
||||
when(DesktopModeStatus.isActive(any())).thenReturn(true);
|
||||
when(DesktopModeStatus.isProto2Enabled()).thenReturn(true);
|
||||
|
||||
ActivityManager.RecentTaskInfo t1 = makeTaskInfo(1);
|
||||
ActivityManager.RecentTaskInfo t2 = makeTaskInfo(2);
|
||||
@@ -292,6 +292,39 @@ public class RecentTasksControllerTest extends ShellTestCase {
|
||||
mockitoSession.finishMocking();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetRecentTasks_hasActiveDesktopTasks_proto2Disabled_doNotGroupFreeformTasks() {
|
||||
StaticMockitoSession mockitoSession = mockitoSession().mockStatic(
|
||||
DesktopModeStatus.class).startMocking();
|
||||
when(DesktopModeStatus.isProto2Enabled()).thenReturn(false);
|
||||
|
||||
ActivityManager.RecentTaskInfo t1 = makeTaskInfo(1);
|
||||
ActivityManager.RecentTaskInfo t2 = makeTaskInfo(2);
|
||||
ActivityManager.RecentTaskInfo t3 = makeTaskInfo(3);
|
||||
ActivityManager.RecentTaskInfo t4 = makeTaskInfo(4);
|
||||
setRawList(t1, t2, t3, t4);
|
||||
|
||||
when(mDesktopModeTaskRepository.isActiveTask(1)).thenReturn(true);
|
||||
when(mDesktopModeTaskRepository.isActiveTask(3)).thenReturn(true);
|
||||
|
||||
ArrayList<GroupedRecentTaskInfo> recentTasks = mRecentTasksController.getRecentTasks(
|
||||
MAX_VALUE, RECENT_IGNORE_UNAVAILABLE, 0);
|
||||
|
||||
// Expect no grouping of tasks
|
||||
assertEquals(4, recentTasks.size());
|
||||
assertEquals(GroupedRecentTaskInfo.TYPE_SINGLE, recentTasks.get(0).getType());
|
||||
assertEquals(GroupedRecentTaskInfo.TYPE_SINGLE, recentTasks.get(1).getType());
|
||||
assertEquals(GroupedRecentTaskInfo.TYPE_SINGLE, recentTasks.get(2).getType());
|
||||
assertEquals(GroupedRecentTaskInfo.TYPE_SINGLE, recentTasks.get(3).getType());
|
||||
|
||||
assertEquals(t1, recentTasks.get(0).getTaskInfo1());
|
||||
assertEquals(t2, recentTasks.get(1).getTaskInfo1());
|
||||
assertEquals(t3, recentTasks.get(2).getTaskInfo1());
|
||||
assertEquals(t4, recentTasks.get(3).getTaskInfo1());
|
||||
|
||||
mockitoSession.finishMocking();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRemovedTaskRemovesSplit() {
|
||||
ActivityManager.RecentTaskInfo t1 = makeTaskInfo(1);
|
||||
|
||||
Reference in New Issue
Block a user