Merge "isUnlockingWithFaceAllowed checks lockout state" into tm-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
feb94ff444
@@ -1394,16 +1394,12 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
|
|||||||
&& !mFingerprintLockedOut;
|
&& !mFingerprintLockedOut;
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isUnlockingWithFaceAllowed() {
|
|
||||||
return mStrongAuthTracker.isUnlockingWithBiometricAllowed(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether fingerprint is allowed ot be used for unlocking based on the strongAuthTracker
|
* Whether fingerprint is allowed ot be used for unlocking based on the strongAuthTracker
|
||||||
* and temporary lockout state (tracked by FingerprintManager via error codes).
|
* and temporary lockout state (tracked by FingerprintManager via error codes).
|
||||||
*/
|
*/
|
||||||
public boolean isUnlockingWithFingerprintAllowed() {
|
public boolean isUnlockingWithFingerprintAllowed() {
|
||||||
return isUnlockingWithBiometricAllowed(true);
|
return isUnlockingWithBiometricAllowed(FINGERPRINT);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1413,9 +1409,9 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
|
|||||||
@NonNull BiometricSourceType biometricSourceType) {
|
@NonNull BiometricSourceType biometricSourceType) {
|
||||||
switch (biometricSourceType) {
|
switch (biometricSourceType) {
|
||||||
case FINGERPRINT:
|
case FINGERPRINT:
|
||||||
return isUnlockingWithFingerprintAllowed();
|
return isUnlockingWithBiometricAllowed(true);
|
||||||
case FACE:
|
case FACE:
|
||||||
return isUnlockingWithFaceAllowed();
|
return isUnlockingWithBiometricAllowed(false);
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -608,6 +608,64 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
|
|||||||
verify(mFingerprintManager).detectFingerprint(any(), any(), anyInt());
|
verify(mFingerprintManager).detectFingerprint(any(), any(), anyInt());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testUnlockingWithFaceAllowed_strongAuthTrackerUnlockingWithBiometricAllowed() {
|
||||||
|
// GIVEN unlocking with biometric is allowed
|
||||||
|
when(mStrongAuthTracker.isUnlockingWithBiometricAllowed(anyBoolean())).thenReturn(true);
|
||||||
|
|
||||||
|
// THEN unlocking with face and fp is allowed
|
||||||
|
Assert.assertTrue(mKeyguardUpdateMonitor.isUnlockingWithBiometricAllowed(
|
||||||
|
BiometricSourceType.FACE));
|
||||||
|
Assert.assertTrue(mKeyguardUpdateMonitor.isUnlockingWithBiometricAllowed(
|
||||||
|
BiometricSourceType.FINGERPRINT));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testUnlockingWithFaceAllowed_strongAuthTrackerUnlockingWithBiometricNotAllowed() {
|
||||||
|
// GIVEN unlocking with biometric is not allowed
|
||||||
|
when(mStrongAuthTracker.isUnlockingWithBiometricAllowed(anyBoolean())).thenReturn(false);
|
||||||
|
|
||||||
|
// THEN unlocking with face is not allowed
|
||||||
|
Assert.assertFalse(mKeyguardUpdateMonitor.isUnlockingWithBiometricAllowed(
|
||||||
|
BiometricSourceType.FACE));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testUnlockingWithFaceAllowed_fingerprintLockout() {
|
||||||
|
// GIVEN unlocking with biometric is allowed
|
||||||
|
when(mStrongAuthTracker.isUnlockingWithBiometricAllowed(anyBoolean())).thenReturn(true);
|
||||||
|
|
||||||
|
// WHEN fingerprint is locked out
|
||||||
|
fingerprintErrorLockedOut();
|
||||||
|
|
||||||
|
// THEN unlocking with face is not allowed
|
||||||
|
Assert.assertFalse(mKeyguardUpdateMonitor.isUnlockingWithBiometricAllowed(
|
||||||
|
BiometricSourceType.FACE));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testUnlockingWithFpAllowed_strongAuthTrackerUnlockingWithBiometricNotAllowed() {
|
||||||
|
// GIVEN unlocking with biometric is not allowed
|
||||||
|
when(mStrongAuthTracker.isUnlockingWithBiometricAllowed(anyBoolean())).thenReturn(false);
|
||||||
|
|
||||||
|
// THEN unlocking with fingerprint is not allowed
|
||||||
|
Assert.assertFalse(mKeyguardUpdateMonitor.isUnlockingWithBiometricAllowed(
|
||||||
|
BiometricSourceType.FINGERPRINT));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testUnlockingWithFpAllowed_fingerprintLockout() {
|
||||||
|
// GIVEN unlocking with biometric is allowed
|
||||||
|
when(mStrongAuthTracker.isUnlockingWithBiometricAllowed(anyBoolean())).thenReturn(true);
|
||||||
|
|
||||||
|
// WHEN fingerprint is locked out
|
||||||
|
fingerprintErrorLockedOut();
|
||||||
|
|
||||||
|
// THEN unlocking with fingeprint is not allowed
|
||||||
|
Assert.assertFalse(mKeyguardUpdateMonitor.isUnlockingWithBiometricAllowed(
|
||||||
|
BiometricSourceType.FINGERPRINT));
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testTriesToAuthenticate_whenBouncer() {
|
public void testTriesToAuthenticate_whenBouncer() {
|
||||||
setKeyguardBouncerVisibility(true);
|
setKeyguardBouncerVisibility(true);
|
||||||
|
|||||||
Reference in New Issue
Block a user