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

Commit 184d9409 authored by Michael Wright's avatar Michael Wright Committed by android-build-merger
Browse files

Merge "Have doze update the scrim controller rather than the scrim state." into pi-dev

am: bae834c0

Change-Id: I748c1a5d0206e7ded1589f12d5329468c09dcb48
parents 4a2cb848 bae834c0
Loading
Loading
Loading
Loading
+12 −0
Original line number Original line Diff line number Diff line
@@ -449,6 +449,18 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
        mScrimBehind.setDrawable(drawable);
        mScrimBehind.setDrawable(drawable);
    }
    }


    /**
     * Sets the front alpha while in AOD.
     */
    public void setAodFrontScrimAlpha(float alpha) {
        if (mState == ScrimState.AOD && mCurrentInFrontAlpha != alpha) {
            mCurrentInFrontAlpha = alpha;
            scheduleUpdate();
        }

        mState.AOD.setAodFrontScrimAlpha(alpha);
    }

    protected void scheduleUpdate() {
    protected void scheduleUpdate() {
        if (mUpdatePending) return;
        if (mUpdatePending) return;


+1 −1
Original line number Original line Diff line number Diff line
@@ -4883,7 +4883,7 @@ public class StatusBar extends SystemUI implements DemoMode,


        @Override
        @Override
        public void setAodDimmingScrim(float scrimOpacity) {
        public void setAodDimmingScrim(float scrimOpacity) {
            ScrimState.AOD.setAodFrontScrimAlpha(scrimOpacity);
            mScrimController.setAodFrontScrimAlpha(scrimOpacity);
        }
        }


        public void dispatchDoubleTap(float viewX, float viewY) {
        public void dispatchDoubleTap(float viewX, float viewY) {
+32 −0
Original line number Original line Diff line number Diff line
@@ -156,6 +156,38 @@ public class ScrimControllerTest extends SysuiTestCase {
        assertScrimTint(mScrimInFront, true /* tinted */);
        assertScrimTint(mScrimInFront, true /* tinted */);
    }
    }


    @Test
    public void transitionToAod_withFrontAlphaUpdates() {
        // Assert that setting the AOD front scrim alpha doesn't take effect in a non-AOD state.
        mScrimController.transitionTo(ScrimState.KEYGUARD);
        mScrimController.setAodFrontScrimAlpha(0.5f);
        mScrimController.finishAnimationsImmediately();
        // Front scrim should be transparent
        // Back scrim should be visible without tint
        assertScrimVisibility(VISIBILITY_FULLY_TRANSPARENT, VISIBILITY_SEMI_TRANSPARENT);

        // ... but that it does take effect once we enter the AOD state.
        mScrimController.transitionTo(ScrimState.AOD);
        mScrimController.finishAnimationsImmediately();
        // Front scrim should be semi-transparent
        // Back scrim should be visible
        assertScrimVisibility(VISIBILITY_SEMI_TRANSPARENT, VISIBILITY_FULLY_OPAQUE);

        // ... and that if we set it while we're in AOD, it does take immediate effect.
        mScrimController.setAodFrontScrimAlpha(1f);
        assertScrimVisibility(VISIBILITY_FULLY_OPAQUE, VISIBILITY_FULLY_OPAQUE);

        // ... and make sure we recall the previous front scrim alpha even if we transition away
        // for a bit.
        mScrimController.transitionTo(ScrimState.UNLOCKED);
        mScrimController.transitionTo(ScrimState.AOD);
        mScrimController.finishAnimationsImmediately();
        assertScrimVisibility(VISIBILITY_FULLY_OPAQUE, VISIBILITY_FULLY_OPAQUE);

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

    @Test
    @Test
    public void transitionToPulsing() {
    public void transitionToPulsing() {
        // Pre-condition
        // Pre-condition