summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/wm/Task.java6
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/TaskTests.java12
2 files changed, 13 insertions, 5 deletions
diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java
index cc72dcfb0be2..3facfd4837c8 100644
--- a/services/core/java/com/android/server/wm/Task.java
+++ b/services/core/java/com/android/server/wm/Task.java
@@ -3766,11 +3766,7 @@ class Task extends WindowContainer<WindowContainer> {
if (r == null) {
return null;
}
- final Task task = r.getRootTask();
- if (task != null && r.isDescendantOf(task)) {
- if (task != this) Slog.w(TAG, "Illegal state! task does not point to stack it is in. "
- + "stack=" + this + " task=" + task + " r=" + r
- + " callers=" + Debug.getCallers(15, "\n"));
+ if (r.isDescendantOf(this)) {
return r;
}
return null;
diff --git a/services/tests/wmtests/src/com/android/server/wm/TaskTests.java b/services/tests/wmtests/src/com/android/server/wm/TaskTests.java
index 473c1c57d625..1415c506a1c9 100644
--- a/services/tests/wmtests/src/com/android/server/wm/TaskTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/TaskTests.java
@@ -146,4 +146,16 @@ public class TaskTests extends WindowTestsBase {
task.setBounds(bounds);
assertEquals(new Point(bounds.left, bounds.top), task.getLastSurfacePosition());
}
+
+ @Test
+ public void testIsInStack() {
+ final Task task1 = createTaskStackOnDisplay(mDisplayContent);
+ final Task task2 = createTaskStackOnDisplay(mDisplayContent);
+ final ActivityRecord activity1 =
+ WindowTestUtils.createActivityRecordInTask(mDisplayContent, task1);
+ final ActivityRecord activity2 =
+ WindowTestUtils.createActivityRecordInTask(mDisplayContent, task2);
+ assertEquals(activity1, task1.isInTask(activity1));
+ assertNull(task1.isInTask(activity2));
+ }
}