diff options
| author | 2024-05-20 15:26:29 -0700 | |
|---|---|---|
| committer | 2024-05-21 23:17:55 +0000 | |
| commit | 92b58c261e911ddea48304d8f8ce7dee64d099ce (patch) | |
| tree | 885c24d8217911c054ac1b158c97cb19304ffe36 | |
| parent | 2674c808641130f193211afa1760151377a9c6b5 (diff) | |
Explicitly call out Home vis change on exiting PiP
Explicitly call HomeTransitionObserver#notifyHomeVisibilityChanged when
exiting PiP to full-screen mode.
Video: http://recall/-/aaaaaabFQoRHlzixHdtY/bDCe5aL9ctHwQWlW9lMvAr
Bug: 340443311
Test: Enter and exit PiP in button navigation mode, tap Recents button
Change-Id: I47c948af54db22305f56e0c95df049e2f87abc3c
(cherry picked from commit 0634ed0dcacb18a9d5b11c88e2a479e986b05ff1)
| -rw-r--r-- | libs/WindowManager/Shell/src/com/android/wm/shell/dagger/pip/Pip1Module.java | 4 | ||||
| -rw-r--r-- | libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTransition.java | 7 |
2 files changed, 10 insertions, 1 deletions
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/pip/Pip1Module.java b/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/pip/Pip1Module.java index 1e3d7fb06da2..659be79111c4 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/pip/Pip1Module.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/pip/Pip1Module.java @@ -60,6 +60,7 @@ import com.android.wm.shell.splitscreen.SplitScreenController; import com.android.wm.shell.sysui.ShellCommandHandler; import com.android.wm.shell.sysui.ShellController; import com.android.wm.shell.sysui.ShellInit; +import com.android.wm.shell.transition.HomeTransitionObserver; import com.android.wm.shell.transition.Transitions; import dagger.Module; @@ -192,11 +193,12 @@ public abstract class Pip1Module { PipBoundsState pipBoundsState, PipDisplayLayoutState pipDisplayLayoutState, PipTransitionState pipTransitionState, PhonePipMenuController pipMenuController, PipSurfaceTransactionHelper pipSurfaceTransactionHelper, + HomeTransitionObserver homeTransitionObserver, Optional<SplitScreenController> splitScreenOptional) { return new PipTransition(context, shellInit, shellTaskOrganizer, transitions, pipBoundsState, pipDisplayLayoutState, pipTransitionState, pipMenuController, pipBoundsAlgorithm, pipAnimationController, pipSurfaceTransactionHelper, - splitScreenOptional); + homeTransitionObserver, splitScreenOptional); } @WMSingleton diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTransition.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTransition.java index d60f5a631044..79b107997a08 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTransition.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTransition.java @@ -76,6 +76,7 @@ import com.android.wm.shell.shared.TransitionUtil; import com.android.wm.shell.splitscreen.SplitScreenController; import com.android.wm.shell.sysui.ShellInit; import com.android.wm.shell.transition.CounterRotatorHelper; +import com.android.wm.shell.transition.HomeTransitionObserver; import com.android.wm.shell.transition.Transitions; import java.io.PrintWriter; @@ -108,6 +109,7 @@ public class PipTransition extends PipTransitionController { private final PipDisplayLayoutState mPipDisplayLayoutState; private final int mEnterExitAnimationDuration; private final PipSurfaceTransactionHelper mSurfaceTransactionHelper; + private final HomeTransitionObserver mHomeTransitionObserver; private final Optional<SplitScreenController> mSplitScreenOptional; private final PipAnimationController mPipAnimationController; private @PipAnimationController.AnimationType int mEnterAnimationType = ANIM_TYPE_BOUNDS; @@ -165,6 +167,7 @@ public class PipTransition extends PipTransitionController { PipBoundsAlgorithm pipBoundsAlgorithm, PipAnimationController pipAnimationController, PipSurfaceTransactionHelper pipSurfaceTransactionHelper, + HomeTransitionObserver homeTransitionObserver, Optional<SplitScreenController> splitScreenOptional) { super(shellInit, shellTaskOrganizer, transitions, pipBoundsState, pipMenuController, pipBoundsAlgorithm); @@ -175,6 +178,7 @@ public class PipTransition extends PipTransitionController { mEnterExitAnimationDuration = context.getResources() .getInteger(R.integer.config_pipResizeAnimationDuration); mSurfaceTransactionHelper = pipSurfaceTransactionHelper; + mHomeTransitionObserver = homeTransitionObserver; mSplitScreenOptional = splitScreenOptional; } @@ -197,6 +201,9 @@ public class PipTransition extends PipTransitionController { animator.cancel(); } mExitTransition = mTransitions.startTransition(type, out, this); + if (mPipOrganizer.getOutPipWindowingMode() == WINDOWING_MODE_UNDEFINED) { + mHomeTransitionObserver.notifyHomeVisibilityChanged(false /* isVisible */); + } } @Override |