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

Commit 3028e525 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Save isCanceled state and restore when rotation" into tm-qpr-dev

parents e49a8448 d7f53d41
Loading
Loading
Loading
Loading
+20 −2
Original line number Diff line number Diff line
@@ -76,6 +76,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {

    private static final String TAG = "FingerprintEnrollEnrolling";
    static final String TAG_SIDECAR = "sidecar";
    static final String KEY_STATE_CANCELED = "is_canceled";

    private static final int PROGRESS_BAR_MAX = 10000;

@@ -130,6 +131,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
    private boolean mRestoring;
    private Vibrator mVibrator;
    private boolean mIsSetupWizard;
    private boolean mIsCanceled;
    private AccessibilityManager mAccessibilityManager;
    private boolean mIsAccessibilityEnabled;
    private LottieAnimationView mIllustrationLottie;
@@ -154,6 +156,9 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        if (savedInstanceState != null) {
            restoreSavedState(savedInstanceState);
        }
        mFingerprintManager = getSystemService(FingerprintManager.class);
        final List<FingerprintSensorPropertiesInternal> props =
                mFingerprintManager.getSensorPropertiesInternal();
@@ -240,7 +245,6 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
                return true;
            });
        }
        mRestoring = savedInstanceState != null;
    }

    @Override
@@ -255,11 +259,22 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
        if (mCanAssumeUdfps) {
            // Continue enrollment if restoring (e.g. configuration changed). Otherwise, wait
            // for the entry animation to complete before starting.
            return mRestoring;
            return mRestoring && !mIsCanceled;
        }
        return true;
    }

    @Override
    protected void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        outState.putBoolean(KEY_STATE_CANCELED, mIsCanceled);
    }

    private void restoreSavedState(Bundle savedInstanceState) {
        mRestoring = true;
        mIsCanceled = savedInstanceState.getBoolean(KEY_STATE_CANCELED, false);
    }

    @Override
    protected void onStart() {
        super.onStart();
@@ -500,7 +515,10 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
    @Override
    public void onEnrollmentError(int errMsgId, CharSequence errString) {
        FingerprintErrorDialog.showErrorDialog(this, errMsgId);
        mIsCanceled = true;
        cancelEnrollment();
        stopIconAnimation();
        stopListenOrientationEvent();
        if (!mCanAssumeUdfps) {
            mErrorText.removeCallbacks(mTouchAgainRunnable);
        }
+7 −1
Original line number Diff line number Diff line
@@ -18,11 +18,13 @@ package com.android.settings.biometrics.fingerprint;

import static com.android.settings.biometrics.BiometricEnrollBase.RESULT_FINISHED;
import static com.android.settings.biometrics.BiometricEnrollBase.RESULT_TIMEOUT;
import static com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling.KEY_STATE_CANCELED;

import android.app.Activity;
import android.app.Dialog;
import android.app.settings.SettingsEnums;
import android.content.DialogInterface;
import android.content.Intent;
import android.hardware.biometrics.BiometricConstants;
import android.hardware.fingerprint.FingerprintManager;
import android.os.Bundle;
@@ -68,7 +70,11 @@ public class FingerprintErrorDialog extends InstrumentedDialogFragment {
                                @Override
                                public void onClick(DialogInterface dialog, int which) {
                                    dialog.dismiss();
                                    getActivity().recreate();
                                    Activity activity = getActivity();
                                    Intent intent = activity.getIntent();
                                    intent.putExtra(KEY_STATE_CANCELED, false);
                                    activity.startActivity(intent);
                                    activity.finish();
                                }
                            })
                    .setNegativeButton(