Merge "Allow to transfer starting window from dying activity" into sc-v2-dev am: a0eaed873c

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

Change-Id: I8871f32050a86658568e7a3c6af8fa0fd54fa8e7
This commit is contained in:
Riddle Hsu
2021-08-16 03:06:37 +00:00
committed by Automerger Merge Worker

View File

@@ -3669,6 +3669,16 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
} }
cleanUp(true /* cleanServices */, true /* setState */); cleanUp(true /* cleanServices */, true /* setState */);
if (remove) { if (remove) {
if (mStartingData != null && mVisible && task != null) {
// A corner case that the app terminates its trampoline activity on a separated
// process by killing itself. Transfer the starting window to the next activity
// which will be visible, so the dead activity can be removed immediately (no
// longer animating) and the reveal animation can play normally on next activity.
final ActivityRecord top = task.topRunningActivity();
if (top != null && !top.mVisible && top.shouldBeVisible()) {
top.transferStartingWindow(this);
}
}
removeFromHistory("appDied"); removeFromHistory("appDied");
} }
} }