diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java | 4 | ||||
| -rw-r--r-- | packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java | 9 |
2 files changed, 13 insertions, 0 deletions
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 58634af5430a..a98ec58dc94c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java @@ -1024,6 +1024,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); 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 08f14aec132e..81a5f11b1553 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 @@ -1360,6 +1360,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(); |