summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Lucas Dupin <dupin@google.com> 2019-03-06 17:03:45 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2019-03-06 17:03:45 +0000
commit14696c131ecf0171af6f64db0184d8ef947b3eb3 (patch)
tree92c66be1fe03a96a7117a58e4b8a611487b11740
parent715b34be651ebcce2cac97440364b141aebe6606 (diff)
parent54fbfb3c0697bf85b0750202e9f7247065fa3452 (diff)
Merge "Use test's TestableLooper"
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java20
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java16
2 files changed, 14 insertions, 22 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
index 7bbd3b526892..8714a51f98d4 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
@@ -114,6 +114,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
private final DozeParameters mDozeParameters;
private final AlarmTimeout mTimeTicker;
private final KeyguardVisibilityCallback mKeyguardVisibilityCallback;
+ private final Handler mHandler;
private final SysuiColorExtractor mColorExtractor;
private GradientColors mLockColors;
@@ -174,8 +175,9 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
mKeyguardVisibilityCallback = new KeyguardVisibilityCallback();
mKeyguardUpdateMonitor.registerCallback(mKeyguardVisibilityCallback);
mScrimBehindAlphaResValue = mContext.getResources().getFloat(R.dimen.scrim_behind_alpha);
+ mHandler = getHandler();
mTimeTicker = new AlarmTimeout(alarmManager, this::onHideWallpaperTimeout,
- "hide_aod_wallpaper", new Handler());
+ "hide_aod_wallpaper", mHandler);
mWakeLock = createWakeLock();
// Scrim alpha is initially set to the value on the resource but might be changed
// to make sure that text on top of it is legible.
@@ -253,8 +255,8 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
mScrimBehind.removeCallbacks(mPendingFrameCallback);
mPendingFrameCallback = null;
}
- if (getHandler().hasCallbacks(mBlankingTransitionRunnable)) {
- getHandler().removeCallbacks(mBlankingTransitionRunnable);
+ if (mHandler.hasCallbacks(mBlankingTransitionRunnable)) {
+ mHandler.removeCallbacks(mBlankingTransitionRunnable);
mBlankingTransitionRunnable = null;
}
@@ -768,7 +770,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
if (DEBUG) {
Log.d(TAG, "Fading out scrims with delay: " + delay);
}
- getHandler().postDelayed(mBlankingTransitionRunnable, delay);
+ mHandler.postDelayed(mBlankingTransitionRunnable, delay);
};
doOnTheNextFrame(mPendingFrameCallback);
}
@@ -786,7 +788,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
@VisibleForTesting
protected Handler getHandler() {
- return Handler.getMain();
+ return new Handler();
}
public int getBackgroundColor() {
@@ -821,8 +823,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
@VisibleForTesting
protected WakeLock createWakeLock() {
- return new DelayedWakeLock(getHandler(),
- WakeLock.createPartial(mContext, "Scrims"));
+ return new DelayedWakeLock(mHandler, WakeLock.createPartial(mContext, "Scrims"));
}
@Override
@@ -853,12 +854,11 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
*/
public void onScreenTurnedOn() {
mScreenOn = true;
- final Handler handler = getHandler();
- if (handler.hasCallbacks(mBlankingTransitionRunnable)) {
+ if (mHandler.hasCallbacks(mBlankingTransitionRunnable)) {
if (DEBUG) {
Log.d(TAG, "Shorter blanking because screen turned on. All good.");
}
- handler.removeCallbacks(mBlankingTransitionRunnable);
+ mHandler.removeCallbacks(mBlankingTransitionRunnable);
mBlankingTransitionRunnable.run();
}
}
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 f88b64a65e28..6db36243bb07 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.animation.ValueAnimator;
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 @@ public class ScrimControllerTest extends SysuiTestCase {
private WakeLock mWakeLock;
private boolean mAlwaysOnEnabled;
private AlarmManager mAlarmManager;
+ private TestableLooper mLooper;
@Before
@@ -88,6 +87,7 @@ public class ScrimControllerTest extends SysuiTestCase {
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 @@ public class ScrimControllerTest extends SysuiTestCase {
assertScrimTint(mScrimBehind, false /* tinted */);
}
- @FlakyTest(bugId = 124858892)
@Test
public void transitionToUnlocked() {
mScrimController.setPanelExpansion(0f);
@@ -298,7 +297,6 @@ public class ScrimControllerTest extends SysuiTestCase {
Assert.assertEquals(mScrimState, ScrimState.BOUNCER_SCRIMMED);
}
- @FlakyTest(bugId = 124858892)
@Test
public void panelExpansion() {
mScrimController.setPanelExpansion(0f);
@@ -321,7 +319,6 @@ public class ScrimControllerTest extends SysuiTestCase {
mScrimBehindAlpha, mScrimBehind.getViewAlpha(), 0.01f);
}
- @FlakyTest(bugId = 124858892)
@Test
public void panelExpansionAffectsAlpha() {
mScrimController.setPanelExpansion(0f);
@@ -666,7 +663,6 @@ public class ScrimControllerTest extends SysuiTestCase {
*/
private class SynchronousScrimController extends ScrimController {
- private FakeHandler mHandler;
private boolean mAnimationCancelled;
boolean mOnPreDrawCalled;
@@ -676,7 +672,6 @@ public class ScrimControllerTest extends SysuiTestCase {
AlarmManager alarmManager) {
super(scrimBehind, scrimInFront, scrimStateListener, scrimVisibleListener,
dozeParameters, alarmManager);
- mHandler = new FakeHandler(Looper.myLooper());
}
@Override
@@ -688,13 +683,10 @@ public class ScrimControllerTest extends SysuiTestCase {
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 @@ public class ScrimControllerTest extends SysuiTestCase {
@Override
protected Handler getHandler() {
- return mHandler;
+ return new FakeHandler(mLooper.getLooper());
}
@Override