Merge "Apply front scrim to doze pulsing" into qt-qpr1-dev

am: 513a591c02

Change-Id: I59a7484513dfd2bea95d0d5c8691f9c4e31e5ebc
This commit is contained in:
Chris.CC Lee
2019-09-20 18:34:12 -07:00
committed by android-build-merger
3 changed files with 19 additions and 7 deletions

View File

@@ -473,11 +473,11 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
if (mDarkenWhileDragging) {
mBehindAlpha = MathUtils.lerp(GRADIENT_SCRIM_ALPHA_BUSY, alphaBehind,
interpolatedFract);
mInFrontAlpha = 0;
mInFrontAlpha = mState.getFrontAlpha();
} else {
mBehindAlpha = MathUtils.lerp(0 /* start */, alphaBehind,
interpolatedFract);
mInFrontAlpha = 0;
mInFrontAlpha = mState.getFrontAlpha();
}
mBehindTint = ColorUtils.blendARGB(ScrimState.BOUNCER.getBehindTint(),
mState.getBehindTint(), interpolatedFract);
@@ -503,13 +503,14 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
* device is dozing when the light sensor is on.
*/
public void setAodFrontScrimAlpha(float alpha) {
if (mState == ScrimState.AOD && mDozeParameters.getAlwaysOn()
&& mInFrontAlpha != alpha) {
if (((mState == ScrimState.AOD && mDozeParameters.getAlwaysOn())
|| mState == ScrimState.PULSING) && mInFrontAlpha != alpha) {
mInFrontAlpha = alpha;
updateScrims();
}
mState.AOD.setAodFrontScrimAlpha(alpha);
mState.PULSING.setAodFrontScrimAlpha(alpha);
}
/**

View File

@@ -139,7 +139,7 @@ public enum ScrimState {
PULSING(5) {
@Override
public void prepare(ScrimState previousState) {
mFrontAlpha = 0f;
mFrontAlpha = mAodFrontScrimAlpha;
mBubbleAlpha = 0f;
mBehindTint = Color.BLACK;
mFrontTint = Color.BLACK;

View File

@@ -241,7 +241,7 @@ public class ScrimControllerTest extends SysuiTestCase {
}
@Test
public void transitionToPulsing() {
public void transitionToPulsing_withFrontAlphaUpdates() {
// Pre-condition
// Need to go to AoD first because PULSING doesn't change
// the back scrim opacity - otherwise it would hide AoD wallpapers.
@@ -265,11 +265,22 @@ public class ScrimControllerTest extends SysuiTestCase {
true /* behind */,
false /* bubble */);
// ... and when ambient goes dark, front scrim should be semi-transparent
mScrimController.setAodFrontScrimAlpha(0.5f);
mScrimController.finishAnimationsImmediately();
// Front scrim should be semi-transparent
assertScrimAlpha(SEMI_TRANSPARENT /* front */,
OPAQUE /* back */,
TRANSPARENT /* bubble */);
mScrimController.setWakeLockScreenSensorActive(true);
mScrimController.finishAnimationsImmediately();
assertScrimAlpha(TRANSPARENT /* front */,
assertScrimAlpha(SEMI_TRANSPARENT /* front */,
SEMI_TRANSPARENT /* back */,
TRANSPARENT /* bubble */);
// Reset value since enums are static.
mScrimController.setAodFrontScrimAlpha(0f);
}
@Test