Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0b098045 authored by Hongwei Wang's avatar Hongwei Wang Committed by Android (Google) Code Review
Browse files

Merge "Explicitly call out Home vis change on exiting PiP" into 24D1-dev

parents 64d7a085 92b58c26
Loading
Loading
Loading
Loading
+3 −1
Original line number Original line Diff line number Diff line
@@ -60,6 +60,7 @@ import com.android.wm.shell.splitscreen.SplitScreenController;
import com.android.wm.shell.sysui.ShellCommandHandler;
import com.android.wm.shell.sysui.ShellCommandHandler;
import com.android.wm.shell.sysui.ShellController;
import com.android.wm.shell.sysui.ShellController;
import com.android.wm.shell.sysui.ShellInit;
import com.android.wm.shell.sysui.ShellInit;
import com.android.wm.shell.transition.HomeTransitionObserver;
import com.android.wm.shell.transition.Transitions;
import com.android.wm.shell.transition.Transitions;


import dagger.Module;
import dagger.Module;
@@ -192,11 +193,12 @@ public abstract class Pip1Module {
            PipBoundsState pipBoundsState, PipDisplayLayoutState pipDisplayLayoutState,
            PipBoundsState pipBoundsState, PipDisplayLayoutState pipDisplayLayoutState,
            PipTransitionState pipTransitionState, PhonePipMenuController pipMenuController,
            PipTransitionState pipTransitionState, PhonePipMenuController pipMenuController,
            PipSurfaceTransactionHelper pipSurfaceTransactionHelper,
            PipSurfaceTransactionHelper pipSurfaceTransactionHelper,
            HomeTransitionObserver homeTransitionObserver,
            Optional<SplitScreenController> splitScreenOptional) {
            Optional<SplitScreenController> splitScreenOptional) {
        return new PipTransition(context, shellInit, shellTaskOrganizer, transitions,
        return new PipTransition(context, shellInit, shellTaskOrganizer, transitions,
                pipBoundsState, pipDisplayLayoutState, pipTransitionState, pipMenuController,
                pipBoundsState, pipDisplayLayoutState, pipTransitionState, pipMenuController,
                pipBoundsAlgorithm, pipAnimationController, pipSurfaceTransactionHelper,
                pipBoundsAlgorithm, pipAnimationController, pipSurfaceTransactionHelper,
                splitScreenOptional);
                homeTransitionObserver, splitScreenOptional);
    }
    }


    @WMSingleton
    @WMSingleton
+7 −0
Original line number Original line Diff line number Diff line
@@ -76,6 +76,7 @@ import com.android.wm.shell.shared.TransitionUtil;
import com.android.wm.shell.splitscreen.SplitScreenController;
import com.android.wm.shell.splitscreen.SplitScreenController;
import com.android.wm.shell.sysui.ShellInit;
import com.android.wm.shell.sysui.ShellInit;
import com.android.wm.shell.transition.CounterRotatorHelper;
import com.android.wm.shell.transition.CounterRotatorHelper;
import com.android.wm.shell.transition.HomeTransitionObserver;
import com.android.wm.shell.transition.Transitions;
import com.android.wm.shell.transition.Transitions;


import java.io.PrintWriter;
import java.io.PrintWriter;
@@ -108,6 +109,7 @@ public class PipTransition extends PipTransitionController {
    private final PipDisplayLayoutState mPipDisplayLayoutState;
    private final PipDisplayLayoutState mPipDisplayLayoutState;
    private final int mEnterExitAnimationDuration;
    private final int mEnterExitAnimationDuration;
    private final PipSurfaceTransactionHelper mSurfaceTransactionHelper;
    private final PipSurfaceTransactionHelper mSurfaceTransactionHelper;
    private final HomeTransitionObserver mHomeTransitionObserver;
    private final Optional<SplitScreenController> mSplitScreenOptional;
    private final Optional<SplitScreenController> mSplitScreenOptional;
    private final PipAnimationController mPipAnimationController;
    private final PipAnimationController mPipAnimationController;
    private @PipAnimationController.AnimationType int mEnterAnimationType = ANIM_TYPE_BOUNDS;
    private @PipAnimationController.AnimationType int mEnterAnimationType = ANIM_TYPE_BOUNDS;
@@ -165,6 +167,7 @@ public class PipTransition extends PipTransitionController {
            PipBoundsAlgorithm pipBoundsAlgorithm,
            PipBoundsAlgorithm pipBoundsAlgorithm,
            PipAnimationController pipAnimationController,
            PipAnimationController pipAnimationController,
            PipSurfaceTransactionHelper pipSurfaceTransactionHelper,
            PipSurfaceTransactionHelper pipSurfaceTransactionHelper,
            HomeTransitionObserver homeTransitionObserver,
            Optional<SplitScreenController> splitScreenOptional) {
            Optional<SplitScreenController> splitScreenOptional) {
        super(shellInit, shellTaskOrganizer, transitions, pipBoundsState, pipMenuController,
        super(shellInit, shellTaskOrganizer, transitions, pipBoundsState, pipMenuController,
                pipBoundsAlgorithm);
                pipBoundsAlgorithm);
@@ -175,6 +178,7 @@ public class PipTransition extends PipTransitionController {
        mEnterExitAnimationDuration = context.getResources()
        mEnterExitAnimationDuration = context.getResources()
                .getInteger(R.integer.config_pipResizeAnimationDuration);
                .getInteger(R.integer.config_pipResizeAnimationDuration);
        mSurfaceTransactionHelper = pipSurfaceTransactionHelper;
        mSurfaceTransactionHelper = pipSurfaceTransactionHelper;
        mHomeTransitionObserver = homeTransitionObserver;
        mSplitScreenOptional = splitScreenOptional;
        mSplitScreenOptional = splitScreenOptional;
    }
    }


@@ -197,6 +201,9 @@ public class PipTransition extends PipTransitionController {
            animator.cancel();
            animator.cancel();
        }
        }
        mExitTransition = mTransitions.startTransition(type, out, this);
        mExitTransition = mTransitions.startTransition(type, out, this);
        if (mPipOrganizer.getOutPipWindowingMode() == WINDOWING_MODE_UNDEFINED) {
            mHomeTransitionObserver.notifyHomeVisibilityChanged(false /* isVisible */);
        }
    }
    }


    @Override
    @Override