Hook-up nextTransitionForward to shell transitions

Bug: 183993924
Test: atest KeyboardVisibilityControlTest
Change-Id: I82d68c1dca4e9e5b8faa411a2252bbf166deaa2c
This commit is contained in:
Evan Rosky
2021-06-17 11:10:10 -07:00
committed by Chris Li
parent dfe1fc5554
commit 39b0bd2261
2 changed files with 13 additions and 1 deletions

View File

@@ -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);
}

View File

@@ -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)
*/