diff options
| author | Craig Mautner <cmautner@google.com> | 2013-04-24 14:53:51 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-04-24 14:53:51 +0000 |
| commit | a2e56c5a2fb909befa0d58ec30ce7e628ffff82a (patch) | |
| tree | c9f51a02e3201d44f3c082384429e6b9e8bd19d6 /services/java/com/android/server/wm/WindowManagerService.java | |
| parent | c56b831a1f6f044451df69aafaea1b37c780a360 (diff) | |
| parent | 858d8a6583b0c91c66960167b84c67b6c4e2d3c6 (diff) | |
| download | frameworks_base-a2e56c5a2fb909befa0d58ec30ce7e628ffff82a.zip frameworks_base-a2e56c5a2fb909befa0d58ec30ce7e628ffff82a.tar.gz frameworks_base-a2e56c5a2fb909befa0d58ec30ce7e628ffff82a.tar.bz2 | |
Merge "Fix user switching."
Diffstat (limited to 'services/java/com/android/server/wm/WindowManagerService.java')
| -rw-r--r-- | services/java/com/android/server/wm/WindowManagerService.java | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/services/java/com/android/server/wm/WindowManagerService.java b/services/java/com/android/server/wm/WindowManagerService.java index 5a9d63a..cb4333f 100644 --- a/services/java/com/android/server/wm/WindowManagerService.java +++ b/services/java/com/android/server/wm/WindowManagerService.java @@ -5094,22 +5094,16 @@ public class WindowManagerService extends IWindowManager.Stub public void setCurrentUser(final int newUserId) { synchronized (mWindowMap) { + int oldUserId = mCurrentUserId; mCurrentUserId = newUserId; mPolicy.setCurrentUserLw(newUserId); // Hide windows that should not be seen by the new user. DisplayContentsIterator iterator = new DisplayContentsIterator(); while (iterator.hasNext()) { - final WindowList windows = iterator.next().getWindowList(); - for (int i = 0; i < windows.size(); i++) { - final WindowState win = windows.get(i); - if (win.isHiddenFromUserLocked()) { - Slog.w(TAG, "current user violation " + newUserId + " hiding " - + win + ", attrs=" + win.mAttrs.type + ", belonging to " - + win.mOwnerUid); - win.hideLw(false); - } - } + DisplayContent displayContent = iterator.next(); + displayContent.switchUserStacks(oldUserId, newUserId); + rebuildAppWindowListLocked(displayContent); } performLayoutAndPlaceSurfacesLocked(); } |
