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

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

Merge "Update multi biometric flow for SUW" into sc-dev am: 19baf0df

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

Change-Id: I4e54f9189a9e47dc043ded6fbae1ce1e0656d9a3
parents 6fb591f7 19baf0df
Loading
Loading
Loading
Loading
+26 −15
Original line number Diff line number Diff line
@@ -258,6 +258,18 @@ public class BiometricEnrollActivity extends InstrumentedActivity {
    }

    private void setupForMultiBiometricEnroll() {
        if (!mConfirmingCredentials) {
            mConfirmingCredentials = true;
            if (!userHasPassword(mUserId)) {
                launchChooseLock();
            } else {
                launchConfirmLock();
            }
        }
    }

    private void startMultiBiometricEnroll(Intent data) {
        final boolean isSetupWizard = WizardManagerHelper.isAnySetupWizard(getIntent());
        final FingerprintManager fingerprintManager = getSystemService(FingerprintManager.class);
        final FaceManager faceManager = getSystemService(FaceManager.class);
        final List<FingerprintSensorPropertiesInternal> fpProperties =
@@ -265,26 +277,25 @@ public class BiometricEnrollActivity extends InstrumentedActivity {
        final List<FaceSensorPropertiesInternal> faceProperties =
                faceManager.getSensorPropertiesInternal();

        mGkPwHandle = BiometricUtils.getGatekeeperPasswordHandle(data);

        if (isSetupWizard) {
            // This would need to be updated for devices with multiple sensors of the same modality
            mIsFaceEnrollable = !faceProperties.isEmpty()
                    && faceManager.getEnrolledFaces(mUserId).size() == 0;
            mIsFingerprintEnrollable = !fpProperties.isEmpty()
                    && fingerprintManager.getEnrolledFingerprints(mUserId).size() == 0;
        } else {
            // This would need to be updated for devices with multiple sensors of the same modality
        mIsFaceEnrollable = !faceProperties.isEmpty() &&
                faceManager.getEnrolledFaces(mUserId).size()
            mIsFaceEnrollable = !faceProperties.isEmpty()
                    && faceManager.getEnrolledFaces(mUserId).size()
                    < faceProperties.get(0).maxEnrollmentsPerUser;
        mIsFingerprintEnrollable = !fpProperties.isEmpty() &&
                fingerprintManager.getEnrolledFingerprints(mUserId).size()
            mIsFingerprintEnrollable = !fpProperties.isEmpty()
                    && fingerprintManager.getEnrolledFingerprints(mUserId).size()
                    < fpProperties.get(0).maxEnrollmentsPerUser;

        if (!mConfirmingCredentials) {
            mConfirmingCredentials = true;
            if (!userHasPassword(mUserId)) {
                launchChooseLock();
            } else {
                launchConfirmLock();
            }
        }
        }

    private void startMultiBiometricEnroll(Intent data) {
        mGkPwHandle = BiometricUtils.getGatekeeperPasswordHandle(data);
        mMultiBiometricEnrollHelper = new MultiBiometricEnrollHelper(this, mUserId,
                mIsFaceEnrollable, mIsFingerprintEnrollable, mGkPwHandle);
        mMultiBiometricEnrollHelper.startNextStep();