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

Commit a320b217 authored by Winson Chung's avatar Winson Chung Committed by Android (Google) Code Review
Browse files

Merge "Bug 18784289: Fix issue with transition animation callback." into lmp-mr1-dev

parents 37fed329 e494c382
Loading
Loading
Loading
Loading
+10 −6
Original line number Diff line number Diff line
@@ -384,6 +384,8 @@ public class ActivityOptions {
     * of the animation.
     * @param startX The x starting location of the bitmap, relative to <var>source</var>.
     * @param startY The y starting location of the bitmap, relative to <var>source</var>.
     * @param handler If <var>listener</var> is non-null this must be a valid
     * Handler on which to dispatch the callback; otherwise it should be null.
     * @param listener Optional OnAnimationStartedListener to find out when the
     * requested animation has started running.  If for some reason the animation
     * is not executed, the callback will happen immediately.
@@ -393,9 +395,9 @@ public class ActivityOptions {
     */
    public static ActivityOptions makeThumbnailAspectScaleUpAnimation(View source,
            Bitmap thumbnail, int startX, int startY, int targetWidth, int targetHeight,
            OnAnimationStartedListener listener) {
            Handler handler, OnAnimationStartedListener listener) {
        return makeAspectScaledThumbnailAnimation(source, thumbnail, startX, startY,
                targetWidth, targetHeight, listener, true);
                targetWidth, targetHeight, handler, listener, true);
    }

    /**
@@ -408,6 +410,8 @@ public class ActivityOptions {
     * of the animation.
     * @param startX The x end location of the bitmap, relative to <var>source</var>.
     * @param startY The y end location of the bitmap, relative to <var>source</var>.
     * @param handler If <var>listener</var> is non-null this must be a valid
     * Handler on which to dispatch the callback; otherwise it should be null.
     * @param listener Optional OnAnimationStartedListener to find out when the
     * requested animation has started running.  If for some reason the animation
     * is not executed, the callback will happen immediately.
@@ -417,14 +421,14 @@ public class ActivityOptions {
     */
    public static ActivityOptions makeThumbnailAspectScaleDownAnimation(View source,
            Bitmap thumbnail, int startX, int startY, int targetWidth, int targetHeight,
            OnAnimationStartedListener listener) {
            Handler handler, OnAnimationStartedListener listener) {
        return makeAspectScaledThumbnailAnimation(source, thumbnail, startX, startY,
                targetWidth, targetHeight, listener, false);
                targetWidth, targetHeight, handler, listener, false);
    }

    private static ActivityOptions makeAspectScaledThumbnailAnimation(View source, Bitmap thumbnail,
            int startX, int startY, int targetWidth, int targetHeight,
            OnAnimationStartedListener listener, boolean scaleUp) {
            Handler handler, OnAnimationStartedListener listener, boolean scaleUp) {
        ActivityOptions opts = new ActivityOptions();
        opts.mPackageName = source.getContext().getPackageName();
        opts.mAnimationType = scaleUp ? ANIM_THUMBNAIL_ASPECT_SCALE_UP :
@@ -436,7 +440,7 @@ public class ActivityOptions {
        opts.mStartY = pts[1] + startY;
        opts.mWidth = targetWidth;
        opts.mHeight = targetHeight;
        opts.setOnAnimationStartedListener(source.getHandler(), listener);
        opts.setOnAnimationStartedListener(handler, listener);
        return opts;
    }

+1 −1
Original line number Diff line number Diff line
@@ -603,7 +603,7 @@ public class AlternateRecentsComponent implements ActivityOptions.OnAnimationSta
            mStartAnimationTriggered = false;
            return ActivityOptions.makeThumbnailAspectScaleDownAnimation(mDummyStackView,
                    thumbnail, toTaskRect.left, toTaskRect.top, toTaskRect.width(),
                    toTaskRect.height(), this);
                    toTaskRect.height(), mHandler, this);
        }

        // If both the screenshot and thumbnail fails, then just fall back to the default transition
+1 −1
Original line number Diff line number Diff line
@@ -477,7 +477,7 @@ public class RecentsView extends FrameLayout implements TaskStackView.TaskStackV
            }
            opts = ActivityOptions.makeThumbnailAspectScaleUpAnimation(sourceView,
                    b, offsetX, offsetY, transform.rect.width(), transform.rect.height(),
                    animStartedListener);
                    sourceView.getHandler(), animStartedListener);
        }

        final ActivityOptions launchOpts = opts;