From cbd84af39a329890013b0c3b6763280ba2ad78c9 Mon Sep 17 00:00:00 2001 From: Craig Mautner Date: Wed, 22 Oct 2014 13:21:22 -0700 Subject: [PATCH] Cherry pick task movement changes from aosp The following cherry picks from aosp contain code that keep windows tracking the task movement. https://android-review.googlesource.com/#/c/111380/ https://android-review.googlesource.com/#/c/109930 Maybe fixes bug 15729183. Change-Id: Ida69fe365b06025d119e32b22a8d04958cdbabf3 --- services/core/java/com/android/server/wm/Task.java | 6 ++++++ .../java/com/android/server/wm/WindowManagerService.java | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java index 9ceac41a8bcaf..a60be3b95d6ab 100644 --- a/services/core/java/com/android/server/wm/Task.java +++ b/services/core/java/com/android/server/wm/Task.java @@ -60,6 +60,12 @@ class Task { return removed; } + void setSendingToBottom(boolean toBottom) { + for (int appTokenNdx = 0; appTokenNdx < mAppTokens.size(); appTokenNdx++) { + mAppTokens.get(appTokenNdx).sendingToBottom = toBottom; + } + } + @Override public String toString() { return "{taskId=" + taskId + " appTokens=" + mAppTokens + "}"; diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index 837672aaa146d..1ba9f27b86187 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -5052,6 +5052,10 @@ public class WindowManagerService extends IWindowManager.Stub } } stack.moveTaskToTop(task); + if (mAppTransition.isTransitionSet()) { + task.setSendingToBottom(false); + } + moveStackWindowsLocked(displayContent); } } finally { Binder.restoreCallingIdentity(origId); @@ -5070,6 +5074,9 @@ public class WindowManagerService extends IWindowManager.Stub } final TaskStack stack = task.mStack; stack.moveTaskToBottom(task); + if (mAppTransition.isTransitionSet()) { + task.setSendingToBottom(true); + } moveStackWindowsLocked(stack.getDisplayContent()); } } finally {