diff options
| author | 2017-05-18 14:42:51 -0700 | |
|---|---|---|
| committer | 2017-05-18 15:54:28 -0700 | |
| commit | 26a1cecd2f9e99d7024d80748f165762a82df1e1 (patch) | |
| tree | 9961a44c63a6dd2b58bf0c5af924bfa62fe03ccc | |
| parent | 97578e313c2624a118615bb934c6c7b54b4f0ad3 (diff) | |
Do not unminimize after rotate when minimized getting wrong transition
Docked divider was launching recents (which would unminimize) after
rotation if there was more than 1 app window token in
WindowManagerService.mOpeningApps and therefore this occurred
intermittently. Also the app transition was incorrect
WindowSurfacePlacer.handleAppTransitionReadyLocked() taking TRANSIT_NONE
and converting it to something else (maybeUpdateTransitToWallpaper).
Therefore pass through TRANSIT_NONE to prevent recents to run after
rotating the screen even if more than 1 app window token is in
mOpeningApps.
Test: manual - play around with split screen then minimize and rotate
Fixes: 38393264
Change-Id: Ifd536a8ce19f27c9244d68e3a63cad31e0b5d775
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowSurfacePlacer.java | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/wm/WindowSurfacePlacer.java b/services/core/java/com/android/server/wm/WindowSurfacePlacer.java index ddd1ca5c1aec..53fb94e8d57e 100644 --- a/services/core/java/com/android/server/wm/WindowSurfacePlacer.java +++ b/services/core/java/com/android/server/wm/WindowSurfacePlacer.java @@ -15,6 +15,7 @@ import static com.android.server.wm.AppTransition.TRANSIT_FLAG_KEYGUARD_GOING_AW import static com.android.server.wm.AppTransition.TRANSIT_FLAG_KEYGUARD_GOING_AWAY_WITH_WALLPAPER; import static com.android.server.wm.AppTransition.TRANSIT_KEYGUARD_GOING_AWAY; import static com.android.server.wm.AppTransition.TRANSIT_KEYGUARD_GOING_AWAY_ON_WALLPAPER; +import static com.android.server.wm.AppTransition.TRANSIT_NONE; import static com.android.server.wm.AppTransition.TRANSIT_TASK_CLOSE; import static com.android.server.wm.AppTransition.TRANSIT_TASK_IN_PLACE; import static com.android.server.wm.AppTransition.TRANSIT_TASK_OPEN; @@ -579,6 +580,11 @@ class WindowSurfacePlacer { private int maybeUpdateTransitToWallpaper(int transit, boolean openingAppHasWallpaper, boolean closingAppHasWallpaper) { + // Given no app transition pass it through instead of a wallpaper transition + if (transit == TRANSIT_NONE) { + return TRANSIT_NONE; + } + // if wallpaper is animating in or out set oldWallpaper to null else to wallpaper final WindowState wallpaperTarget = mWallpaperControllerLocked.getWallpaperTarget(); final WindowState oldWallpaper = mWallpaperControllerLocked.isWallpaperTargetAnimating() |