Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fd96fe15 authored by Joshua Mccloskey's avatar Joshua Mccloskey Committed by Android (Google) Code Review
Browse files

Merge "Fixed bug causing user to be stuck on face intro" into sc-v2-dev

parents baa58563 f0a55f7c
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -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>
+8 −2
Original line number Diff line number Diff line
@@ -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;
            }
+6 −2
Original line number Diff line number Diff line
@@ -257,10 +257,14 @@ public abstract class BiometricEnrollIntroduction extends BiometricEnrollBase
            // Lock thingy is already set up, launch directly to the next page
            launchNextEnrollingActivity(mToken);
        } else {
            boolean couldStartNextBiometric = BiometricUtils.tryStartingNextBiometricEnroll(this,
                    ENROLL_NEXT_BIOMETRIC_REQUEST, "enrollIntroduction#onNextButtonClicked");
            if (!couldStartNextBiometric) {
                setResult(RESULT_FINISHED);
                finish();
            }
        }
    }

    private void launchChooseLock() {
        Intent intent = BiometricUtils.getChooseLockIntent(this, getIntent());
+8 −1
Original line number Diff line number Diff line
@@ -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();
            final int maxFacesEnrollableIfSUW = getApplicationContext().getResources()
                    .getInteger(R.integer.suw_max_faces_enrollable);
            if (isSetupWizard) {
                return numEnrolledFaces >= maxFacesEnrollableIfSUW;
            } else {
                return numEnrolledFaces >= max;
            }
        } else {
            return false;
        }
+13 −2
Original line number Diff line number Diff line
@@ -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