diff options
4 files changed, 8 insertions, 32 deletions
diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java index 5fcfb0dd069b..1531b995086d 100644 --- a/services/core/java/com/android/server/wm/ActivityRecord.java +++ b/services/core/java/com/android/server/wm/ActivityRecord.java @@ -2117,8 +2117,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A hasBeenLaunched = false; mTaskSupervisor = supervisor; - info.taskAffinity = computeTaskAffinity(info.taskAffinity, info.applicationInfo.uid, - info.launchMode, mActivityComponent); + info.taskAffinity = computeTaskAffinity(info.taskAffinity, info.applicationInfo.uid); taskAffinity = info.taskAffinity; final String uid = Integer.toString(info.applicationInfo.uid); if (info.windowLayout != null && info.windowLayout.windowLayoutAffinity != null @@ -2218,19 +2217,12 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A * * @param affinity The affinity of the activity. * @param uid The user-ID that has been assigned to this application. - * @param launchMode The activity launch mode - * @param componentName The activity component name. This is only useful when the given - * launchMode is {@link ActivityInfo#LAUNCH_SINGLE_INSTANCE} * @return The task affinity */ - static String computeTaskAffinity(String affinity, int uid, int launchMode, - ComponentName componentName) { + static String computeTaskAffinity(String affinity, int uid) { final String uidStr = Integer.toString(uid); if (affinity != null && !affinity.startsWith(uidStr)) { affinity = uidStr + ":" + affinity; - if (launchMode == LAUNCH_SINGLE_INSTANCE && componentName != null) { - affinity += ":" + componentName.hashCode(); - } } return affinity; } diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java index c322563e9ae1..e5939c503aac 100644 --- a/services/core/java/com/android/server/wm/Task.java +++ b/services/core/java/com/android/server/wm/Task.java @@ -5417,8 +5417,7 @@ class Task extends TaskFragment { // Basic case: for simple app-centric recents, we need to recreate // the task if the affinity has changed. - final String affinity = ActivityRecord.computeTaskAffinity(destAffinity, srec.getUid(), - srec.launchMode, srec.mActivityComponent); + final String affinity = ActivityRecord.computeTaskAffinity(destAffinity, srec.getUid()); if (srec == null || srec.getTask().affinity == null || !srec.getTask().affinity.equals(affinity)) { return true; diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java b/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java index 9c754b969604..ec8e3bbaa122 100644 --- a/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java @@ -1791,8 +1791,7 @@ public class ActivityStarterTests extends WindowTestsBase { public void testLaunchActivityWithoutDisplayCategory() { final ActivityInfo info = new ActivityInfo(); info.applicationInfo = new ApplicationInfo(); - info.taskAffinity = ActivityRecord.computeTaskAffinity("test", DEFAULT_FAKE_UID, - 0 /* launchMode */, null /* componentName */); + info.taskAffinity = ActivityRecord.computeTaskAffinity("test", DEFAULT_FAKE_UID); info.requiredDisplayCategory = "automotive"; final Task task = new TaskBuilder(mSupervisor).setCreateActivity(true).setActivityInfo(info) .build(); @@ -1817,8 +1816,7 @@ public class ActivityStarterTests extends WindowTestsBase { public void testLaunchActivityWithDifferentDisplayCategory() { final ActivityInfo info = new ActivityInfo(); info.applicationInfo = new ApplicationInfo(); - info.taskAffinity = ActivityRecord.computeTaskAffinity("test", DEFAULT_FAKE_UID, - 0 /* launchMode */, null /* componentName */); + info.taskAffinity = ActivityRecord.computeTaskAffinity("test", DEFAULT_FAKE_UID); info.requiredDisplayCategory = "automotive"; final Task task = new TaskBuilder(mSupervisor).setCreateActivity(true).setActivityInfo(info) .build(); @@ -1843,8 +1841,7 @@ public class ActivityStarterTests extends WindowTestsBase { public void testLaunchActivityWithSameDisplayCategory() { final ActivityInfo info = new ActivityInfo(); info.applicationInfo = new ApplicationInfo(); - info.taskAffinity = ActivityRecord.computeTaskAffinity("test", DEFAULT_FAKE_UID, - 0 /* launchMode */, null /* componentName */); + info.taskAffinity = ActivityRecord.computeTaskAffinity("test", DEFAULT_FAKE_UID); info.requiredDisplayCategory = "automotive"; final Task task = new TaskBuilder(mSupervisor).setCreateActivity(true).setActivityInfo(info) .build(); diff --git a/services/tests/wmtests/src/com/android/server/wm/RecentTasksTest.java b/services/tests/wmtests/src/com/android/server/wm/RecentTasksTest.java index df0808f72c3f..7cb58022c0e7 100644 --- a/services/tests/wmtests/src/com/android/server/wm/RecentTasksTest.java +++ b/services/tests/wmtests/src/com/android/server/wm/RecentTasksTest.java @@ -27,8 +27,6 @@ import static android.content.Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS; import static android.content.Intent.FLAG_ACTIVITY_MULTIPLE_TASK; import static android.content.Intent.FLAG_ACTIVITY_NEW_DOCUMENT; import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK; -import static android.content.pm.ActivityInfo.LAUNCH_MULTIPLE; -import static android.content.pm.ActivityInfo.LAUNCH_SINGLE_INSTANCE; import static android.content.res.Configuration.ORIENTATION_PORTRAIT; import static android.os.Process.NOBODY_UID; @@ -451,25 +449,15 @@ public class RecentTasksTest extends WindowTestsBase { final int uid = 10123; final Task task1 = createTaskBuilder(".Task1").build(); final ComponentName componentName = getUniqueComponentName(); - task1.affinity = ActivityRecord.computeTaskAffinity(taskAffinity, uid, LAUNCH_MULTIPLE, - componentName); + task1.affinity = ActivityRecord.computeTaskAffinity(taskAffinity, uid); mRecentTasks.add(task1); // Add another task to recents, and make sure the previous task was removed. final Task task2 = createTaskBuilder(".Task2").build(); - task2.affinity = ActivityRecord.computeTaskAffinity(taskAffinity, uid, LAUNCH_MULTIPLE, - componentName); + task2.affinity = ActivityRecord.computeTaskAffinity(taskAffinity, uid); mRecentTasks.add(task2); assertEquals(1, mRecentTasks.getRecentTasks(MAX_VALUE, 0 /* flags */, true /* getTasksAllowed */, TEST_USER_0_ID, 0).getList().size()); - - // Add another single-instance task to recents, and make sure no task is removed. - final Task task3 = createTaskBuilder(".Task3").build(); - task3.affinity = ActivityRecord.computeTaskAffinity(taskAffinity, uid, - LAUNCH_SINGLE_INSTANCE, componentName); - mRecentTasks.add(task3); - assertEquals(2, mRecentTasks.getRecentTasks(MAX_VALUE, 0 /* flags */, - true /* getTasksAllowed */, TEST_USER_0_ID, 0).getList().size()); } @Test |