Merge "Shift focus when a task with multiple activities gets removed" into tm-qpr-dev am: d012ff2d14 am: 4d5cfe5230

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20290966

Change-Id: I62ad6ebb03ed56e31d7efa4ab22b9d36e79c5548
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Kazuki Takise
2022-11-17 11:07:45 +00:00
committed by Automerger Merge Worker

View File

@@ -1588,6 +1588,11 @@ class Task extends TaskFragment {
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;
@@ -1601,7 +1606,7 @@ class Task extends TaskFragment {
} else {
r.destroyIfPossible(reason);
}
});
}, traverseTopToBottom);
}
}