summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCraig Mautner <cmautner@google.com>2014-10-22 13:21:22 -0700
committerCraig Mautner <cmautner@google.com>2014-10-22 13:28:40 -0700
commitcbd84af39a329890013b0c3b6763280ba2ad78c9 (patch)
tree457da4096d4db667a02fed4f18a0be1da2c18a2c
parent265e3da00668a0769be331349541050dd6603c2b (diff)
downloadframeworks_base-cbd84af39a329890013b0c3b6763280ba2ad78c9.zip
frameworks_base-cbd84af39a329890013b0c3b6763280ba2ad78c9.tar.gz
frameworks_base-cbd84af39a329890013b0c3b6763280ba2ad78c9.tar.bz2
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
-rw-r--r--services/core/java/com/android/server/wm/Task.java6
-rw-r--r--services/core/java/com/android/server/wm/WindowManagerService.java7
2 files changed, 13 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java
index 9ceac41..a60be3b 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 837672a..1ba9f27 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 {