Merge "Preemptively hide UDPFS icon on biometric authenticated" into udc-dev

This commit is contained in:
Beverly Tai
2023-04-03 13:32:32 +00:00
committed by Android (Google) Code Review
2 changed files with 29 additions and 0 deletions

View File

@@ -167,6 +167,9 @@ constructor(
private val keyguardStateControllerCallback: KeyguardStateController.Callback = private val keyguardStateControllerCallback: KeyguardStateController.Callback =
object : KeyguardStateController.Callback { object : KeyguardStateController.Callback {
override fun onUnlockedChanged() {
updatePauseAuth()
}
override fun onLaunchTransitionFadingAwayChanged() { override fun onLaunchTransitionFadingAwayChanged() {
launchTransitionFadingAway = keyguardStateController.isLaunchTransitionFadingAway launchTransitionFadingAway = keyguardStateController.isLaunchTransitionFadingAway
updatePauseAuth() updatePauseAuth()
@@ -403,6 +406,15 @@ constructor(
if (isBouncerExpansionGreaterThan(.5f)) { if (isBouncerExpansionGreaterThan(.5f)) {
return true 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 return view.unpausedAlpha < 255 * .1
} }

View File

@@ -19,6 +19,7 @@ package com.android.systemui.biometrics;
import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.Mockito.atLeast; import static org.mockito.Mockito.atLeast;
import static org.mockito.Mockito.atLeastOnce; import static org.mockito.Mockito.atLeastOnce;
import static org.mockito.Mockito.never; import static org.mockito.Mockito.never;
@@ -156,6 +157,22 @@ public class UdfpsKeyguardViewControllerTest extends UdfpsKeyguardViewController
assertFalse(mController.shouldPauseAuth()); 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 @Test
public void testShouldPauseAuthIsLaunchTransitionFadingAway() { public void testShouldPauseAuthIsLaunchTransitionFadingAway() {
// GIVEN view is attached and we're on the keyguard (see testShouldNotPauseAuthOnKeyguard) // GIVEN view is attached and we're on the keyguard (see testShouldNotPauseAuthOnKeyguard)