Merge "Don't delay bouncer if face + fp enrolled" into tm-d1-dev

This commit is contained in:
Beverly Tai
2022-05-17 17:00:18 +00:00
committed by Android (Google) Code Review
2 changed files with 17 additions and 5 deletions

View File

@@ -216,9 +216,12 @@ public class KeyguardBouncer {
// Split up the work over multiple frames.
DejankUtils.removeCallbacks(mResetRunnable);
if (mKeyguardStateController.isFaceAuthEnabled() && !needsFullscreenBouncer()
&& !mKeyguardUpdateMonitor.userNeedsStrongAuth()
&& !mKeyguardBypassController.getBypassEnabled()) {
if (mKeyguardStateController.isFaceAuthEnabled()
&& !mKeyguardUpdateMonitor.getCachedIsUnlockWithFingerprintPossible(
KeyguardUpdateMonitor.getCurrentUser())
&& !needsFullscreenBouncer()
&& !mKeyguardUpdateMonitor.userNeedsStrongAuth()
&& !mKeyguardBypassController.getBypassEnabled()) {
mHandler.postDelayed(mShowRunnable, BOUNCER_FACE_DELAY);
} else {
DejankUtils.postAfterTraversal(mShowRunnable);

View File

@@ -399,9 +399,8 @@ public class KeyguardBouncerTest extends SysuiTestCase {
mBouncer.hide(false /* destroyView */);
verify(mHandler).removeCallbacks(eq(showRunnable.getValue()));
}
@Test
public void testShow_delaysIfFaceAuthIsRunning_unlessBypass() {
public void testShow_delaysIfFaceAuthIsRunning_unlessBypassEnabled() {
when(mKeyguardStateController.isFaceAuthEnabled()).thenReturn(true);
when(mKeyguardBypassController.getBypassEnabled()).thenReturn(true);
mBouncer.show(true /* reset */);
@@ -409,6 +408,16 @@ public class KeyguardBouncerTest extends SysuiTestCase {
verify(mHandler, never()).postDelayed(any(), anyLong());
}
@Test
public void testShow_delaysIfFaceAuthIsRunning_unlessFingerprintEnrolled() {
when(mKeyguardStateController.isFaceAuthEnabled()).thenReturn(true);
when(mKeyguardUpdateMonitor.getCachedIsUnlockWithFingerprintPossible(0))
.thenReturn(true);
mBouncer.show(true /* reset */);
verify(mHandler, never()).postDelayed(any(), anyLong());
}
@Test
public void testRegisterUpdateMonitorCallback() {
verify(mKeyguardUpdateMonitor).registerCallback(any());