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

Commit c8443861 authored by Hongwei Wang's avatar Hongwei Wang Committed by Automerger Merge Worker
Browse files

Merge "Do not set shadow when leaving PiP mode" into tm-dev am: 901e20fd

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


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

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


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