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

Commit 118abc55 authored by Vincent Wang's avatar Vincent Wang
Browse files

Show calibtation result in FingerprintSettings & EnrollEnrolling

if results are available

Bug: b/326155807
Test: Enroll multiple fingerprints and check if
        calibration isn't triggered.

Change-Id: I006db64f001fb70d2bb294a15a2d3efc77e2da25
Merged-In: I006db64f001fb70d2bb294a15a2d3efc77e2da25
parent e80fe889
Loading
Loading
Loading
Loading
+9 −12
Original line number Diff line number Diff line
@@ -71,7 +71,6 @@ import com.android.settings.biometrics.BiometricsEnrollEnrolling;
import com.android.settings.biometrics.BiometricsSplitScreenDialog;
import com.android.settings.biometrics.fingerprint.feature.SfpsEnrollmentFeature;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settings.flags.Flags;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.display.DisplayDensityUtils;

@@ -252,12 +251,6 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {

            setContentView(layout);
            setDescriptionText(R.string.security_settings_udfps_enroll_start_message);

            if (Flags.udfpsEnrollCalibration()) {
                mCalibrator = FeatureFactory.getFeatureFactory().getFingerprintFeatureProvider()
                        .getUdfpsEnrollCalibrator(getApplicationContext(), savedInstanceState,
                                getIntent());
            }
        } else if (mCanAssumeSfps) {
            mSfpsEnrollmentFeature = FeatureFactory.getFeatureFactory()
                    .getFingerprintFeatureProvider().getSfpsEnrollmentFeature();
@@ -342,6 +335,15 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {

        final Configuration config = getApplicationContext().getResources().getConfiguration();
        maybeHideSfpsText(config);

        if (!mIsSetupWizard) {
            mCalibrator = FeatureFactory.getFeatureFactory().getFingerprintFeatureProvider()
                    .getUdfpsEnrollCalibrator(getApplicationContext(), null, getIntent());
            if (mCalibrator != null) {
                mCalibrator.onWaitingPage(getLifecycle(),
                        getSupportFragmentManager(), null);
            }
        }
    }

    private void setHelpAnimation() {
@@ -371,11 +373,6 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
        super.onSaveInstanceState(outState);
        outState.putBoolean(KEY_STATE_CANCELED, mIsCanceled);
        outState.putInt(KEY_STATE_PREVIOUS_ROTATION, mPreviousRotation);
        if (Flags.udfpsEnrollCalibration()) {
            if (mCalibrator != null) {
                mCalibrator.onSaveInstanceState(outState);
            }
        }
    }

    private void restoreSavedState(Bundle savedInstanceState) {
+2 −2
Original line number Diff line number Diff line
@@ -167,7 +167,7 @@ public class FingerprintEnrollFindSensor extends BiometricEnrollBase implements
                        .getUdfpsEnrollCalibrator(getApplicationContext(), savedInstanceState,
                                getIntent());
                if (mCalibrator != null) {
                    mCalibrator.onFindSensorPage(
                    mCalibrator.onWaitingPage(
                            getLifecycle(),
                            getSupportFragmentManager(),
                            this::enableUdfpsLottieAndNextButton
@@ -296,7 +296,7 @@ public class FingerprintEnrollFindSensor extends BiometricEnrollBase implements
                getIntent().getIntExtra(BiometricUtils.EXTRA_ENROLL_REASON, -1));
        if (Flags.udfpsEnrollCalibration()) {
            if (mCalibrator != null) {
                ret.putExtras(mCalibrator.getExtrasForNextIntent(true));
                ret.putExtras(mCalibrator.getExtrasForNextIntent());
            }
        }
        return ret;
+1 −1
Original line number Diff line number Diff line
@@ -384,7 +384,7 @@ public class FingerprintEnrollIntroduction extends BiometricEnrollIntroduction {
        }
        if (Flags.udfpsEnrollCalibration()) {
            if (mCalibrator != null) {
                intent.putExtras(mCalibrator.getExtrasForNextIntent(false));
                intent.putExtras(mCalibrator.getExtrasForNextIntent());
            }
        }
        intent.putExtra(BiometricUtils.EXTRA_ENROLL_REASON,
+16 −0
Original line number Diff line number Diff line
@@ -88,6 +88,7 @@ import com.android.settingslib.transition.SettingsTransitionHelper;
import com.android.settingslib.widget.FooterPreference;
import com.android.settingslib.widget.TwoTargetPreference;

import com.google.android.setupcompat.util.WizardManagerHelper;
import com.google.android.setupdesign.util.DeviceHelper;

import java.util.ArrayList;
@@ -111,6 +112,9 @@ public class FingerprintSettings extends SubSettings {
    private static final int RESULT_SKIP = BiometricEnrollBase.RESULT_SKIP;
    private static final int RESULT_TIMEOUT = BiometricEnrollBase.RESULT_TIMEOUT;

    @Nullable
    private UdfpsEnrollCalibrator mCalibrator;

    @Override
    public Intent getIntent() {
        Intent modIntent = new Intent(super.getIntent());
@@ -131,6 +135,13 @@ public class FingerprintSettings extends SubSettings {
        setTitle(msg);
    }

    @Override
    public void onResume() {
        super.onResume();
        mCalibrator = FeatureFactory.getFeatureFactory().getFingerprintFeatureProvider()
                .getUdfpsEnrollCalibrator(getApplicationContext(), null, null);
    }

    /**
     * @param context
     * @return true if the Fingerprint hardware is detected.
@@ -800,6 +811,11 @@ public class FingerprintSettings extends SubSettings {
                }
                intent.putExtra(Intent.EXTRA_USER_ID, mUserId);
                intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, mToken);
                if (((FingerprintSettings) getActivity()).mCalibrator != null) {
                    intent.putExtras(
                            (((FingerprintSettings) getActivity()).mCalibrator)
                                    .getExtrasForNextIntent());
                }
                startActivityForResult(intent, ADD_FINGERPRINT_REQUEST);
            } else if (pref instanceof FingerprintPreference) {
                FingerprintPreference fpref = (FingerprintPreference) pref;
+1 −1
Original line number Diff line number Diff line
@@ -51,7 +51,7 @@ public class SetupFingerprintEnrollFindSensor extends FingerprintEnrollFindSenso
        SetupWizardUtils.copySetupExtras(getIntent(), intent);
        if (Flags.udfpsEnrollCalibration()) {
            if (mCalibrator != null) {
                intent.putExtras(mCalibrator.getExtrasForNextIntent(true));
                intent.putExtras(mCalibrator.getExtrasForNextIntent());
            }
        }
        return intent;
Loading