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

Commit 7690bc4d authored by Aaron Liu's avatar Aaron Liu Committed by Anton Hansson
Browse files

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

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



Merged-In: I0cfa7cd40b69c5c9ea7eeb708f1a073f307918cb
Change-Id: Ica9d142e7ff409e61d4a45f689582ee23aaf8266
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents e245f5cd a20c177e
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) {
+15 −3
Original line number Diff line number Diff line
@@ -1269,7 +1269,8 @@ public class ScrimControllerTest extends SysuiTestCase {

    @Test
    public void notificationAlpha_unnocclusionAnimating_bouncerActive_usesKeyguardNotifAlpha() {
        when(mStatusBarKeyguardViewManager.bouncerIsInTransit()).thenReturn(true);
        when(mStatusBarKeyguardViewManager.isBouncerInTransit()).thenReturn(true);
        mScrimController.setClipsQsScrim(true);

        mScrimController.transitionTo(ScrimState.KEYGUARD);
        mScrimController.setUnocclusionAnimationRunning(true);
@@ -1311,7 +1312,8 @@ public class ScrimControllerTest extends SysuiTestCase {

    @Test
    public void notificationAlpha_inKeyguardState_bouncerActive_usesInvertedBouncerInterpolator() {
        when(mStatusBarKeyguardViewManager.bouncerIsInTransit()).thenReturn(true);
        when(mStatusBarKeyguardViewManager.isBouncerInTransit()).thenReturn(true);
        mScrimController.setClipsQsScrim(true);

        mScrimController.transitionTo(ScrimState.KEYGUARD);

@@ -1330,7 +1332,8 @@ public class ScrimControllerTest extends SysuiTestCase {

    @Test
    public void notificationAlpha_inKeyguardState_bouncerNotActive_usesInvertedShadeInterpolator() {
        when(mStatusBarKeyguardViewManager.bouncerIsInTransit()).thenReturn(false);
        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();