Merge "Scrim: Remove scrim flicker" into tm-dev
This commit is contained in:
@@ -1024,6 +1024,10 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
|
|||||||
if (aodWallpaperTimeout || occludedKeyguard) {
|
if (aodWallpaperTimeout || occludedKeyguard) {
|
||||||
mBehindAlpha = 1;
|
mBehindAlpha = 1;
|
||||||
}
|
}
|
||||||
|
// Prevent notification scrim flicker when transitioning away from keyguard.
|
||||||
|
if (mKeyguardStateController.isKeyguardGoingAway()) {
|
||||||
|
mNotificationsAlpha = 0;
|
||||||
|
}
|
||||||
setScrimAlpha(mScrimInFront, mInFrontAlpha);
|
setScrimAlpha(mScrimInFront, mInFrontAlpha);
|
||||||
setScrimAlpha(mScrimBehind, mBehindAlpha);
|
setScrimAlpha(mScrimBehind, mBehindAlpha);
|
||||||
setScrimAlpha(mNotificationsScrim, mNotificationsAlpha);
|
setScrimAlpha(mNotificationsScrim, mNotificationsAlpha);
|
||||||
|
|||||||
@@ -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) {
|
private void assertAlphaAfterExpansion(ScrimView scrim, float expectedAlpha, float expansion) {
|
||||||
mScrimController.setRawPanelExpansionFraction(expansion);
|
mScrimController.setRawPanelExpansionFraction(expansion);
|
||||||
finishAnimationsImmediately();
|
finishAnimationsImmediately();
|
||||||
|
|||||||
Reference in New Issue
Block a user