Merge "Fix regression in recent task list replacement" into pi-dev

am: 330f2fb05d

Change-Id: Idb3a2116cd82e753f4c22a8e3245a0cc6dbb0b3b
This commit is contained in:
Winson Chung
2018-04-06 17:42:16 -07:00
committed by android-build-merger
2 changed files with 28 additions and 1 deletions

View File

@@ -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;

View File

@@ -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();