Merge "Shift focus when a task with multiple activities gets removed" into tm-qpr-dev

This commit is contained in:
Kazuki Takise
2022-11-17 10:30:59 +00:00
committed by Android (Google) Code Review

View File

@@ -1604,6 +1604,11 @@ class Task extends TaskFragment {
removeChild(r, reason); removeChild(r, reason);
}); });
} else { } 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) -> { forAllActivities((r) -> {
if (r.finishing || (excludingTaskOverlay && r.isTaskOverlay())) { if (r.finishing || (excludingTaskOverlay && r.isTaskOverlay())) {
return; return;
@@ -1617,7 +1622,7 @@ class Task extends TaskFragment {
} else { } else {
r.destroyIfPossible(reason); r.destroyIfPossible(reason);
} }
}); }, traverseTopToBottom);
} }
} }