diff options
| -rw-r--r-- | packages/SystemUI/tests/src/com/android/systemui/accessibility/WindowMagnificationAnimationControllerTest.java | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/packages/SystemUI/tests/src/com/android/systemui/accessibility/WindowMagnificationAnimationControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/accessibility/WindowMagnificationAnimationControllerTest.java index 2afb3a15b4be..d86d12303140 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/accessibility/WindowMagnificationAnimationControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/accessibility/WindowMagnificationAnimationControllerTest.java @@ -640,11 +640,10 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { @Test public void deleteWindowMagnification_enabling_expectedValuesAndInvokeCallback() throws RemoteException { - enableWindowMagnificationAndWaitAnimating(mWaitPartialAnimationDuration, mAnimationCallback); - Mockito.reset(mSpyController); + resetMockObjects(); getInstrumentation().runOnMainSync(() -> { mWindowMagnificationAnimationController.deleteWindowMagnification( mAnimationCallback2); @@ -658,6 +657,11 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { mValueAnimator.end(); }); + // wait for animation returns + waitForIdleSync(); + + // {@link ValueAnimator.AnimatorUpdateListener#onAnimationUpdate(ValueAnimator)} will only + // be triggered once in {@link ValueAnimator#end()} verify(mSpyController).enableWindowMagnificationInternal( mScaleCaptor.capture(), mCenterXCaptor.capture(), mCenterYCaptor.capture(), @@ -717,7 +721,11 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { deleteWindowMagnificationAndWaitAnimating(mWaitPartialAnimationDuration, mAnimationCallback); - deleteWindowMagnificationAndWaitAnimating(0, null); + // Verifying that WindowMagnificationController#deleteWindowMagnification is never called + // in previous steps + verify(mSpyController, never()).deleteWindowMagnification(); + + deleteWindowMagnificationWithoutAnimation(); verify(mSpyController).deleteWindowMagnification(); verifyFinalSpec(Float.NaN, Float.NaN, Float.NaN); @@ -810,6 +818,8 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { mWindowMagnificationAnimationController.enableWindowMagnification( targetScale, targetCenterX, targetCenterY, null); }); + // wait for animation returns + waitForIdleSync(); } private void enableWindowMagnificationAndWaitAnimating(long duration, @@ -829,12 +839,16 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { targetScale, targetCenterX, targetCenterY, callback); advanceTimeBy(duration); }); + // wait for animation returns + waitForIdleSync(); } private void deleteWindowMagnificationWithoutAnimation() { getInstrumentation().runOnMainSync(() -> { mWindowMagnificationAnimationController.deleteWindowMagnification(null); }); + // wait for animation returns + waitForIdleSync(); } private void deleteWindowMagnificationAndWaitAnimating(long duration, @@ -843,6 +857,8 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { mWindowMagnificationAnimationController.deleteWindowMagnification(callback); advanceTimeBy(duration); }); + // wait for animation returns + waitForIdleSync(); } private void verifyStartValue(ArgumentCaptor<Float> captor, float startValue) { |