commit | 42fa21f6c9dfb40cc5b3009fe24d2de1121fc133 | [log] [tgz] |
---|---|---|
author | Winson Chung <winsonc@google.com> | Tue Apr 02 16:23:46 2019 -0700 |
committer | Winson Chung <winsonc@google.com> | Tue Apr 02 16:30:46 2019 -0700 |
tree | 9ef0a16fc7c303bafefc4624a317bcee488b3b75 | |
parent | 77ad5ff06305e36b154924be418663bc5a0affea [diff] |
Only remove visible recent tasks for the current user Bug: 128389239 Test: atest WmTests:RecentTasksTest Change-Id: I13d1fcff8cda0e3a7ddbdb54790f6c24b6763657
diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java index 9a8824f..98c37e6 100644 --- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java +++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
@@ -2084,7 +2084,7 @@ synchronized (mGlobalLock) { final long ident = Binder.clearCallingIdentity(); try { - getRecentTasks().removeAllVisibleTasks(); + getRecentTasks().removeAllVisibleTasks(mAmInternal.getCurrentUserId()); } finally { Binder.restoreCallingIdentity(ident); }
diff --git a/services/core/java/com/android/server/wm/RecentTasks.java b/services/core/java/com/android/server/wm/RecentTasks.java index 24b0213..d6c7b21 100644 --- a/services/core/java/com/android/server/wm/RecentTasks.java +++ b/services/core/java/com/android/server/wm/RecentTasks.java
@@ -653,10 +653,10 @@ } } - void removeAllVisibleTasks() { + void removeAllVisibleTasks(int userId) { for (int i = mTasks.size() - 1; i >= 0; --i) { final TaskRecord tr = mTasks.get(i); - if (isVisibleRecentTask(tr)) { + if (tr.userId == userId && isVisibleRecentTask(tr)) { mTasks.remove(i); notifyTaskRemoved(tr, true /* wasTrimmed */, true /* killProcess */); }