summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/wm/RootWindowContainer.java9
1 files changed, 3 insertions, 6 deletions
diff --git a/services/core/java/com/android/server/wm/RootWindowContainer.java b/services/core/java/com/android/server/wm/RootWindowContainer.java
index cf464c707ff4..1fe6ad68a313 100644
--- a/services/core/java/com/android/server/wm/RootWindowContainer.java
+++ b/services/core/java/com/android/server/wm/RootWindowContainer.java
@@ -1948,7 +1948,7 @@ class RootWindowContainer extends WindowContainer<DisplayContent>
final IntArray rootTaskIdsToRestore = mUserVisibleRootTasks.get(userId);
boolean homeInFront = false;
if (Flags.enableTopVisibleRootTaskPerUserTracking()) {
- if (rootTaskIdsToRestore == null) {
+ if (rootTaskIdsToRestore == null || rootTaskIdsToRestore.size() == 0) {
// If there are no root tasks saved, try restore id 0 which should create and launch
// the home task.
handleRootTaskLaunchOnUserSwitch(/* restoreRootTaskId */INVALID_TASK_ID);
@@ -1958,11 +1958,8 @@ class RootWindowContainer extends WindowContainer<DisplayContent>
handleRootTaskLaunchOnUserSwitch(rootTaskIdsToRestore.get(i));
}
// Check if the top task is type home
- if (rootTaskIdsToRestore.size() > 0) {
- final int topRootTaskId = rootTaskIdsToRestore.get(
- rootTaskIdsToRestore.size() - 1);
- homeInFront = isHomeTask(topRootTaskId);
- }
+ final int topRootTaskId = rootTaskIdsToRestore.get(rootTaskIdsToRestore.size() - 1);
+ homeInFront = isHomeTask(topRootTaskId);
}
} else {
handleRootTaskLaunchOnUserSwitch(restoreRootTaskId);