Loading services/core/java/com/android/server/am/RecentTasks.java +1 −1 Original line number Diff line number Diff line Loading @@ -1255,7 +1255,7 @@ class RecentTasks { for (int i = 0; i < recentsCount; i++) { final TaskRecord tr = mTasks.get(i); if (task != tr) { if (!task.hasCompatibleActivityType(tr)) { if (!task.hasCompatibleActivityType(tr) || task.userId != tr.userId) { continue; } final Intent trIntent = tr.intent; Loading services/tests/servicestests/src/com/android/server/am/RecentTasksTest.java +27 −0 Original line number Diff line number Diff line Loading @@ -326,6 +326,33 @@ public class RecentTasksTest extends ActivityTestsBase { assertTrue(mCallbacksRecorder.removed.contains(task1)); } @Test public void testAddTaskCompatibleActivityTypeDifferentUser_expectNoRemove() throws Exception { Configuration config1 = new Configuration(); config1.windowConfiguration.setActivityType(ACTIVITY_TYPE_UNDEFINED); TaskRecord task1 = createTaskBuilder(".Task1") .setFlags(FLAG_ACTIVITY_NEW_TASK) .setStack(mStack) .setUserId(TEST_USER_0_ID) .build(); task1.onConfigurationChanged(config1); assertTrue(task1.getActivityType() == ACTIVITY_TYPE_UNDEFINED); mRecentTasks.add(task1); mCallbacksRecorder.clear(); TaskRecord task2 = createTaskBuilder(".Task1") .setFlags(FLAG_ACTIVITY_NEW_TASK) .setStack(mStack) .setUserId(TEST_USER_1_ID) .build(); assertTrue(task2.getActivityType() == ACTIVITY_TYPE_STANDARD); mRecentTasks.add(task2); assertTrue(mCallbacksRecorder.added.size() == 1); assertTrue(mCallbacksRecorder.added.contains(task2)); assertTrue(mCallbacksRecorder.trimmed.isEmpty()); assertTrue(mCallbacksRecorder.removed.isEmpty()); } @Test public void testUsersTasks() throws Exception { mRecentTasks.setOnlyTestVisibleRange(); Loading Loading
services/core/java/com/android/server/am/RecentTasks.java +1 −1 Original line number Diff line number Diff line Loading @@ -1255,7 +1255,7 @@ class RecentTasks { for (int i = 0; i < recentsCount; i++) { final TaskRecord tr = mTasks.get(i); if (task != tr) { if (!task.hasCompatibleActivityType(tr)) { if (!task.hasCompatibleActivityType(tr) || task.userId != tr.userId) { continue; } final Intent trIntent = tr.intent; Loading
services/tests/servicestests/src/com/android/server/am/RecentTasksTest.java +27 −0 Original line number Diff line number Diff line Loading @@ -326,6 +326,33 @@ public class RecentTasksTest extends ActivityTestsBase { assertTrue(mCallbacksRecorder.removed.contains(task1)); } @Test public void testAddTaskCompatibleActivityTypeDifferentUser_expectNoRemove() throws Exception { Configuration config1 = new Configuration(); config1.windowConfiguration.setActivityType(ACTIVITY_TYPE_UNDEFINED); TaskRecord task1 = createTaskBuilder(".Task1") .setFlags(FLAG_ACTIVITY_NEW_TASK) .setStack(mStack) .setUserId(TEST_USER_0_ID) .build(); task1.onConfigurationChanged(config1); assertTrue(task1.getActivityType() == ACTIVITY_TYPE_UNDEFINED); mRecentTasks.add(task1); mCallbacksRecorder.clear(); TaskRecord task2 = createTaskBuilder(".Task1") .setFlags(FLAG_ACTIVITY_NEW_TASK) .setStack(mStack) .setUserId(TEST_USER_1_ID) .build(); assertTrue(task2.getActivityType() == ACTIVITY_TYPE_STANDARD); mRecentTasks.add(task2); assertTrue(mCallbacksRecorder.added.size() == 1); assertTrue(mCallbacksRecorder.added.contains(task2)); assertTrue(mCallbacksRecorder.trimmed.isEmpty()); assertTrue(mCallbacksRecorder.removed.isEmpty()); } @Test public void testUsersTasks() throws Exception { mRecentTasks.setOnlyTestVisibleRange(); Loading