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

This commit is contained in:
Winson Chung
2014-12-18 19:30:38 +00:00
committed by Android (Google) Code Review
3 changed files with 12 additions and 8 deletions

View File

@@ -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;
}

View File

@@ -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

View File

@@ -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;