summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2019-03-04 08:22:28 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2019-03-04 08:22:28 +0000
commit0a4f460e332eee413dcebfbee68b9841b331366b (patch)
tree8fb02fb87e89f6b5d1927f43831a79bebd39463e
parent55ae1a1bd2c4db47499396cd7639fcbbdbe5b76b (diff)
parent6dcbee6671a7c3b6e19299e3c18ff0c451afc438 (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.java10
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);