summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Matthew Ng <ngmatthew@google.com> 2017-05-18 14:42:51 -0700
committer Matthew Ng <ngmatthew@google.com> 2017-05-18 15:54:28 -0700
commit26a1cecd2f9e99d7024d80748f165762a82df1e1 (patch)
tree9961a44c63a6dd2b58bf0c5af924bfa62fe03ccc
parent97578e313c2624a118615bb934c6c7b54b4f0ad3 (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.java6
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()