Loading services/core/java/com/android/server/wm/SurfaceAnimator.java +2 −1 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ class SurfaceAnimator { final Animatable mAnimatable; private final OnAnimationFinishedCallback mInnerAnimationFinishedCallback; @VisibleForTesting @Nullable final Runnable mAnimationFinishedCallback; private boolean mAnimationStartDelayed; Loading Loading @@ -262,7 +263,7 @@ class SurfaceAnimator { if (!mAnimationStartDelayed && forwardCancel) { animation.onAnimationCancelled(leash); } if (!restarting) { if (!restarting && mAnimationFinishedCallback != null) { mAnimationFinishedCallback.run(); } } Loading services/tests/wmtests/src/com/android/server/wm/SurfaceAnimatorTest.java +13 −0 Original line number Diff line number Diff line Loading @@ -137,6 +137,19 @@ public class SurfaceAnimatorTest extends WindowTestsBase { verify(mTransaction).remove(eq(mAnimatable.mLeash)); } @Test public void testCancelWithNullFinishCallbackAnimation() { SurfaceAnimator animator = new SurfaceAnimator(mAnimatable, null, mWm); animator.startAnimation(mTransaction, mSpec, true /* hidden */); assertTrue(animator.isAnimating()); assertNotNull(animator.getAnimation()); animator.cancelAnimation(); assertFalse(animator.isAnimating()); assertNull(animator.getAnimation()); verify(mSpec).onAnimationCancelled(any()); verify(mTransaction).remove(eq(mAnimatable.mLeash)); } @Test public void testDelayingAnimationStart() { mAnimatable.mSurfaceAnimator.startDelayingAnimationStart(); Loading Loading
services/core/java/com/android/server/wm/SurfaceAnimator.java +2 −1 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ class SurfaceAnimator { final Animatable mAnimatable; private final OnAnimationFinishedCallback mInnerAnimationFinishedCallback; @VisibleForTesting @Nullable final Runnable mAnimationFinishedCallback; private boolean mAnimationStartDelayed; Loading Loading @@ -262,7 +263,7 @@ class SurfaceAnimator { if (!mAnimationStartDelayed && forwardCancel) { animation.onAnimationCancelled(leash); } if (!restarting) { if (!restarting && mAnimationFinishedCallback != null) { mAnimationFinishedCallback.run(); } } Loading
services/tests/wmtests/src/com/android/server/wm/SurfaceAnimatorTest.java +13 −0 Original line number Diff line number Diff line Loading @@ -137,6 +137,19 @@ public class SurfaceAnimatorTest extends WindowTestsBase { verify(mTransaction).remove(eq(mAnimatable.mLeash)); } @Test public void testCancelWithNullFinishCallbackAnimation() { SurfaceAnimator animator = new SurfaceAnimator(mAnimatable, null, mWm); animator.startAnimation(mTransaction, mSpec, true /* hidden */); assertTrue(animator.isAnimating()); assertNotNull(animator.getAnimation()); animator.cancelAnimation(); assertFalse(animator.isAnimating()); assertNull(animator.getAnimation()); verify(mSpec).onAnimationCancelled(any()); verify(mTransaction).remove(eq(mAnimatable.mLeash)); } @Test public void testDelayingAnimationStart() { mAnimatable.mSurfaceAnimator.startDelayingAnimationStart(); Loading