summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Craig Mautner <cmautner@google.com> 2013-09-28 15:58:38 -0700
committer Craig Mautner <cmautner@google.com> 2013-09-28 15:58:38 -0700
commit5ee6d19fd726d1196297a0c549587cb2e18e9cfe (patch)
tree01564016c0a563a519091e84d82db939c932ce36
parentadf149029f701464c66cc5cacbbbc649c1319bcd (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.java1
-rw-r--r--services/java/com/android/server/wm/WindowManagerService.java3
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);