diff options
| author | 2019-03-04 08:22:28 +0000 | |
|---|---|---|
| committer | 2019-03-04 08:22:28 +0000 | |
| commit | 0a4f460e332eee413dcebfbee68b9841b331366b (patch) | |
| tree | 8fb02fb87e89f6b5d1927f43831a79bebd39463e | |
| parent | 55ae1a1bd2c4db47499396cd7639fcbbdbe5b76b (diff) | |
| parent | 6dcbee6671a7c3b6e19299e3c18ff0c451afc438 (diff) | |
Merge "Not to show intermediate screen to the user when dismissing split screen"
| -rw-r--r-- | services/core/java/com/android/server/wm/ActivityStack.java | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/wm/ActivityStack.java b/services/core/java/com/android/server/wm/ActivityStack.java index ea2aff220030..0b034b5ee334 100644 --- a/services/core/java/com/android/server/wm/ActivityStack.java +++ b/services/core/java/com/android/server/wm/ActivityStack.java @@ -701,6 +701,14 @@ class ActivityStack extends ConfigurationContainer { */ void setWindowingMode(int preferredWindowingMode, boolean animate, boolean showRecents, boolean enteringSplitScreenMode, boolean deferEnsuringVisibility, boolean creating) { + mWindowManager.inSurfaceTransaction(() -> setWindowingModeInSurfaceTransaction( + preferredWindowingMode, animate, showRecents, enteringSplitScreenMode, + deferEnsuringVisibility, creating)); + } + + private void setWindowingModeInSurfaceTransaction(int preferredWindowingMode, boolean animate, + boolean showRecents, boolean enteringSplitScreenMode, boolean deferEnsuringVisibility, + boolean creating) { final int currentMode = getWindowingMode(); final int currentOverrideMode = getRequestedOverrideWindowingMode(); final ActivityDisplay display = getDisplay(); @@ -744,7 +752,7 @@ class ActivityStack extends ConfigurationContainer { // warning toast about it. mService.getTaskChangeNotificationController().notifyActivityDismissingDockedStack(); final ActivityStack primarySplitStack = display.getSplitScreenPrimaryStack(); - primarySplitStack.setWindowingMode(WINDOWING_MODE_UNDEFINED, + primarySplitStack.setWindowingModeInSurfaceTransaction(WINDOWING_MODE_UNDEFINED, false /* animate */, false /* showRecents */, false /* enteringSplitScreenMode */, true /* deferEnsuringVisibility */, primarySplitStack == this ? creating : false); |