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

Commit 7ae8c428 authored by Aaron Liu's avatar Aaron Liu Committed by Automerger Merge Worker
Browse files

Merge "[Scrim] Remove notif scrim flicker on unlock" into tm-dev am:...

Merge "[Scrim] Remove notif scrim flicker on unlock" into tm-dev am: a20c177e am: 371aba78 am: 6c65aae3

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17756042



Change-Id: I18498d0e861e52293963513cdb812f7e4d8fdae5
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 8e404554 6c65aae3
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -850,7 +850,11 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
            // At the end of a launch animation over the lockscreen, the state is either KEYGUARD or
            // SHADE_LOCKED and this code is called. We have to set the notification alpha to 0
            // otherwise there is a flicker to its previous value.
            if (mKeyguardOccluded) {
            boolean hideNotificationScrim = (mState == ScrimState.KEYGUARD
                    && mTransitionToFullShadeProgress == 0
                    && mQsExpansion == 0
                    && !mClipsQsScrim);
            if (mKeyguardOccluded || hideNotificationScrim) {
                mNotificationsAlpha = 0;
            }
            if (mUnOcclusionAnimationRunning && mState == ScrimState.KEYGUARD) {
+12 −0
Original line number Diff line number Diff line
@@ -1270,6 +1270,7 @@ public class ScrimControllerTest extends SysuiTestCase {
    @Test
    public void notificationAlpha_unnocclusionAnimating_bouncerActive_usesKeyguardNotifAlpha() {
        when(mStatusBarKeyguardViewManager.isBouncerInTransit()).thenReturn(true);
        mScrimController.setClipsQsScrim(true);

        mScrimController.transitionTo(ScrimState.KEYGUARD);
        mScrimController.setUnocclusionAnimationRunning(true);
@@ -1312,6 +1313,7 @@ public class ScrimControllerTest extends SysuiTestCase {
    @Test
    public void notificationAlpha_inKeyguardState_bouncerActive_usesInvertedBouncerInterpolator() {
        when(mStatusBarKeyguardViewManager.isBouncerInTransit()).thenReturn(true);
        mScrimController.setClipsQsScrim(true);

        mScrimController.transitionTo(ScrimState.KEYGUARD);

@@ -1331,6 +1333,7 @@ public class ScrimControllerTest extends SysuiTestCase {
    @Test
    public void notificationAlpha_inKeyguardState_bouncerNotActive_usesInvertedShadeInterpolator() {
        when(mStatusBarKeyguardViewManager.isBouncerInTransit()).thenReturn(false);
        mScrimController.setClipsQsScrim(true);

        mScrimController.transitionTo(ScrimState.KEYGUARD);

@@ -1478,6 +1481,15 @@ public class ScrimControllerTest extends SysuiTestCase {
                mNotificationsScrim, TRANSPARENT));
    }

    @Test
    public void notificationAlpha_inKeyguardState_bouncerNotActive_clipsQsScrimFalse() {
        mScrimController.setClipsQsScrim(false);
        mScrimController.transitionTo(ScrimState.KEYGUARD);

        float expansion = 0.8f;
        assertAlphaAfterExpansion(mNotificationsScrim, 0f, expansion);
    }

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