Merge "Fixed NPE in FingerprintEnrollIntro" into main

This commit is contained in:
Treehugger Robot
2024-03-07 02:24:40 +00:00
committed by Android (Google) Code Review
2 changed files with 21 additions and 0 deletions

View File

@@ -340,6 +340,9 @@ public class FingerprintEnrollIntroduction extends BiometricEnrollIntroduction {
final List<FingerprintSensorPropertiesInternal> props = final List<FingerprintSensorPropertiesInternal> props =
mFingerprintManager.getSensorPropertiesInternal(); mFingerprintManager.getSensorPropertiesInternal();
// This will need to be updated for devices with multiple fingerprint sensors // This will need to be updated for devices with multiple fingerprint sensors
if (props == null || props.isEmpty()) {
return R.string.fingerprint_intro_error_unknown;
}
final int max = props.get(0).maxEnrollmentsPerUser; final int max = props.get(0).maxEnrollmentsPerUser;
final int numEnrolledFingerprints = final int numEnrolledFingerprints =
mFingerprintManager.getEnrolledFingerprints(mUserId).size(); mFingerprintManager.getEnrolledFingerprints(mUserId).size();

View File

@@ -252,6 +252,24 @@ public class FingerprintEnrollIntroductionTest {
assertThat(result).isEqualTo(R.string.fingerprint_intro_error_max); assertThat(result).isEqualTo(R.string.fingerprint_intro_error_max);
} }
@Test
public void intro_CheckNullPropsReturnsErrorString() {
setupFingerprintEnrollIntroWith(newTokenOnlyIntent());
when(mFingerprintManager.getSensorPropertiesInternal()).thenReturn(null);
final int result = mFingerprintEnrollIntroduction.checkMaxEnrolled();
assertThat(result).isEqualTo(R.string.fingerprint_intro_error_unknown);
}
@Test
public void intro_CheckEmptyPropsReturnsErrorString() {
setupFingerprintEnrollIntroWith(newTokenOnlyIntent());
when(mFingerprintManager.getSensorPropertiesInternal()).thenReturn(List.of());
final int result = mFingerprintEnrollIntroduction.checkMaxEnrolled();
assertThat(result).isEqualTo(R.string.fingerprint_intro_error_unknown);
}
@Test @Test
public void intro_CheckGenerateChallenge() { public void intro_CheckGenerateChallenge() {
setupFingerprintEnrollIntroWith(newGkPwHandleAndFromSettingsIntent()); setupFingerprintEnrollIntroWith(newGkPwHandleAndFromSettingsIntent());