summaryrefslogtreecommitdiff
path: root/services/java/com/android/server/wm/WindowManagerService.java
diff options
context:
space:
mode:
authorCraig Mautner <cmautner@google.com>2013-10-24 12:47:07 -0700
committerCraig Mautner <cmautner@google.com>2013-10-24 12:47:07 -0700
commit77df2ee9deb5635fabb2280ada5b3f3d01dd8e1b (patch)
tree6300e7ee2b60a926977862fe592e664790513953 /services/java/com/android/server/wm/WindowManagerService.java
parent9279d45b8d26c88c69fa917816ea396142627020 (diff)
Track window position with task position.
Windows were previously ordered by TaskStack/ActivityStack order. This change provides a data structure in DisplayContent that tracks task movement. Previously Recents and Home activity windows were always adjacent because they were on the same stack. With this change windows from other activities can be placed between the two. Fixes bug 11338594. Change-Id: Ie34443ff22f330d015141d97db79370c54920d28
Diffstat (limited to 'services/java/com/android/server/wm/WindowManagerService.java')
-rw-r--r--services/java/com/android/server/wm/WindowManagerService.java8
1 files changed, 3 insertions, 5 deletions
diff --git a/services/java/com/android/server/wm/WindowManagerService.java b/services/java/com/android/server/wm/WindowManagerService.java
index abc2b2b998e7..4fe204c1d862 100644
--- a/services/java/com/android/server/wm/WindowManagerService.java
+++ b/services/java/com/android/server/wm/WindowManagerService.java
@@ -4733,11 +4733,9 @@ public class WindowManagerService extends IWindowManager.Stub
return index;
}
- void moveStackWindowsLocked(TaskStack stack) {
- DisplayContent displayContent = stack.getDisplayContent();
-
+ void moveStackWindowsLocked(DisplayContent displayContent) {
// First remove all of the windows from the list.
- final ArrayList<Task> tasks = stack.getTasks();
+ final ArrayList<Task> tasks = displayContent.getTasks();
final int numTasks = tasks.size();
for (int taskNdx = 0; taskNdx < numTasks; ++taskNdx) {
AppTokenList tokens = tasks.get(taskNdx).mAppTokens;
@@ -4813,7 +4811,7 @@ public class WindowManagerService extends IWindowManager.Stub
}
final TaskStack stack = task.mStack;
stack.moveTaskToBottom(task);
- moveStackWindowsLocked(stack);
+ moveStackWindowsLocked(stack.getDisplayContent());
}
} finally {
Binder.restoreCallingIdentity(origId);