summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Behnam Heydarshahi <bhnm@google.com> 2023-08-02 14:13:35 +0000
committer Behnam Heydarshahi <bhnm@google.com> 2023-08-05 12:26:28 +0000
commit8c2ced254a37eb0b47c9340c4cf1e3d5ce08f940 (patch)
treec3c912c4ee7c5bdab7254ac41551a7abf2ed243e
parenta6c8f32a29ab53b69d7ce2f736d0a1c696cd55e8 (diff)
Process lingering animators after volume tests
The Animator inside dismissH has an endAction that postDelays on handler. Previously we only cleared the handler queue. This CL removes the endAction of the animator. It also advances looper time, to make sure there are no future messages left after test tear down. Bug: b/290612381 Test: atest VolumeDialogImplTest Change-Id: I0518f7323eb0900bf734cdc55cf8132bd0b5523b
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/volume/VolumeDialogImplTest.java12
1 files changed, 12 insertions, 0 deletions
diff --git a/packages/SystemUI/tests/src/com/android/systemui/volume/VolumeDialogImplTest.java b/packages/SystemUI/tests/src/com/android/systemui/volume/VolumeDialogImplTest.java
index ee11cb63a375..fa18e575220c 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/volume/VolumeDialogImplTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/volume/VolumeDialogImplTest.java
@@ -38,6 +38,7 @@ import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import android.animation.AnimatorTestRule;
import android.app.KeyguardManager;
import android.content.res.Configuration;
import android.media.AudioManager;
@@ -84,6 +85,7 @@ import java.util.function.Predicate;
@RunWith(AndroidTestingRunner.class)
@TestableLooper.RunWithLooper
public class VolumeDialogImplTest extends SysuiTestCase {
+ private static final AnimatorTestRule sAnimatorTestRule = new AnimatorTestRule();
VolumeDialogImpl mDialog;
View mActiveRinger;
@@ -126,6 +128,7 @@ public class VolumeDialogImplTest extends SysuiTestCase {
};
private FakeFeatureFlags mFeatureFlags;
+ private int mLongestHideShowAnimationDuration = 250;
@Before
public void setup() throws Exception {
@@ -138,6 +141,13 @@ public class VolumeDialogImplTest extends SysuiTestCase {
when(mPostureController.getDevicePosture())
.thenReturn(DevicePostureController.DEVICE_POSTURE_CLOSED);
+ int hideDialogDuration = mContext.getResources()
+ .getInteger(R.integer.config_dialogHideAnimationDurationMs);
+ int showDialogDuration = mContext.getResources()
+ .getInteger(R.integer.config_dialogShowAnimationDurationMs);
+
+ mLongestHideShowAnimationDuration = Math.max(hideDialogDuration, showDialogDuration);
+
mOriginalOrientation = mContext.getResources().getConfiguration().orientation;
mConfigurationController = new FakeConfigurationController();
@@ -717,6 +727,8 @@ public class VolumeDialogImplTest extends SysuiTestCase {
public void teardown() {
cleanUp(mDialog);
setOrientation(mOriginalOrientation);
+ sAnimatorTestRule.advanceTimeBy(mLongestHideShowAnimationDuration);
+ mTestableLooper.moveTimeForward(mLongestHideShowAnimationDuration);
mTestableLooper.processAllMessages();
reset(mPostureController);
}