"setMagnificationCallbacks()")) {
throw new SecurityException("Requires MAGNIFY_DISPLAY permission.");
}
<<<<<<< HEAD
synchronized (mWindowMap) {
if (mDisplayMagnifier == null) {
mDisplayMagnifier = new DisplayMagnifier(this, callbacks);
=======
// TOOD(multidisplay): For now assume all app animation is on the main screen.
DisplayInfo displayInfo = getDefaultDisplayInfoLocked();
if (thumb) {
// Animation for zooming thumbnail from its initial size to
// filling the screen.
if (scaleUp) {
float scaleW = displayInfo.appWidth / thumbWidth;
float scaleH = displayInfo.appHeight / thumbHeight;
Animation scale = new ScaleAnimation(1, scaleW, 1, scaleH,
computePivot(mNextAppTransitionStartX, 1 / scaleW),
computePivot(mNextAppTransitionStartY, 1 / scaleH));
AnimationSet set = new AnimationSet(false);
Animation alpha = new AlphaAnimation(1, 0);
scale.setDuration(duration);
scale.setInterpolator(AnimationUtils.loadInterpolator(mContext,
com.android.internal.R.interpolator.decelerate_quad));
set.addAnimation(scale);
alpha.setDuration(duration);
alpha.setInterpolator(new Interpolator() {
@Override
public float getInterpolation(float input) {
if (input < RECENTS_THUMBNAIL_FADEOUT_FRACTION) {
// linear response
return input / RECENTS_THUMBNAIL_FADEOUT_FRACTION;
}
// complete
return 1;
}
});
set.addAnimation(alpha);
set.setFillBefore(true);
a = set;
} else {
float scaleW = displayInfo.appWidth / thumbWidth;
float scaleH = displayInfo.appHeight / thumbHeight;
Animation scale = new ScaleAnimation(scaleW, 1, scaleH, 1,
computePivot(mNextAppTransitionStartX, 1 / scaleW),
computePivot(mNextAppTransitionStartY, 1 / scaleH));
AnimationSet set = new AnimationSet(true);
Animation alpha = new AlphaAnimation(1, 1);
scale.setDuration(duration);
scale.setInterpolator(
new DecelerateInterpolator(THUMBNAIL_ANIMATION_DECELERATE_FACTOR));
set.addAnimation(scale);
alpha.setDuration(duration);
set.addAnimation(alpha);
set.setFillBefore(true);
a = set;
}
} else if (enter) {
// Entering app zooms out from the center of the thumbnail.
if (scaleUp) {
float scaleW = thumbWidth / displayInfo.appWidth;
float scaleH = thumbHeight / displayInfo.appHeight;
Animation scale = new ScaleAnimation(scaleW, 1, scaleH, 1,
computePivot(mNextAppTransitionStartX, scaleW),
computePivot(mNextAppTransitionStartY, scaleH));
scale.setDuration(duration);
scale.setInterpolator(
new DecelerateInterpolator(THUMBNAIL_ANIMATION_DECELERATE_FACTOR));
scale.setFillBefore(true);
a = scale;
>>>>>>> f8f147d167ed2a6cf5ba4b1b3a633401ecc5d384
} else {
if (callbacks == null) {
mDisplayMagnifier = null; |