Loading services/core/java/com/android/server/wm/ActivityStarter.java +2 −1 Original line number Diff line number Diff line Loading @@ -2379,7 +2379,8 @@ class ActivityStarter { // already be running somewhere in the history, and we want to shuffle it to // the front of the root task if so. final ActivityRecord act = targetTask.findActivityInHistory(mStartActivity.mActivityComponent); targetTask.findActivityInHistory(mStartActivity.mActivityComponent, mStartActivity.mUserId); if (act != null) { final Task task = act.getTask(); task.moveActivityToFrontLocked(act); Loading services/core/java/com/android/server/wm/Task.java +6 −5 Original line number Diff line number Diff line Loading @@ -1640,7 +1640,7 @@ class Task extends TaskFragment { * or {@code null} if none was found. */ private ActivityRecord clearTopActivities(ActivityRecord newR, int launchFlags) { final ActivityRecord r = findActivityInHistory(newR.mActivityComponent); final ActivityRecord r = findActivityInHistory(newR.mActivityComponent, newR.mUserId); if (r == null) return null; final PooledPredicate f = PooledLambda.obtainPredicate(Task::finishActivityAbove, Loading Loading @@ -1756,17 +1756,18 @@ class Task extends TaskFragment { * Find the activity in the history task within the given task. Returns * the index within the history at which it's found, or < 0 if not found. */ ActivityRecord findActivityInHistory(ComponentName component) { ActivityRecord findActivityInHistory(ComponentName component, int userId) { final PooledPredicate p = PooledLambda.obtainPredicate(Task::matchesActivityInHistory, PooledLambda.__(ActivityRecord.class), component); PooledLambda.__(ActivityRecord.class), component, userId); final ActivityRecord r = getActivity(p); p.recycle(); return r; } private static boolean matchesActivityInHistory( ActivityRecord r, ComponentName activityComponent) { return !r.finishing && r.mActivityComponent.equals(activityComponent); ActivityRecord r, ComponentName activityComponent, int userId) { return !r.finishing && r.mActivityComponent.equals(activityComponent) && r.mUserId == userId; } /** Updates the last task description values. */ Loading Loading
services/core/java/com/android/server/wm/ActivityStarter.java +2 −1 Original line number Diff line number Diff line Loading @@ -2379,7 +2379,8 @@ class ActivityStarter { // already be running somewhere in the history, and we want to shuffle it to // the front of the root task if so. final ActivityRecord act = targetTask.findActivityInHistory(mStartActivity.mActivityComponent); targetTask.findActivityInHistory(mStartActivity.mActivityComponent, mStartActivity.mUserId); if (act != null) { final Task task = act.getTask(); task.moveActivityToFrontLocked(act); Loading
services/core/java/com/android/server/wm/Task.java +6 −5 Original line number Diff line number Diff line Loading @@ -1640,7 +1640,7 @@ class Task extends TaskFragment { * or {@code null} if none was found. */ private ActivityRecord clearTopActivities(ActivityRecord newR, int launchFlags) { final ActivityRecord r = findActivityInHistory(newR.mActivityComponent); final ActivityRecord r = findActivityInHistory(newR.mActivityComponent, newR.mUserId); if (r == null) return null; final PooledPredicate f = PooledLambda.obtainPredicate(Task::finishActivityAbove, Loading Loading @@ -1756,17 +1756,18 @@ class Task extends TaskFragment { * Find the activity in the history task within the given task. Returns * the index within the history at which it's found, or < 0 if not found. */ ActivityRecord findActivityInHistory(ComponentName component) { ActivityRecord findActivityInHistory(ComponentName component, int userId) { final PooledPredicate p = PooledLambda.obtainPredicate(Task::matchesActivityInHistory, PooledLambda.__(ActivityRecord.class), component); PooledLambda.__(ActivityRecord.class), component, userId); final ActivityRecord r = getActivity(p); p.recycle(); return r; } private static boolean matchesActivityInHistory( ActivityRecord r, ComponentName activityComponent) { return !r.finishing && r.mActivityComponent.equals(activityComponent); ActivityRecord r, ComponentName activityComponent, int userId) { return !r.finishing && r.mActivityComponent.equals(activityComponent) && r.mUserId == userId; } /** Updates the last task description values. */ Loading