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

Commit 2bda393c authored by Aaron Liu's avatar Aaron Liu
Browse files

Scrim: Remove scrim flicker

Remove scrim flicker when we unlock with bouncer.

Bug: 226424400
Test: Manual with device and unit test
Change-Id: Id2922ae6d86d64f42126d11843844c2349e56284
parent adf9921e
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -1021,6 +1021,10 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
        if (aodWallpaperTimeout || occludedKeyguard) {
            mBehindAlpha = 1;
        }
        // Prevent notification scrim flicker when transitioning away from keyguard.
        if (mKeyguardStateController.isKeyguardGoingAway()) {
            mNotificationsAlpha = 0;
        }
        setScrimAlpha(mScrimInFront, mInFrontAlpha);
        setScrimAlpha(mScrimBehind, mBehindAlpha);
        setScrimAlpha(mNotificationsScrim, mNotificationsAlpha);
+9 −0
Original line number Diff line number Diff line
@@ -1351,6 +1351,15 @@ public class ScrimControllerTest extends SysuiTestCase {
        ));
    }

    @Test
    public void keyguardGoingAwayUpdateScrims() {
        when(mKeyguardStateController.isKeyguardGoingAway()).thenReturn(true);
        mScrimController.updateScrims();
        finishAnimationsImmediately();
        assertThat(mNotificationsScrim.getViewAlpha()).isEqualTo(TRANSPARENT);
    }


    private void assertAlphaAfterExpansion(ScrimView scrim, float expectedAlpha, float expansion) {
        mScrimController.setRawPanelExpansionFraction(expansion);
        finishAnimationsImmediately();