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

Commit a4d9c1a4 authored by Riddle Hsu's avatar Riddle Hsu Committed by Android (Google) Code Review
Browse files

Merge "Fix missing edge extension for task fragment transition" into main

parents 49531b1f fa0dc615
Loading
Loading
Loading
Loading
+3 −10
Original line number Diff line number Diff line
@@ -41,9 +41,9 @@ public class DefaultSurfaceAnimator {
            @NonNull Animation anim, @NonNull SurfaceControl leash,
            @NonNull Runnable finishCallback, @NonNull TransactionPool pool,
            @NonNull ShellExecutor mainExecutor, @Nullable Point position, float cornerRadius,
            @Nullable Rect clipRect, boolean isActivity) {
            @Nullable Rect clipRect) {
        final DefaultAnimationAdapter adapter = new DefaultAnimationAdapter(anim, leash,
                position, clipRect, cornerRadius, isActivity);
                position, clipRect, cornerRadius);
        buildSurfaceAnimation(animations, anim, finishCallback, pool, mainExecutor, adapter);
    }

@@ -138,11 +138,9 @@ public class DefaultSurfaceAnimator {
        @Nullable final Rect mClipRect;
        @Nullable private final Rect mAnimClipRect;
        final float mCornerRadius;
        final boolean mIsActivity;

        DefaultAnimationAdapter(@NonNull Animation anim, @NonNull SurfaceControl leash,
                @Nullable Point position, @Nullable Rect clipRect, float cornerRadius,
                boolean isActivity) {
                @Nullable Point position, @Nullable Rect clipRect, float cornerRadius) {
            super(leash);
            mAnim = anim;
            mPosition = (position != null && (position.x != 0 || position.y != 0))
@@ -150,7 +148,6 @@ public class DefaultSurfaceAnimator {
            mClipRect = (clipRect != null && !clipRect.isEmpty()) ? clipRect : null;
            mAnimClipRect = mClipRect != null ? new Rect() : null;
            mCornerRadius = cornerRadius;
            mIsActivity = isActivity;
        }

        @Override
@@ -160,10 +157,6 @@ public class DefaultSurfaceAnimator {
            final SurfaceControl leash = mLeash;
            transformation.clear();
            mAnim.getTransformation(currentPlayTime, transformation);
            if (com.android.graphics.libgui.flags.Flags.edgeExtensionShader()
                    && mIsActivity && mAnim.getExtensionEdges() != 0) {
                t.setEdgeExtensionEffect(leash, mAnim.getExtensionEdges());
            }
            if (mPosition != null) {
                transformation.getMatrix().postTranslate(mPosition.x, mPosition.y);
            }
+5 −5
Original line number Diff line number Diff line
@@ -506,6 +506,8 @@ public class DefaultTransitionHandler implements Transitions.TransitionHandler {

                if (!isTask && a.getExtensionEdges() != 0x0) {
                    if (com.android.graphics.libgui.flags.Flags.edgeExtensionShader()) {
                        startTransaction.setEdgeExtensionEffect(
                                change.getLeash(), a.getExtensionEdges());
                        finishTransaction.setEdgeExtensionEffect(change.getLeash(), /* edge */ 0);
                    } else {
                        if (!TransitionUtil.isOpeningType(mode)) {
@@ -564,7 +566,7 @@ public class DefaultTransitionHandler implements Transitions.TransitionHandler {

                buildSurfaceAnimation(animations, a, change.getLeash(), onAnimFinish,
                        mTransactionPool, mMainExecutor, animRelOffset, cornerRadius,
                        clipRect, change.getActivityComponent() != null);
                        clipRect);

                final TransitionInfo.AnimationOptions options;
                if (Flags.moveAnimationOptionsToChange()) {
@@ -876,8 +878,7 @@ public class DefaultTransitionHandler implements Transitions.TransitionHandler {
        a.restrictDuration(MAX_ANIMATION_DURATION);
        a.scaleCurrentDuration(mTransitionAnimationScaleSetting);
        buildSurfaceAnimation(animations, a, wt.getSurface(), finisher, mTransactionPool,
                mMainExecutor, change.getEndRelOffset(), cornerRadius, change.getEndAbsBounds(),
                change.getActivityComponent() != null);
                mMainExecutor, change.getEndRelOffset(), cornerRadius, change.getEndAbsBounds());
    }

    private void attachThumbnailAnimation(@NonNull ArrayList<Animator> animations,
@@ -901,8 +902,7 @@ public class DefaultTransitionHandler implements Transitions.TransitionHandler {
        a.restrictDuration(MAX_ANIMATION_DURATION);
        a.scaleCurrentDuration(mTransitionAnimationScaleSetting);
        buildSurfaceAnimation(animations, a, wt.getSurface(), finisher, mTransactionPool,
                mMainExecutor, change.getEndRelOffset(), cornerRadius, change.getEndAbsBounds(),
                change.getActivityComponent() != null);
                mMainExecutor, change.getEndRelOffset(), cornerRadius, change.getEndAbsBounds());
    }

    private static int getWallpaperTransitType(TransitionInfo info) {
+3 −3
Original line number Diff line number Diff line
@@ -347,21 +347,21 @@ class ScreenRotationAnimation {
            @NonNull Runnable finishCallback, @NonNull ShellExecutor mainExecutor) {
        buildSurfaceAnimation(animations, mRotateEnterAnimation, getEnterSurface(), finishCallback,
                mTransactionPool, mainExecutor, null /* position */, 0 /* cornerRadius */,
                null /* clipRect */, false /* isActivity */);
                null /* clipRect */);
    }

    private void startScreenshotRotationAnimation(@NonNull ArrayList<Animator> animations,
            @NonNull Runnable finishCallback, @NonNull ShellExecutor mainExecutor) {
        buildSurfaceAnimation(animations, mRotateExitAnimation, mAnimLeash, finishCallback,
                mTransactionPool, mainExecutor, null /* position */, 0 /* cornerRadius */,
                null /* clipRect */, false /* isActivity */);
                null /* clipRect */);
    }

    private void buildScreenshotAlphaAnimation(@NonNull ArrayList<Animator> animations,
            @NonNull Runnable finishCallback, @NonNull ShellExecutor mainExecutor) {
        buildSurfaceAnimation(animations, mRotateAlphaAnimation, mAnimLeash, finishCallback,
                mTransactionPool, mainExecutor, null /* position */, 0 /* cornerRadius */,
                null /* clipRect */, false /* isActivity */);
                null /* clipRect */);
    }

    private void buildLumaAnimation(@NonNull ArrayList<Animator> animations,