Merge "Fixed bug causing user to be stuck on face intro" into sc-v2-dev am: fd96fe156c
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16103499 Change-Id: I46e6989e1e50718b09263d2d24c16105276016a9
This commit is contained in:
@@ -21,4 +21,9 @@
|
||||
<integer name="job_anomaly_detection">102</integer>
|
||||
<integer name="device_index_update">103</integer>
|
||||
<integer name="sim_notification_send">104</integer>
|
||||
|
||||
<!-- Controls the maximum number of faces enrollable during SUW -->
|
||||
<integer name="suw_max_faces_enrollable">1</integer>
|
||||
<!-- Controls the maximum number of fingerprints enrollable during SUW -->
|
||||
<integer name="suw_max_fingerprints_enrollable">1</integer>
|
||||
</resources>
|
||||
|
@@ -182,9 +182,12 @@ public class BiometricEnrollActivity extends InstrumentedActivity {
|
||||
final FaceManager faceManager = getSystemService(FaceManager.class);
|
||||
final List<FaceSensorPropertiesInternal> faceProperties =
|
||||
faceManager.getSensorPropertiesInternal();
|
||||
final int maxFacesEnrollableIfSUW = getApplicationContext().getResources()
|
||||
.getInteger(R.integer.suw_max_faces_enrollable);
|
||||
if (!faceProperties.isEmpty()) {
|
||||
final int maxEnrolls =
|
||||
isSetupWizard ? 1 : faceProperties.get(0).maxEnrollmentsPerUser;
|
||||
isSetupWizard ? maxFacesEnrollableIfSUW
|
||||
: faceProperties.get(0).maxEnrollmentsPerUser;
|
||||
mIsFaceEnrollable =
|
||||
faceManager.getEnrolledFaces(mUserId).size() < maxEnrolls;
|
||||
}
|
||||
@@ -193,9 +196,12 @@ public class BiometricEnrollActivity extends InstrumentedActivity {
|
||||
final FingerprintManager fpManager = getSystemService(FingerprintManager.class);
|
||||
final List<FingerprintSensorPropertiesInternal> fpProperties =
|
||||
fpManager.getSensorPropertiesInternal();
|
||||
final int maxFingerprintsEnrollableIfSUW = getApplicationContext().getResources()
|
||||
.getInteger(R.integer.suw_max_fingerprints_enrollable);
|
||||
if (!fpProperties.isEmpty()) {
|
||||
final int maxEnrolls =
|
||||
isSetupWizard ? 1 : fpProperties.get(0).maxEnrollmentsPerUser;
|
||||
isSetupWizard ? maxFingerprintsEnrollableIfSUW
|
||||
: fpProperties.get(0).maxEnrollmentsPerUser;
|
||||
mIsFingerprintEnrollable =
|
||||
fpManager.getEnrolledFingerprints(mUserId).size() < maxEnrolls;
|
||||
}
|
||||
|
@@ -257,8 +257,12 @@ public abstract class BiometricEnrollIntroduction extends BiometricEnrollBase
|
||||
// Lock thingy is already set up, launch directly to the next page
|
||||
launchNextEnrollingActivity(mToken);
|
||||
} else {
|
||||
setResult(RESULT_FINISHED);
|
||||
finish();
|
||||
boolean couldStartNextBiometric = BiometricUtils.tryStartingNextBiometricEnroll(this,
|
||||
ENROLL_NEXT_BIOMETRIC_REQUEST, "enrollIntroduction#onNextButtonClicked");
|
||||
if (!couldStartNextBiometric) {
|
||||
setResult(RESULT_FINISHED);
|
||||
finish();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -234,13 +234,20 @@ public class FaceEnrollIntroduction extends BiometricEnrollIntroduction {
|
||||
}
|
||||
|
||||
private boolean maxFacesEnrolled() {
|
||||
final boolean isSetupWizard = WizardManagerHelper.isAnySetupWizard(getIntent());
|
||||
if (mFaceManager != null) {
|
||||
final List<FaceSensorPropertiesInternal> props =
|
||||
mFaceManager.getSensorPropertiesInternal();
|
||||
// This will need to be updated for devices with multiple face sensors.
|
||||
final int max = props.get(0).maxEnrollmentsPerUser;
|
||||
final int numEnrolledFaces = mFaceManager.getEnrolledFaces(mUserId).size();
|
||||
return numEnrolledFaces >= max;
|
||||
final int maxFacesEnrollableIfSUW = getApplicationContext().getResources()
|
||||
.getInteger(R.integer.suw_max_faces_enrollable);
|
||||
if (isSetupWizard) {
|
||||
return numEnrolledFaces >= maxFacesEnrollableIfSUW;
|
||||
} else {
|
||||
return numEnrolledFaces >= max;
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
@@ -44,6 +44,7 @@ import com.android.settingslib.HelpUtils;
|
||||
import com.android.settingslib.RestrictedLockUtilsInternal;
|
||||
|
||||
import com.google.android.setupcompat.template.FooterButton;
|
||||
import com.google.android.setupcompat.util.WizardManagerHelper;
|
||||
import com.google.android.setupdesign.span.LinkSpan;
|
||||
|
||||
import java.util.List;
|
||||
@@ -203,6 +204,7 @@ public class FingerprintEnrollIntroduction extends BiometricEnrollIntroduction {
|
||||
|
||||
@Override
|
||||
protected int checkMaxEnrolled() {
|
||||
final boolean isSetupWizard = WizardManagerHelper.isAnySetupWizard(getIntent());
|
||||
if (mFingerprintManager != null) {
|
||||
final List<FingerprintSensorPropertiesInternal> props =
|
||||
mFingerprintManager.getSensorPropertiesInternal();
|
||||
@@ -210,13 +212,22 @@ public class FingerprintEnrollIntroduction extends BiometricEnrollIntroduction {
|
||||
final int max = props.get(0).maxEnrollmentsPerUser;
|
||||
final int numEnrolledFingerprints =
|
||||
mFingerprintManager.getEnrolledFingerprints(mUserId).size();
|
||||
if (numEnrolledFingerprints >= max) {
|
||||
final int maxFingerprintsEnrollableIfSUW = getApplicationContext().getResources()
|
||||
.getInteger(R.integer.suw_max_fingerprints_enrollable);
|
||||
if (isSetupWizard) {
|
||||
if (numEnrolledFingerprints >= maxFingerprintsEnrollableIfSUW) {
|
||||
return R.string.fingerprint_intro_error_max;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
} else if (numEnrolledFingerprints >= max) {
|
||||
return R.string.fingerprint_intro_error_max;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
} else {
|
||||
return R.string.fingerprint_intro_error_unknown;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Reference in New Issue
Block a user