summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jerry Chang <chenghsiuchang@google.com> 2021-09-01 10:33:02 +0800
committer Jerry Chang <chenghsiuchang@google.com> 2021-09-01 17:29:52 +0800
commitbf31a0641f3495a6ec649368731ddf05ce5be72c (patch)
treef65a5f161be30ee57e2debdf9d4c371e2488a6e2
parent77b764bcd7ed7f06e8840a43f821f397100c1f48 (diff)
Fix dismissing activity getting relaunch signal while dismissing split
When applying dismissing split window container transaction to reparent child tasks out of split roots, it'll schedule update multi window mode change. Prevent sending relaunch signal to the dismissing activity which won't be visible after split dismissed by considering visibility while applying new configuration for multi window mode udpate. Fix: 194646075 Test: enter split screen, drag divider bar to dismiss split, checked the dismissing activity won't get relaunch signal. Change-Id: Ifb40fcbf89abaaa1bfb76e5018b31fc95778925d
-rw-r--r--services/core/java/com/android/server/wm/ActivityRecord.java10
1 files changed, 2 insertions, 8 deletions
diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java
index 67043dbab6a3..79df908b2287 100644
--- a/services/core/java/com/android/server/wm/ActivityRecord.java
+++ b/services/core/java/com/android/server/wm/ActivityRecord.java
@@ -1354,14 +1354,8 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
updatePictureInPictureMode(null, false);
} else {
mLastReportedMultiWindowMode = inMultiWindowMode;
- // If the activity is in stopping or stopped state, for instance, it's in the
- // split screen task and not the top one, the last configuration it should keep
- // is the one before multi-window mode change.
- final State state = getState();
- if (state != STOPPED && state != STOPPING) {
- ensureActivityConfiguration(0 /* globalChanges */, PRESERVE_WINDOWS,
- true /* ignoreVisibility */);
- }
+ ensureActivityConfiguration(0 /* globalChanges */, PRESERVE_WINDOWS,
+ false /* ignoreVisibility */);
}
}
}