Allow deferred SUW to add multiple fingerprints

Test: Verified that I could add extra fingerprints in deferred
SUW.
Test: m -j30 RunSettingsRoboTests ROBOTEST_FILTER=FingerprintEnrollIntroductionTest
Fixes: 204846146
Fixes: 223722376

Change-Id: Ib3fc31131e97f13512783ca2bab9d205da3a4044
This commit is contained in:
Joshua Mccloskey
2022-03-10 20:17:38 +00:00
parent eddf2b1345
commit 66095680b2
2 changed files with 185 additions and 3 deletions

View File

@@ -35,6 +35,7 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.StringRes;
import com.android.internal.annotations.VisibleForTesting;
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.biometrics.BiometricEnrollIntroduction;
@@ -55,6 +56,7 @@ public class FingerprintEnrollIntroduction extends BiometricEnrollIntroduction {
private static final String TAG = "FingerprintIntro";
@VisibleForTesting
private FingerprintManager mFingerprintManager;
@Nullable private FooterButton mPrimaryFooterButton;
@Nullable private FooterButton mSecondaryFooterButton;
@@ -213,6 +215,8 @@ public class FingerprintEnrollIntroduction extends BiometricEnrollIntroduction {
@Override
protected int checkMaxEnrolled() {
final boolean isSetupWizard = WizardManagerHelper.isAnySetupWizard(getIntent());
final boolean isDeferredSetupWizard =
WizardManagerHelper.isDeferredSetupWizard(getIntent());
if (mFingerprintManager != null) {
final List<FingerprintSensorPropertiesInternal> props =
mFingerprintManager.getSensorPropertiesInternal();
@@ -220,9 +224,11 @@ public class FingerprintEnrollIntroduction extends BiometricEnrollIntroduction {
final int max = props.get(0).maxEnrollmentsPerUser;
final int numEnrolledFingerprints =
mFingerprintManager.getEnrolledFingerprints(mUserId).size();
final int maxFingerprintsEnrollableIfSUW = getApplicationContext().getResources()
.getInteger(R.integer.suw_max_fingerprints_enrollable);
if (isSetupWizard) {
final int maxFingerprintsEnrollableIfSUW =
getApplicationContext()
.getResources()
.getInteger(R.integer.suw_max_fingerprints_enrollable);
if (isSetupWizard && !isDeferredSetupWizard) {
if (numEnrolledFingerprints >= maxFingerprintsEnrollableIfSUW) {
return R.string.fingerprint_intro_error_max;
} else {