Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3c57fcde authored by Joshua McCloskey's avatar Joshua McCloskey
Browse files

Fixed NPE in FingerprintEnrollIntro

Test: atest FingerprintEnrollIntroductionTest
Fixes: 317515741
Change-Id: Icc4e5cd4fbfea6828684ce6c8fc30acaabe5d315
parent a9178952
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -340,6 +340,9 @@ public class FingerprintEnrollIntroduction extends BiometricEnrollIntroduction {
            final List<FingerprintSensorPropertiesInternal> props =
                    mFingerprintManager.getSensorPropertiesInternal();
            // 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 numEnrolledFingerprints =
                    mFingerprintManager.getEnrolledFingerprints(mUserId).size();
+18 −0
Original line number Diff line number Diff line
@@ -252,6 +252,24 @@ public class FingerprintEnrollIntroductionTest {
        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
    public void intro_CheckGenerateChallenge() {
        setupFingerprintEnrollIntroWith(newGkPwHandleAndFromSettingsIntent());