Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a7eacf93 authored by Lucas Dupin's avatar Lucas Dupin
Browse files

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
parent 2a26810a
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -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;
+3 −0
Original line number Diff line number Diff line
@@ -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
+2 −1
Original line number Diff line number Diff line
@@ -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();