Use test's TestableLooper
Fixes: 124858892
Test: atest ScrimControllerTest
Change-Id: Ib35e2d39a660472ff238cf5e3eded5c5afa39e8b
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java
index f88b64a..6db3624 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java
@@ -37,12 +37,10 @@
import android.app.AlarmManager;
import android.graphics.Color;
import android.os.Handler;
-import android.os.Looper;
import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper;
import android.view.View;
-import androidx.test.filters.FlakyTest;
import androidx.test.filters.SmallTest;
import com.android.internal.colorextraction.ColorExtractor.GradientColors;
@@ -78,6 +76,7 @@
private WakeLock mWakeLock;
private boolean mAlwaysOnEnabled;
private AlarmManager mAlarmManager;
+ private TestableLooper mLooper;
@Before
@@ -88,6 +87,7 @@
mAlarmManager = mock(AlarmManager.class);
mAlwaysOnEnabled = true;
mDozeParamenters = mock(DozeParameters.class);
+ mLooper = TestableLooper.get(this);
when(mDozeParamenters.getAlwaysOn()).thenAnswer(invocation -> mAlwaysOnEnabled);
when(mDozeParamenters.getDisplayNeedsBlanking()).thenReturn(true);
mScrimController = new SynchronousScrimController(mScrimBehind, mScrimInFront,
@@ -253,7 +253,6 @@
assertScrimTint(mScrimBehind, false /* tinted */);
}
- @FlakyTest(bugId = 124858892)
@Test
public void transitionToUnlocked() {
mScrimController.setPanelExpansion(0f);
@@ -298,7 +297,6 @@
Assert.assertEquals(mScrimState, ScrimState.BOUNCER_SCRIMMED);
}
- @FlakyTest(bugId = 124858892)
@Test
public void panelExpansion() {
mScrimController.setPanelExpansion(0f);
@@ -321,7 +319,6 @@
mScrimBehindAlpha, mScrimBehind.getViewAlpha(), 0.01f);
}
- @FlakyTest(bugId = 124858892)
@Test
public void panelExpansionAffectsAlpha() {
mScrimController.setPanelExpansion(0f);
@@ -666,7 +663,6 @@
*/
private class SynchronousScrimController extends ScrimController {
- private FakeHandler mHandler;
private boolean mAnimationCancelled;
boolean mOnPreDrawCalled;
@@ -676,7 +672,6 @@
AlarmManager alarmManager) {
super(scrimBehind, scrimInFront, scrimStateListener, scrimVisibleListener,
dozeParameters, alarmManager);
- mHandler = new FakeHandler(Looper.myLooper());
}
@Override
@@ -688,13 +683,10 @@
void finishAnimationsImmediately() {
boolean[] animationFinished = {false};
setOnAnimationFinished(()-> animationFinished[0] = true);
-
// Execute code that will trigger animations.
onPreDraw();
-
- // Force finish screen blanking.
- mHandler.dispatchQueuedMessages();
// Force finish all animations.
+ mLooper.processAllMessages();
endAnimation(mScrimBehind, TAG_KEY_ANIM);
endAnimation(mScrimInFront, TAG_KEY_ANIM);
@@ -724,7 +716,7 @@
@Override
protected Handler getHandler() {
- return mHandler;
+ return new FakeHandler(mLooper.getLooper());
}
@Override