From 93fa7d6115be9d81b6a2f78df1a60b1ab43e3462 Mon Sep 17 00:00:00 2001 From: Aaron Liu Date: Fri, 25 Mar 2022 18:26:13 +0000 Subject: [PATCH] Scrim: Normalize behind scrim when unoccluding. When unoccluding and going to keyguard, we want to make sure that the behindscrim and tint is the same as the scrim state. Bug: 226916317 Test: Manual on device and added a unit test. Change-Id: I140712c6b50af4891acd94db24ca77a84855f660 --- .../statusbar/phone/ScrimController.java | 2 ++ .../statusbar/phone/ScrimControllerTest.java | 16 +++++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java index a98ec58dc94c4..0b95458b73df7 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java @@ -858,6 +858,8 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump // We're unoccluding the keyguard and don't want to have a bright flash. mNotificationsAlpha = ScrimState.KEYGUARD.getNotifAlpha(); mNotificationsTint = ScrimState.KEYGUARD.getNotifTint(); + mBehindAlpha = ScrimState.KEYGUARD.getBehindAlpha(); + mBehindTint = ScrimState.KEYGUARD.getBehindTint(); } } if (mState != ScrimState.UNLOCKED) { diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java index 81a5f11b15534..b3f8f9114021e 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java @@ -122,7 +122,6 @@ public class ScrimControllerTest extends SysuiTestCase { @Mock private StatusBarKeyguardViewManager mStatusBarKeyguardViewManager; - private static class AnimatorListener implements Animator.AnimatorListener { private int mNumStarts; private int mNumEnds; @@ -1369,6 +1368,21 @@ public class ScrimControllerTest extends SysuiTestCase { } + @Test + public void setUnOccludingAnimationKeyguard() { + mScrimController.setUnocclusionAnimationRunning(true); + mScrimController.transitionTo(ScrimState.KEYGUARD); + finishAnimationsImmediately(); + assertThat(mNotificationsScrim.getViewAlpha()) + .isWithin(0.01f).of(ScrimState.KEYGUARD.getNotifAlpha()); + assertThat(mNotificationsScrim.getTint()) + .isEqualTo(ScrimState.KEYGUARD.getNotifTint()); + assertThat(mScrimBehind.getViewAlpha()) + .isWithin(0.01f).of(ScrimState.KEYGUARD.getBehindAlpha()); + assertThat(mScrimBehind.getTint()) + .isEqualTo(ScrimState.KEYGUARD.getBehindTint()); + } + private void assertAlphaAfterExpansion(ScrimView scrim, float expectedAlpha, float expansion) { mScrimController.setRawPanelExpansionFraction(expansion); finishAnimationsImmediately();