Merge "Destroy the last embedded activity immediately" into tm-dev am: 5f99fcc0ec

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

Change-Id: Ia9e1a80691294d735bdc02bb8aa71690cc219526
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Chilun Huang
2022-05-10 06:14:36 +00:00
committed by Automerger Merge Worker

View File

@@ -3532,7 +3532,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
final ActivityRecord next = getDisplayArea().topRunningActivity( final ActivityRecord next = getDisplayArea().topRunningActivity(
true /* considerKeyguardState */); true /* considerKeyguardState */);
// If the finishing activity is the last activity of a organized TaskFragment and has an // If the finishing activity is the last activity of an organized TaskFragment and has an
// adjacent TaskFragment, check if the activity removal should be delayed. // adjacent TaskFragment, check if the activity removal should be delayed.
boolean delayRemoval = false; boolean delayRemoval = false;
final TaskFragment taskFragment = getTaskFragment(); final TaskFragment taskFragment = getTaskFragment();
@@ -3540,7 +3540,8 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
final TaskFragment organized = taskFragment.getOrganizedTaskFragment(); final TaskFragment organized = taskFragment.getOrganizedTaskFragment();
final TaskFragment adjacent = final TaskFragment adjacent =
organized != null ? organized.getAdjacentTaskFragment() : null; organized != null ? organized.getAdjacentTaskFragment() : null;
if (adjacent != null && organized.topRunningActivity() == null) { if (adjacent != null && next.isDescendantOf(adjacent)
&& organized.topRunningActivity() == null) {
delayRemoval = organized.isDelayLastActivityRemoval(); delayRemoval = organized.isDelayLastActivityRemoval();
} }
} }