Merge "FPSettings depends on SensorProps for maxEnrolls" into tm-dev

This commit is contained in:
TreeHugger Robot
2022-03-14 22:13:56 +00:00
committed by Android (Google) Code Review
3 changed files with 14 additions and 8 deletions

View File

@@ -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<FingerprintSensorPropertiesInternal> 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.

View File

@@ -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<FingerprintSensorPropertiesInternal> 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

View File

@@ -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<FingerprintSensorPropertiesInternal> 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