summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Chilun Huang <chilunhuang@google.com> 2022-05-10 04:59:56 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2022-05-10 04:59:56 +0000
commit5f99fcc0ecc1134ae80f7fe5c7fdcfa2168af1f7 (patch)
tree172594bc1ebae751c3be4abe8caffb9dd24f4fcd
parent9cb05eaa753ad5ae62dc1d3987728abb0ef909fc (diff)
parent0c893536cf8453316b0ccab9468d0d1e1d6f2116 (diff)
Merge "Destroy the last embedded activity immediately" into tm-dev
-rw-r--r--services/core/java/com/android/server/wm/ActivityRecord.java5
1 files changed, 3 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java
index 791d193f36ab..e6be1371e2c5 100644
--- a/services/core/java/com/android/server/wm/ActivityRecord.java
+++ b/services/core/java/com/android/server/wm/ActivityRecord.java
@@ -3532,7 +3532,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
final ActivityRecord next = getDisplayArea().topRunningActivity(
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.
boolean delayRemoval = false;
final TaskFragment taskFragment = getTaskFragment();
@@ -3540,7 +3540,8 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
final TaskFragment organized = taskFragment.getOrganizedTaskFragment();
final TaskFragment adjacent =
organized != null ? organized.getAdjacentTaskFragment() : null;
- if (adjacent != null && organized.topRunningActivity() == null) {
+ if (adjacent != null && next.isDescendantOf(adjacent)
+ && organized.topRunningActivity() == null) {
delayRemoval = organized.isDelayLastActivityRemoval();
}
}