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

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

Merge "Update multi biometric flow for SUW" into sc-dev

parents faac8d0f 785203d5
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();