Make sure scrims will fade from black
Scrims might be light if the wallpaper is light, but when turning on the screen, we should always fade from black, otherwise the display will bright up before dimming down. Test: pulse with light wallpaper and AOD on/off Test: press power with AOD on/off Test: atest ScrimControllerTest Fixes: 138097741 Change-Id: Icc1ce276c839bce248ab9362a5d8cf4905201e0e
This commit is contained in:
@@ -491,8 +491,10 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
|
||||
* away once the display turns on.
|
||||
*/
|
||||
public void prepareForGentleWakeUp() {
|
||||
if (mState == ScrimState.AOD && mDozeParameters.getAlwaysOn()) {
|
||||
if (mState == ScrimState.AOD) {
|
||||
mCurrentInFrontAlpha = 1f;
|
||||
mCurrentInFrontTint = Color.BLACK;
|
||||
mCurrentBehindTint = Color.BLACK;
|
||||
mAnimateChange = false;
|
||||
updateScrims();
|
||||
mAnimateChange = true;
|
||||
|
||||
@@ -129,7 +129,10 @@ public enum ScrimState {
|
||||
public void prepare(ScrimState previousState) {
|
||||
mCurrentInFrontAlpha = 0f;
|
||||
mCurrentBehindTint = Color.BLACK;
|
||||
mCurrentInFrontTint = Color.BLACK;
|
||||
mBlankScreen = mDisplayRequiresBlanking;
|
||||
mAnimationDuration = mWakeLockScreenSensorActive
|
||||
? ScrimController.ANIMATION_DURATION_LONG : ScrimController.ANIMATION_DURATION;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -225,11 +225,12 @@ public class ScrimControllerTest extends SysuiTestCase {
|
||||
|
||||
mScrimController.transitionTo(ScrimState.PULSING);
|
||||
mScrimController.finishAnimationsImmediately();
|
||||
// Front scrim should be transparent
|
||||
// Front scrim should be transparent, but tinted
|
||||
// Back scrim should be semi-transparent so the user can see the wallpaper
|
||||
// Pulse callback should have been invoked
|
||||
assertScrimVisibility(VISIBILITY_FULLY_TRANSPARENT, VISIBILITY_FULLY_OPAQUE);
|
||||
assertScrimTint(mScrimBehind, true /* tinted */);
|
||||
assertScrimTint(mScrimInFront, true /* tinted */);
|
||||
|
||||
mScrimController.setWakeLockScreenSensorActive(true);
|
||||
mScrimController.finishAnimationsImmediately();
|
||||
|
||||
Reference in New Issue
Block a user