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

Commit 1c63bdcc authored by Lucas Dupin's avatar Lucas Dupin Committed by android-build-merger
Browse files

Merge "Keep scrim black when "always on" is off" into pi-dev

am: 402e2a2b

Change-Id: Iecc4ff6e4f1861e8adec33e912d71be051ccb98d
parents 682b36a5 402e2a2b
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -450,10 +450,18 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
    }

    /**
     * Sets the front alpha while in AOD.
     * Sets the front scrim opacity in AOD so it's not as bright.
     * <p>
     * Displays usually don't support multiple dimming settings when in low power mode.
     * The workaround is to modify the front scrim opacity when in AOD, so it's not as
     * bright when you're at the movies or lying down on bed.
     * <p>
     * This value will be lost during transitions and only updated again after the the
     * device is dozing when the light sensor is on.
     */
    public void setAodFrontScrimAlpha(float alpha) {
        if (mState == ScrimState.AOD && mCurrentInFrontAlpha != alpha) {
        if (mState == ScrimState.AOD && mDozeParameters.getAlwaysOn()
                && mCurrentInFrontAlpha != alpha) {
            mCurrentInFrontAlpha = alpha;
            scheduleUpdate();
        }
+10 −0
Original line number Diff line number Diff line
@@ -184,6 +184,16 @@ public class ScrimControllerTest extends SysuiTestCase {
        mScrimController.finishAnimationsImmediately();
        assertScrimVisibility(VISIBILITY_FULLY_OPAQUE, VISIBILITY_FULLY_OPAQUE);

        // ... and alpha updates should be completely ignored if always_on is off.
        // Passing it forward would mess up the wake-up transition.
        mAlwaysOnEnabled = false;
        mScrimController.transitionTo(ScrimState.UNLOCKED);
        mScrimController.transitionTo(ScrimState.AOD);
        mScrimController.finishAnimationsImmediately();
        mScrimController.setAodFrontScrimAlpha(0.3f);
        Assert.assertEquals(ScrimState.AOD.getFrontAlpha(), mScrimInFront.getViewAlpha(), 0.001f);
        Assert.assertNotEquals(0.3f, mScrimInFront.getViewAlpha(), 0.001f);

        // Reset value since enums are static.
        mScrimController.setAodFrontScrimAlpha(0f);
    }