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
This commit is contained in:
Matthew Ng
2017-05-18 14:42:51 -07:00
parent 97578e313c
commit 26a1cecd2f

View File

@@ -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()