diff --git a/quickstep/src/com/android/quickstep/LauncherSwipeHandlerV2.java b/quickstep/src/com/android/quickstep/LauncherSwipeHandlerV2.java index 3c665906b5..e17cdcd99d 100644 --- a/quickstep/src/com/android/quickstep/LauncherSwipeHandlerV2.java +++ b/quickstep/src/com/android/quickstep/LauncherSwipeHandlerV2.java @@ -144,8 +144,6 @@ public class LauncherSwipeHandlerV2 extends return new FloatingViewHomeAnimationFactory(floatingIconView) { @Nullable private RectF mTargetRect; - @Nullable - private RectFSpringAnim mSiblingAnimation; @Nullable @Override @@ -172,14 +170,6 @@ public class LauncherSwipeHandlerV2 extends } } - @Override - protected void playScalingRevealAnimation() { - if (mContainer != null) { - new ScalingWorkspaceRevealAnim(mContainer, mSiblingAnimation, - getWindowTargetRect()).start(); - } - } - @Override public void setAnimation(RectFSpringAnim anim) { super.setAnimation(anim); @@ -245,6 +235,8 @@ public class LauncherSwipeHandlerV2 extends isTargetTranslucent, fallbackBackgroundColor); return new FloatingViewHomeAnimationFactory(floatingWidgetView) { + @Nullable + private RectF mTargetRect; @Override @Nullable @@ -254,8 +246,14 @@ public class LauncherSwipeHandlerV2 extends @Override public RectF getWindowTargetRect() { - super.getWindowTargetRect(); - return backgroundLocation; + if (enableScalingRevealHomeAnimation()) { + if (mTargetRect == null) { + mTargetRect = new RectF(backgroundLocation); + } + return mTargetRect; + } else { + return backgroundLocation; + } } @Override @@ -266,10 +264,11 @@ public class LauncherSwipeHandlerV2 extends @Override public void setAnimation(RectFSpringAnim anim) { super.setAnimation(anim); - - anim.addAnimatorListener(floatingWidgetView); - floatingWidgetView.setOnTargetChangeListener(anim::onTargetPositionChanged); - floatingWidgetView.setFastFinishRunnable(anim::end); + mSiblingAnimation = anim; + mSiblingAnimation.addAnimatorListener(floatingWidgetView); + floatingWidgetView.setOnTargetChangeListener( + mSiblingAnimation::onTargetPositionChanged); + floatingWidgetView.setFastFinishRunnable(mSiblingAnimation::end); } @Override @@ -330,13 +329,22 @@ public class LauncherSwipeHandlerV2 extends } private class FloatingViewHomeAnimationFactory extends LauncherHomeAnimationFactory { - private final FloatingView mFloatingView; + @Nullable + protected RectFSpringAnim mSiblingAnimation; FloatingViewHomeAnimationFactory(FloatingView floatingView) { mFloatingView = floatingView; } + @Override + protected void playScalingRevealAnimation() { + if (mContainer != null) { + new ScalingWorkspaceRevealAnim(mContainer, mSiblingAnimation, + getWindowTargetRect()).start(); + } + } + @Override public void onCancel() { mFloatingView.fastFinish();