Loading packages/SystemUI/src/com/android/systemui/biometrics/UdfpsKeyguardViewController.kt +12 −0 Original line number Diff line number Diff line Loading @@ -167,6 +167,9 @@ constructor( private val keyguardStateControllerCallback: KeyguardStateController.Callback = object : KeyguardStateController.Callback { override fun onUnlockedChanged() { updatePauseAuth() } override fun onLaunchTransitionFadingAwayChanged() { launchTransitionFadingAway = keyguardStateController.isLaunchTransitionFadingAway updatePauseAuth() Loading Loading @@ -403,6 +406,15 @@ constructor( if (isBouncerExpansionGreaterThan(.5f)) { return true } if ( keyguardUpdateMonitor.getUserUnlockedWithBiometric( KeyguardUpdateMonitor.getCurrentUser() ) ) { // If the device was unlocked by a biometric, immediately hide the UDFPS icon to avoid // overlap with the LockIconView. Shortly afterwards, UDFPS will stop running. return true } return view.unpausedAlpha < 255 * .1 } Loading packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsKeyguardViewControllerTest.java +17 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.systemui.biometrics; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.Mockito.atLeast; import static org.mockito.Mockito.atLeastOnce; import static org.mockito.Mockito.never; Loading Loading @@ -156,6 +157,22 @@ public class UdfpsKeyguardViewControllerTest extends UdfpsKeyguardViewController assertFalse(mController.shouldPauseAuth()); } @Test public void onBiometricAuthenticated_pauseAuth() { // GIVEN view is attached and we're on the keyguard (see testShouldNotPauseAuthOnKeyguard) mController.onViewAttached(); captureStatusBarStateListeners(); sendStatusBarStateChanged(StatusBarState.KEYGUARD); // WHEN biometric is authenticated captureKeyguardStateControllerCallback(); when(mKeyguardUpdateMonitor.getUserUnlockedWithBiometric(anyInt())).thenReturn(true); mKeyguardStateControllerCallback.onUnlockedChanged(); // THEN pause auth assertTrue(mController.shouldPauseAuth()); } @Test public void testShouldPauseAuthIsLaunchTransitionFadingAway() { // GIVEN view is attached and we're on the keyguard (see testShouldNotPauseAuthOnKeyguard) Loading Loading
packages/SystemUI/src/com/android/systemui/biometrics/UdfpsKeyguardViewController.kt +12 −0 Original line number Diff line number Diff line Loading @@ -167,6 +167,9 @@ constructor( private val keyguardStateControllerCallback: KeyguardStateController.Callback = object : KeyguardStateController.Callback { override fun onUnlockedChanged() { updatePauseAuth() } override fun onLaunchTransitionFadingAwayChanged() { launchTransitionFadingAway = keyguardStateController.isLaunchTransitionFadingAway updatePauseAuth() Loading Loading @@ -403,6 +406,15 @@ constructor( if (isBouncerExpansionGreaterThan(.5f)) { return true } if ( keyguardUpdateMonitor.getUserUnlockedWithBiometric( KeyguardUpdateMonitor.getCurrentUser() ) ) { // If the device was unlocked by a biometric, immediately hide the UDFPS icon to avoid // overlap with the LockIconView. Shortly afterwards, UDFPS will stop running. return true } return view.unpausedAlpha < 255 * .1 } Loading
packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsKeyguardViewControllerTest.java +17 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.systemui.biometrics; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.Mockito.atLeast; import static org.mockito.Mockito.atLeastOnce; import static org.mockito.Mockito.never; Loading Loading @@ -156,6 +157,22 @@ public class UdfpsKeyguardViewControllerTest extends UdfpsKeyguardViewController assertFalse(mController.shouldPauseAuth()); } @Test public void onBiometricAuthenticated_pauseAuth() { // GIVEN view is attached and we're on the keyguard (see testShouldNotPauseAuthOnKeyguard) mController.onViewAttached(); captureStatusBarStateListeners(); sendStatusBarStateChanged(StatusBarState.KEYGUARD); // WHEN biometric is authenticated captureKeyguardStateControllerCallback(); when(mKeyguardUpdateMonitor.getUserUnlockedWithBiometric(anyInt())).thenReturn(true); mKeyguardStateControllerCallback.onUnlockedChanged(); // THEN pause auth assertTrue(mController.shouldPauseAuth()); } @Test public void testShouldPauseAuthIsLaunchTransitionFadingAway() { // GIVEN view is attached and we're on the keyguard (see testShouldNotPauseAuthOnKeyguard) Loading