Merge "Shift focus when a task with multiple activities gets removed" into tm-qpr-dev
diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java
index f30cfad..825e9e0 100644
--- a/services/core/java/com/android/server/wm/Task.java
+++ b/services/core/java/com/android/server/wm/Task.java
@@ -1604,6 +1604,11 @@
removeChild(r, reason);
});
} else {
+ // Finish or destroy apps from the bottom to ensure that all the other activity have
+ // been finished and the top task in another task gets resumed when a top activity is
+ // removed. Otherwise, shell transitions wouldn't run because there would be no event
+ // that sets the transition ready.
+ final boolean traverseTopToBottom = !mTransitionController.isShellTransitionsEnabled();
forAllActivities((r) -> {
if (r.finishing || (excludingTaskOverlay && r.isTaskOverlay())) {
return;
@@ -1617,7 +1622,7 @@
} else {
r.destroyIfPossible(reason);
}
- });
+ }, traverseTopToBottom);
}
}