From 39b0bd2261c3a674625e299f393386159da51e5a Mon Sep 17 00:00:00 2001 From: Evan Rosky Date: Thu, 17 Jun 2021 11:10:10 -0700 Subject: [PATCH] Hook-up nextTransitionForward to shell transitions Bug: 183993924 Test: atest KeyboardVisibilityControlTest Change-Id: I82d68c1dca4e9e5b8faa411a2252bbf166deaa2c --- .../core/java/com/android/server/wm/DisplayContent.java | 6 ++++++ .../java/com/android/server/wm/TransitionController.java | 8 +++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java index 053c3bf07c891..5c86a85892e4e 100644 --- a/services/core/java/com/android/server/wm/DisplayContent.java +++ b/services/core/java/com/android/server/wm/DisplayContent.java @@ -5026,6 +5026,12 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp /** Check if pending app transition is for activity / task launch. */ boolean isNextTransitionForward() { + // TODO(b/191375840): decouple "forwardness" from transition system. + if (mAtmService.getTransitionController().isShellTransitionsEnabled()) { + @WindowManager.TransitionType int type = + mAtmService.getTransitionController().getCollectingTransitionType(); + return type == TRANSIT_OPEN || type == TRANSIT_TO_FRONT; + } return mAppTransition.containsTransitRequest(TRANSIT_OPEN) || mAppTransition.containsTransitRequest(TRANSIT_TO_FRONT); } diff --git a/services/core/java/com/android/server/wm/TransitionController.java b/services/core/java/com/android/server/wm/TransitionController.java index e480ff0c6a5b2..3d7b34b0d9137 100644 --- a/services/core/java/com/android/server/wm/TransitionController.java +++ b/services/core/java/com/android/server/wm/TransitionController.java @@ -23,6 +23,7 @@ import static android.view.WindowManager.TRANSIT_FLAG_KEYGUARD_GOING_AWAY_SUBTLE import static android.view.WindowManager.TRANSIT_FLAG_KEYGUARD_GOING_AWAY_TO_SHADE; import static android.view.WindowManager.TRANSIT_FLAG_KEYGUARD_GOING_AWAY_WITH_WALLPAPER; import static android.view.WindowManager.TRANSIT_KEYGUARD_GOING_AWAY; +import static android.view.WindowManager.TRANSIT_NONE; import static android.view.WindowManager.TRANSIT_OPEN; import android.annotation.NonNull; @@ -102,7 +103,7 @@ class TransitionController { * Creates a transition. It can immediately collect participants. */ @NonNull - Transition createTransition(@WindowManager.TransitionType int type, + private Transition createTransition(@WindowManager.TransitionType int type, @WindowManager.TransitionFlags int flags) { if (mTransitionPlayer == null) { throw new IllegalStateException("Shell Transitions not enabled"); @@ -181,6 +182,11 @@ class TransitionController { return false; } + @WindowManager.TransitionType + int getCollectingTransitionType() { + return mCollectingTransition != null ? mCollectingTransition.mType : TRANSIT_NONE; + } + /** * @see #requestTransitionIfNeeded(int, int, WindowContainer, IRemoteTransition) */