Merge "Fix returning activity that not in the task" into rvc-dev
This commit is contained in:
@@ -3766,11 +3766,7 @@ class Task extends WindowContainer<WindowContainer> {
|
|||||||
if (r == null) {
|
if (r == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
final Task task = r.getRootTask();
|
if (r.isDescendantOf(this)) {
|
||||||
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"));
|
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -146,4 +146,16 @@ public class TaskTests extends WindowTestsBase {
|
|||||||
task.setBounds(bounds);
|
task.setBounds(bounds);
|
||||||
assertEquals(new Point(bounds.left, bounds.top), task.getLastSurfacePosition());
|
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));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user