diff options
| author | 2013-09-28 15:58:38 -0700 | |
|---|---|---|
| committer | 2013-09-28 15:58:38 -0700 | |
| commit | 5ee6d19fd726d1196297a0c549587cb2e18e9cfe (patch) | |
| tree | 01564016c0a563a519091e84d82db939c932ce36 | |
| parent | adf149029f701464c66cc5cacbbbc649c1319bcd (diff) | |
Ensure correct window ordering.
Make sure that moveStackWindowsLocked() is called every time that the
stack ordering changes. This will rebuild the window list. Previously
the call was being made after the moveStack() call which got forgotten
in the addAppToken() causing the home stack to obscure incoming phone
and video calls.
Fixes bug 10023223.
Fixes bug 10678010.
Maybe fixes bug 10858941.
Change-Id: I59922dc979a19210008eac1f528704984c63c886
| -rw-r--r-- | services/java/com/android/server/wm/DisplayContent.java | 1 | ||||
| -rw-r--r-- | services/java/com/android/server/wm/WindowManagerService.java | 3 |
2 files changed, 2 insertions, 2 deletions
diff --git a/services/java/com/android/server/wm/DisplayContent.java b/services/java/com/android/server/wm/DisplayContent.java index beeb899e8e2c..2798104a99ac 100644 --- a/services/java/com/android/server/wm/DisplayContent.java +++ b/services/java/com/android/server/wm/DisplayContent.java @@ -162,6 +162,7 @@ class DisplayContent { void moveStack(TaskStack stack, boolean toTop) { mStackHistory.remove(stack); mStackHistory.add(toTop ? mStackHistory.size() : 0, stack); + mService.moveStackWindowsLocked(stack); } public boolean isPrivate() { diff --git a/services/java/com/android/server/wm/WindowManagerService.java b/services/java/com/android/server/wm/WindowManagerService.java index e330f8b91916..27178185684d 100644 --- a/services/java/com/android/server/wm/WindowManagerService.java +++ b/services/java/com/android/server/wm/WindowManagerService.java @@ -4715,7 +4715,7 @@ public class WindowManagerService extends IWindowManager.Stub } } - private void moveStackWindowsLocked(TaskStack stack) { + void moveStackWindowsLocked(TaskStack stack) { DisplayContent displayContent = stack.getDisplayContent(); // First remove all of the windows from the list. @@ -4782,7 +4782,6 @@ public class WindowManagerService extends IWindowManager.Stub } stack.moveTaskToTop(task); displayContent.moveStack(stack, true); - moveStackWindowsLocked(stack); } } finally { Binder.restoreCallingIdentity(origId); |