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

Commit 23e3603e authored by Joshua Mccloskey's avatar Joshua Mccloskey Committed by Automerger Merge Worker
Browse files

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

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16103499

Change-Id: I46e6989e1e50718b09263d2d24c16105276016a9
parents 1568b185 fd96fe15
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