Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java +5 −1 Original line number Diff line number Diff line Loading @@ -850,7 +850,11 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump // At the end of a launch animation over the lockscreen, the state is either KEYGUARD or // SHADE_LOCKED and this code is called. We have to set the notification alpha to 0 // otherwise there is a flicker to its previous value. if (mKeyguardOccluded) { boolean hideNotificationScrim = (mState == ScrimState.KEYGUARD && mTransitionToFullShadeProgress == 0 && mQsExpansion == 0 && !mClipsQsScrim); if (mKeyguardOccluded || hideNotificationScrim) { mNotificationsAlpha = 0; } if (mUnOcclusionAnimationRunning && mState == ScrimState.KEYGUARD) { Loading packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java +12 −0 Original line number Diff line number Diff line Loading @@ -1270,6 +1270,7 @@ public class ScrimControllerTest extends SysuiTestCase { @Test public void notificationAlpha_unnocclusionAnimating_bouncerActive_usesKeyguardNotifAlpha() { when(mStatusBarKeyguardViewManager.isBouncerInTransit()).thenReturn(true); mScrimController.setClipsQsScrim(true); mScrimController.transitionTo(ScrimState.KEYGUARD); mScrimController.setUnocclusionAnimationRunning(true); Loading Loading @@ -1312,6 +1313,7 @@ public class ScrimControllerTest extends SysuiTestCase { @Test public void notificationAlpha_inKeyguardState_bouncerActive_usesInvertedBouncerInterpolator() { when(mStatusBarKeyguardViewManager.isBouncerInTransit()).thenReturn(true); mScrimController.setClipsQsScrim(true); mScrimController.transitionTo(ScrimState.KEYGUARD); Loading @@ -1331,6 +1333,7 @@ public class ScrimControllerTest extends SysuiTestCase { @Test public void notificationAlpha_inKeyguardState_bouncerNotActive_usesInvertedShadeInterpolator() { when(mStatusBarKeyguardViewManager.isBouncerInTransit()).thenReturn(false); mScrimController.setClipsQsScrim(true); mScrimController.transitionTo(ScrimState.KEYGUARD); Loading Loading @@ -1478,6 +1481,15 @@ public class ScrimControllerTest extends SysuiTestCase { mNotificationsScrim, TRANSPARENT)); } @Test public void notificationAlpha_inKeyguardState_bouncerNotActive_clipsQsScrimFalse() { mScrimController.setClipsQsScrim(false); mScrimController.transitionTo(ScrimState.KEYGUARD); float expansion = 0.8f; assertAlphaAfterExpansion(mNotificationsScrim, 0f, expansion); } private void assertAlphaAfterExpansion(ScrimView scrim, float expectedAlpha, float expansion) { mScrimController.setRawPanelExpansionFraction(expansion); finishAnimationsImmediately(); Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java +5 −1 Original line number Diff line number Diff line Loading @@ -850,7 +850,11 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump // At the end of a launch animation over the lockscreen, the state is either KEYGUARD or // SHADE_LOCKED and this code is called. We have to set the notification alpha to 0 // otherwise there is a flicker to its previous value. if (mKeyguardOccluded) { boolean hideNotificationScrim = (mState == ScrimState.KEYGUARD && mTransitionToFullShadeProgress == 0 && mQsExpansion == 0 && !mClipsQsScrim); if (mKeyguardOccluded || hideNotificationScrim) { mNotificationsAlpha = 0; } if (mUnOcclusionAnimationRunning && mState == ScrimState.KEYGUARD) { Loading
packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java +12 −0 Original line number Diff line number Diff line Loading @@ -1270,6 +1270,7 @@ public class ScrimControllerTest extends SysuiTestCase { @Test public void notificationAlpha_unnocclusionAnimating_bouncerActive_usesKeyguardNotifAlpha() { when(mStatusBarKeyguardViewManager.isBouncerInTransit()).thenReturn(true); mScrimController.setClipsQsScrim(true); mScrimController.transitionTo(ScrimState.KEYGUARD); mScrimController.setUnocclusionAnimationRunning(true); Loading Loading @@ -1312,6 +1313,7 @@ public class ScrimControllerTest extends SysuiTestCase { @Test public void notificationAlpha_inKeyguardState_bouncerActive_usesInvertedBouncerInterpolator() { when(mStatusBarKeyguardViewManager.isBouncerInTransit()).thenReturn(true); mScrimController.setClipsQsScrim(true); mScrimController.transitionTo(ScrimState.KEYGUARD); Loading @@ -1331,6 +1333,7 @@ public class ScrimControllerTest extends SysuiTestCase { @Test public void notificationAlpha_inKeyguardState_bouncerNotActive_usesInvertedShadeInterpolator() { when(mStatusBarKeyguardViewManager.isBouncerInTransit()).thenReturn(false); mScrimController.setClipsQsScrim(true); mScrimController.transitionTo(ScrimState.KEYGUARD); Loading Loading @@ -1478,6 +1481,15 @@ public class ScrimControllerTest extends SysuiTestCase { mNotificationsScrim, TRANSPARENT)); } @Test public void notificationAlpha_inKeyguardState_bouncerNotActive_clipsQsScrimFalse() { mScrimController.setClipsQsScrim(false); mScrimController.transitionTo(ScrimState.KEYGUARD); float expansion = 0.8f; assertAlphaAfterExpansion(mNotificationsScrim, 0f, expansion); } private void assertAlphaAfterExpansion(ScrimView scrim, float expectedAlpha, float expansion) { mScrimController.setRawPanelExpansionFraction(expansion); finishAnimationsImmediately(); Loading