Merge "Scrim: Remove scrim flicker" into tm-dev

This commit is contained in:
Aaron Liu
2022-03-30 14:49:03 +00:00
committed by Android (Google) Code Review
2 changed files with 13 additions and 0 deletions

View File

@@ -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);

View File

@@ -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();