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

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

Merge "Do not set shadow when leaving PiP mode" into tm-dev

parents acdf1d12 b1ffb795
Loading
Loading
Loading
Loading
+11 −6
Original line number Diff line number Diff line
@@ -432,6 +432,11 @@ public class PipAnimationController {
            return !isOutPipDirection(mTransitionDirection);
        }

        boolean shouldApplyShadowRadius() {
            return !isOutPipDirection(mTransitionDirection)
                    && !isRemovePipDirection(mTransitionDirection);
        }

        boolean inScaleTransition() {
            if (mAnimationType != ANIM_TYPE_BOUNDS) return false;
            final int direction = getTransitionDirection();
@@ -483,7 +488,7 @@ public class PipAnimationController {
                    setCurrentValue(alpha);
                    getSurfaceTransactionHelper().alpha(tx, leash, alpha)
                            .round(tx, leash, shouldApplyCornerRadius())
                            .shadow(tx, leash);
                            .shadow(tx, leash, shouldApplyShadowRadius());
                    tx.apply();
                }

@@ -497,7 +502,7 @@ public class PipAnimationController {
                            .resetScale(tx, leash, getDestinationBounds())
                            .crop(tx, leash, getDestinationBounds())
                            .round(tx, leash, shouldApplyCornerRadius())
                            .shadow(tx, leash);
                            .shadow(tx, leash, shouldApplyShadowRadius());
                    tx.show(leash);
                    tx.apply();
                }
@@ -585,7 +590,7 @@ public class PipAnimationController {
                            getSurfaceTransactionHelper().crop(tx, leash, base)
                                    .scale(tx, leash, base, bounds, angle)
                                    .round(tx, leash, base, bounds)
                                    .shadow(tx, leash);
                                    .shadow(tx, leash, shouldApplyShadowRadius());
                        }
                    } else {
                        final Rect insets = computeInsets(fraction);
@@ -596,7 +601,7 @@ public class PipAnimationController {
                            sourceBounds.inset(insets);
                            getSurfaceTransactionHelper()
                                    .round(tx, leash, sourceBounds, bounds)
                                    .shadow(tx, leash);
                                    .shadow(tx, leash, shouldApplyShadowRadius());
                        }
                    }
                    if (!handlePipTransaction(leash, tx, bounds)) {
@@ -649,7 +654,7 @@ public class PipAnimationController {
                    if (shouldApplyCornerRadius()) {
                        getSurfaceTransactionHelper()
                                .round(tx, leash, sourceBounds, bounds)
                                .shadow(tx, leash);
                                .shadow(tx, leash, shouldApplyShadowRadius());
                    }
                    tx.apply();
                }
@@ -668,7 +673,7 @@ public class PipAnimationController {
                    getSurfaceTransactionHelper()
                            .alpha(tx, leash, 1f)
                            .round(tx, leash, shouldApplyCornerRadius())
                            .shadow(tx, leash);
                            .shadow(tx, leash, shouldApplyShadowRadius());
                    // TODO(b/178632364): this is a work around for the black background when
                    // entering PiP in buttion navigation mode.
                    if (isInPipDirection(direction)) {
+3 −2
Original line number Diff line number Diff line
@@ -206,8 +206,9 @@ public class PipSurfaceTransactionHelper {
     * Operates the shadow radius on a given transaction and leash
     * @return same {@link PipSurfaceTransactionHelper} instance for method chaining
     */
    public PipSurfaceTransactionHelper shadow(SurfaceControl.Transaction tx, SurfaceControl leash) {
        tx.setShadowRadius(leash, mShadowRadius);
    public PipSurfaceTransactionHelper shadow(SurfaceControl.Transaction tx, SurfaceControl leash,
            boolean applyShadowRadius) {
        tx.setShadowRadius(leash, applyShadowRadius ? mShadowRadius : 0);
        return this;
    }