diff options
| -rw-r--r-- | services/core/java/com/android/server/wm/RecentTasks.java | 5 | ||||
| -rw-r--r-- | services/tests/wmtests/src/com/android/server/wm/RecentTasksTest.java | 6 |
2 files changed, 9 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/wm/RecentTasks.java b/services/core/java/com/android/server/wm/RecentTasks.java index 33588a03b8e1..8e78d25d8373 100644 --- a/services/core/java/com/android/server/wm/RecentTasks.java +++ b/services/core/java/com/android/server/wm/RecentTasks.java @@ -1253,6 +1253,11 @@ class RecentTasks { continue; } + if (otherTask.topRunningActivity() == null) { + // Skip if there's no running activity in the Task. + continue; + } + // Stop searching if the task has higher z-ordering, or increase the index and // continue the search. if (task.compareTo(otherTask) > 0) { diff --git a/services/tests/wmtests/src/com/android/server/wm/RecentTasksTest.java b/services/tests/wmtests/src/com/android/server/wm/RecentTasksTest.java index f7c253d9df03..bfa191e6f724 100644 --- a/services/tests/wmtests/src/com/android/server/wm/RecentTasksTest.java +++ b/services/tests/wmtests/src/com/android/server/wm/RecentTasksTest.java @@ -1210,9 +1210,11 @@ public class RecentTasksTest extends WindowTestsBase { @Test public void addTask_tasksAreAddedAccordingToZOrder() { final Task firstTask = new TaskBuilder(mSupervisor).setTaskId(1) - .setWindowingMode(WINDOWING_MODE_FREEFORM).build(); + .setWindowingMode(WINDOWING_MODE_FREEFORM) + .setCreateActivity(true).build(); final Task secondTask = new TaskBuilder(mSupervisor).setTaskId(2) - .setWindowingMode(WINDOWING_MODE_FREEFORM).build(); + .setWindowingMode(WINDOWING_MODE_FREEFORM) + .setCreateActivity(true).build(); assertEquals(-1, firstTask.compareTo(secondTask)); |