summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Filip Gruszczynski <gruszczy@google.com> 2015-08-10 11:02:53 -0700
committer Filip Gruszczynski <gruszczy@google.com> 2015-08-10 13:03:46 -0700
commit26ed265ceea18a42fddb95777c51a60063b0ef13 (patch)
treee0fed3adcbf6fe35f34248a7dbf1e5325fc6d11f
parentc52839277b8714d150a9fe276b6ba3fa8a0cbf38 (diff)
When closing task stack remove reference to display content.
This tightens the guarantee that detached stack won't be used. We also add logging to detecting a situation where a stack not belonging to a display is being moved on that display. Bug: 22191609 Change-Id: Ia674bb5960018104a56c5138775ab5216906675b
-rw-r--r--services/core/java/com/android/server/wm/DisplayContent.java4
-rw-r--r--services/core/java/com/android/server/wm/TaskStack.java3
2 files changed, 4 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java
index 5d6df2679b81..4db0b1ee5122 100644
--- a/services/core/java/com/android/server/wm/DisplayContent.java
+++ b/services/core/java/com/android/server/wm/DisplayContent.java
@@ -203,7 +203,9 @@ class DisplayContent {
}
void moveStack(TaskStack stack, boolean toTop) {
- mStacks.remove(stack);
+ if (!mStacks.remove(stack)) {
+ Slog.wtf(TAG, "moving stack that was not added: " + stack, new Throwable());
+ }
mStacks.add(toTop ? mStacks.size() : 0, stack);
}
diff --git a/services/core/java/com/android/server/wm/TaskStack.java b/services/core/java/com/android/server/wm/TaskStack.java
index 45450320828b..794b49c8cb19 100644
--- a/services/core/java/com/android/server/wm/TaskStack.java
+++ b/services/core/java/com/android/server/wm/TaskStack.java
@@ -385,8 +385,6 @@ public class TaskStack {
}
close();
-
- mDisplayContent = null;
}
void resetAnimationBackgroundAnimator() {
@@ -518,6 +516,7 @@ public class TaskStack {
mDimLayer.destroySurface();
mDimLayer = null;
}
+ mDisplayContent = null;
}
public void dump(String prefix, PrintWriter pw) {