Fix array out of bounds in BiometricEnrollActivity
Bug: 189876828
Test: adb shell am start -a android.settings.BIOMETRIC_ENROLL
Change-Id: I89f8ea1353cd9243c20c6184d579707da27e7b6f
diff --git a/src/com/android/settings/biometrics/BiometricEnrollActivity.java b/src/com/android/settings/biometrics/BiometricEnrollActivity.java
index 4702fed..11313fd 100644
--- a/src/com/android/settings/biometrics/BiometricEnrollActivity.java
+++ b/src/com/android/settings/biometrics/BiometricEnrollActivity.java
@@ -266,10 +266,12 @@
faceManager.getSensorPropertiesInternal();
// This would need to be updated for devices with multiple sensors of the same modality
- mIsFaceEnrollable = faceManager.getEnrolledFaces(mUserId).size()
- < faceProperties.get(0).maxEnrollmentsPerUser;
- mIsFingerprintEnrollable = fingerprintManager.getEnrolledFingerprints(mUserId).size()
- < fpProperties.get(0).maxEnrollmentsPerUser;
+ mIsFaceEnrollable = !faceProperties.isEmpty() &&
+ faceManager.getEnrolledFaces(mUserId).size()
+ < faceProperties.get(0).maxEnrollmentsPerUser;
+ mIsFingerprintEnrollable = !fpProperties.isEmpty() &&
+ fingerprintManager.getEnrolledFingerprints(mUserId).size()
+ < fpProperties.get(0).maxEnrollmentsPerUser;
if (!mConfirmingCredentials) {
mConfirmingCredentials = true;