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

Commit 97b6ae0f authored by Matt Pietal's avatar Matt Pietal Committed by Android (Google) Code Review
Browse files

Merge "Update behind scrim if occlusion changes" into main

parents d595c778 63608f23
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -1312,11 +1312,12 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
        }

        // We also want to hide FLAG_SHOW_WHEN_LOCKED activities under the scrim.
        boolean hideFlagShowWhenLockedActivities =
                (mState == ScrimState.PULSING || mState == ScrimState.AOD)
                && mKeyguardOccluded;
        if (hideFlagShowWhenLockedActivities) {
        if (mState == ScrimState.PULSING || mState == ScrimState.AOD) {
            if (mKeyguardOccluded) {
                mBehindAlpha = 1;
            } else {
                mBehindAlpha = 0;
            }
        }
        // Prevent notification scrim flicker when transitioning away from keyguard.
        if (mKeyguardStateController.isKeyguardGoingAway()) {
+19 −0
Original line number Diff line number Diff line
@@ -1889,6 +1889,25 @@ public class ScrimControllerTest extends SysuiTestCase {
                mNotificationsScrim, TRANSPARENT));
    }

    @Test
    @DisableSceneContainer
    public void testBehindScrimSetToZeroWhenOcclusionChangesToFalse() {
        mScrimController.setKeyguardOccluded(true);
        mScrimController.legacyTransitionTo(ScrimState.AOD);
        finishAnimationsImmediately();
        assertScrimAlpha(Map.of(
                mScrimInFront, TRANSPARENT,
                mScrimBehind, OPAQUE,
                mNotificationsScrim, TRANSPARENT));

        mScrimController.setKeyguardOccluded(false);
        finishAnimationsImmediately();
        assertScrimAlpha(Map.of(
                mScrimInFront, TRANSPARENT,
                mScrimBehind, TRANSPARENT,
                mNotificationsScrim, TRANSPARENT));
    }

    @Test
    @DisableSceneContainer
    public void notificationAlpha_inKeyguardState_bouncerNotActive_clipsQsScrimFalse() {