From af376971c876469bf268ff303a99ca75d3d0362e Mon Sep 17 00:00:00 2001 From: Grace Cheng Date: Mon, 30 Jan 2023 19:44:20 +0000 Subject: [PATCH] Separates SFPS and UDFPS BP animation logic Fixes issue with UDFPS animation playing on transition from STATE_IDLE Test: Tested BP on rear-FPS, SFPS, UDFPS devices to check animations Fixes: 266367594 Change-Id: I8ed3371519fe3b2419c32829036bbb0c530e48e1 --- .../AuthBiometricFingerprintIconController.kt | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/AuthBiometricFingerprintIconController.kt b/packages/SystemUI/src/com/android/systemui/biometrics/AuthBiometricFingerprintIconController.kt index 436f9dfb0d742..b896db26d6d15 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/AuthBiometricFingerprintIconController.kt +++ b/packages/SystemUI/src/com/android/systemui/biometrics/AuthBiometricFingerprintIconController.kt @@ -104,7 +104,7 @@ open class AuthBiometricFingerprintIconController( iconView.frame = 0 iconViewOverlay.frame = 0 - if (shouldAnimateIconViewForTransition(lastState, newState)) { + if (shouldAnimateSfpsIconViewForTransition(lastState, newState)) { iconView.playAnimation() } @@ -165,6 +165,18 @@ open class AuthBiometricFingerprintIconController( protected open fun shouldAnimateIconViewForTransition( @BiometricState oldState: Int, @BiometricState newState: Int + ) = when (newState) { + STATE_HELP, + STATE_ERROR -> true + STATE_AUTHENTICATING_ANIMATING_IN, + STATE_AUTHENTICATING -> oldState == STATE_ERROR || oldState == STATE_HELP + STATE_AUTHENTICATED -> true + else -> false + } + + private fun shouldAnimateSfpsIconViewForTransition( + @BiometricState oldState: Int, + @BiometricState newState: Int ) = when (newState) { STATE_HELP, STATE_ERROR -> true