Loading packages/SystemUI/src/com/android/systemui/biometrics/AuthRippleController.kt +12 −1 Original line number Diff line number Diff line Loading @@ -80,6 +80,7 @@ class AuthRippleController @Inject constructor( @VisibleForTesting internal var startLightRevealScrimOnKeyguardFadingAway = false var lightRevealScrimAnimator: ValueAnimator? = null var fingerprintSensorLocation: PointF? = null private var faceSensorLocation: PointF? = null private var circleReveal: LightRevealEffect? = null Loading Loading @@ -163,7 +164,8 @@ class AuthRippleController @Inject constructor( if (keyguardStateController.isKeyguardFadingAway) { val lightRevealScrim = centralSurfaces.lightRevealScrim if (startLightRevealScrimOnKeyguardFadingAway && lightRevealScrim != null) { ValueAnimator.ofFloat(.1f, 1f).apply { lightRevealScrimAnimator?.cancel() lightRevealScrimAnimator = ValueAnimator.ofFloat(.1f, 1f).apply { interpolator = Interpolators.LINEAR_OUT_SLOW_IN duration = RIPPLE_ANIMATION_DURATION startDelay = keyguardStateController.keyguardFadingAwayDelay Loading @@ -183,6 +185,8 @@ class AuthRippleController @Inject constructor( if (lightRevealScrim.revealEffect == circleReveal) { lightRevealScrim.revealEffect = LiftReveal } lightRevealScrimAnimator = null } }) start() Loading @@ -192,6 +196,13 @@ class AuthRippleController @Inject constructor( } } /** * Whether we're animating the light reveal scrim from a call to [onKeyguardFadingAwayChanged]. */ fun isAnimatingLightRevealScrim(): Boolean { return lightRevealScrimAnimator?.isRunning ?: false } override fun onStartedGoingToSleep() { // reset the light reveal start in case we were pending an unlock startLightRevealScrimOnKeyguardFadingAway = false Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java +17 −0 Original line number Diff line number Diff line Loading @@ -1022,6 +1022,23 @@ public class CentralSurfacesImpl extends CoreStartable implements public void onUnlockedChanged() { logStateToEventlog(); } @Override public void onKeyguardGoingAwayChanged() { // The light reveal scrim should always be fully revealed by the time the keyguard // is done going away. Double check that this is true. if (!mKeyguardStateController.isKeyguardGoingAway()) { if (mLightRevealScrim.getRevealAmount() != 1f) { Log.e(TAG, "Keyguard is done going away, but someone left the light reveal " + "scrim at reveal amount: " + mLightRevealScrim.getRevealAmount()); } // If the auth ripple is still playing, let it finish. if (!mAuthRippleController.isAnimatingLightRevealScrim()) { mLightRevealScrim.setRevealAmount(1f); } } } }); startKeyguard(); Loading Loading
packages/SystemUI/src/com/android/systemui/biometrics/AuthRippleController.kt +12 −1 Original line number Diff line number Diff line Loading @@ -80,6 +80,7 @@ class AuthRippleController @Inject constructor( @VisibleForTesting internal var startLightRevealScrimOnKeyguardFadingAway = false var lightRevealScrimAnimator: ValueAnimator? = null var fingerprintSensorLocation: PointF? = null private var faceSensorLocation: PointF? = null private var circleReveal: LightRevealEffect? = null Loading Loading @@ -163,7 +164,8 @@ class AuthRippleController @Inject constructor( if (keyguardStateController.isKeyguardFadingAway) { val lightRevealScrim = centralSurfaces.lightRevealScrim if (startLightRevealScrimOnKeyguardFadingAway && lightRevealScrim != null) { ValueAnimator.ofFloat(.1f, 1f).apply { lightRevealScrimAnimator?.cancel() lightRevealScrimAnimator = ValueAnimator.ofFloat(.1f, 1f).apply { interpolator = Interpolators.LINEAR_OUT_SLOW_IN duration = RIPPLE_ANIMATION_DURATION startDelay = keyguardStateController.keyguardFadingAwayDelay Loading @@ -183,6 +185,8 @@ class AuthRippleController @Inject constructor( if (lightRevealScrim.revealEffect == circleReveal) { lightRevealScrim.revealEffect = LiftReveal } lightRevealScrimAnimator = null } }) start() Loading @@ -192,6 +196,13 @@ class AuthRippleController @Inject constructor( } } /** * Whether we're animating the light reveal scrim from a call to [onKeyguardFadingAwayChanged]. */ fun isAnimatingLightRevealScrim(): Boolean { return lightRevealScrimAnimator?.isRunning ?: false } override fun onStartedGoingToSleep() { // reset the light reveal start in case we were pending an unlock startLightRevealScrimOnKeyguardFadingAway = false Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java +17 −0 Original line number Diff line number Diff line Loading @@ -1022,6 +1022,23 @@ public class CentralSurfacesImpl extends CoreStartable implements public void onUnlockedChanged() { logStateToEventlog(); } @Override public void onKeyguardGoingAwayChanged() { // The light reveal scrim should always be fully revealed by the time the keyguard // is done going away. Double check that this is true. if (!mKeyguardStateController.isKeyguardGoingAway()) { if (mLightRevealScrim.getRevealAmount() != 1f) { Log.e(TAG, "Keyguard is done going away, but someone left the light reveal " + "scrim at reveal amount: " + mLightRevealScrim.getRevealAmount()); } // If the auth ripple is still playing, let it finish. if (!mAuthRippleController.isAnimatingLightRevealScrim()) { mLightRevealScrim.setRevealAmount(1f); } } } }); startKeyguard(); Loading