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

Commit 2307caae authored by Mateusz Cicheński's avatar Mateusz Cicheński Committed by Android (Google) Code Review
Browse files

Merge "Do not remove surface when resetting previous PiP" into udc-qpr-dev

parents 8d993275 b65eb847
Loading
Loading
Loading
Loading
+15 −1
Original line number Diff line number Diff line
@@ -1059,7 +1059,21 @@ public class PipTransition extends PipTransitionController {
    private void resetPrevPip(@NonNull TransitionInfo.Change prevPipTaskChange,
            @NonNull SurfaceControl.Transaction startTransaction) {
        final SurfaceControl leash = prevPipTaskChange.getLeash();
        startTransaction.remove(leash);
        final Rect bounds = prevPipTaskChange.getEndAbsBounds();
        final Point offset = prevPipTaskChange.getEndRelOffset();
        bounds.offset(-offset.x, -offset.y);

        startTransaction.setWindowCrop(leash, null);
        startTransaction.setMatrix(leash, 1, 0, 0, 1);
        startTransaction.setCornerRadius(leash, 0);
        startTransaction.setPosition(leash, bounds.left, bounds.top);

        if (mHasFadeOut && prevPipTaskChange.getTaskInfo().isVisible()) {
            if (mPipAnimationController.getCurrentAnimator() != null) {
                mPipAnimationController.getCurrentAnimator().cancel();
            }
            startTransaction.setAlpha(leash, 1);
        }

        mHasFadeOut = false;
        mCurrentPipTaskToken = null;