diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java index 405c0905523..66059e71256 100644 --- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java +++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java @@ -312,9 +312,10 @@ public class FingerprintEnrollFindSensor extends BiometricEnrollBase implements default: FingerprintManager fpm = Utils.getFingerprintManagerOrNull(this); int enrolled = fpm.getEnrolledFingerprints().size(); - int max = getResources().getInteger( - com.android.internal.R.integer.config_fingerprintMaxTemplatesPerUser); - if (enrolled >= max) { + final List props = + fpm.getSensorPropertiesInternal(); + final int maxEnrollments = props.get(0).maxEnrollmentsPerUser; + if (enrolled >= maxEnrollments) { finish(); } else { // We came back from enrolling but it wasn't completed, start again. diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinish.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinish.java index 80a6f0555e2..74e844abfda 100644 --- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinish.java +++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinish.java @@ -21,6 +21,7 @@ import android.content.ComponentName; import android.content.Intent; import android.content.pm.PackageManager; import android.hardware.fingerprint.FingerprintManager; +import android.hardware.fingerprint.FingerprintSensorPropertiesInternal; import android.os.Bundle; import android.util.Log; import android.view.View; @@ -36,6 +37,7 @@ import com.google.android.setupcompat.template.FooterBarMixin; import com.google.android.setupcompat.template.FooterButton; import com.google.android.setupcompat.util.WizardManagerHelper; +import java.util.List; /** * Activity which concludes fingerprint enrollment. */ @@ -92,10 +94,11 @@ public class FingerprintEnrollFinish extends BiometricEnrollBase { final FingerprintManager fpm = Utils.getFingerprintManagerOrNull(this); boolean hideAddAnother = false; if (fpm != null) { + final List props = + fpm.getSensorPropertiesInternal(); + int maxEnrollments = props.get(0).maxEnrollmentsPerUser; int enrolled = fpm.getEnrolledFingerprints(mUserId).size(); - int max = getResources().getInteger( - com.android.internal.R.integer.config_fingerprintMaxTemplatesPerUser); - hideAddAnother = enrolled >= max; + hideAddAnother = enrolled >= maxEnrollments; } if (hideAddAnother) { // Don't show "Add" button if too many fingerprints already added diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java index abc6d53a63b..a5832eab15b 100644 --- a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java +++ b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java @@ -457,8 +457,10 @@ public class FingerprintSettings extends SubSettings { final Preference addPreference = findPreference(KEY_FINGERPRINT_ADD); /* Disable preference if too many fingerprints added */ - final int max = getContext().getResources().getInteger( - com.android.internal.R.integer.config_fingerprintMaxTemplatesPerUser); + final List props = + mFingerprintManager.getSensorPropertiesInternal(); + // This will need to be updated for devices with multiple fingerprint sensors + final int max = props.get(0).maxEnrollmentsPerUser; boolean tooMany = mFingerprintManager.getEnrolledFingerprints(mUserId).size() >= max; // retryFingerprint() will be called when remove finishes // need to disable enroll or have a way to determine if enroll is in progress