summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Aaron Liu <aaronjli@google.com> 2022-03-24 18:28:12 +0000
committer Aaron Liu <aaronjli@google.com> 2022-03-29 19:17:24 +0000
commit2bda393cbfa167af5fdb464095b667e0d3745734 (patch)
tree6c593b915cf691537ef5faeb41a1aa4e96abd4e3
parentadf9921ee47e8d0a878e9e2b07ff6090f36ff610 (diff)
Scrim: Remove scrim flicker
Remove scrim flicker when we unlock with bouncer. Bug: 226424400 Test: Manual with device and unit test Change-Id: Id2922ae6d86d64f42126d11843844c2349e56284
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java4
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java9
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 8272ed926255..c10a20d885b1 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
@@ -1021,6 +1021,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 5eef1df8c7a3..7a2b2abb05ac 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
@@ -1351,6 +1351,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();