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

Commit 1c1191b6 authored by Kevin Chyn's avatar Kevin Chyn Committed by android-build-merger
Browse files

Do not request cancel authentication unless currently authenticating

am: 49c7d076

Change-Id: Id38d3648f75a79a3492677416c79fff960317a69
parents 546b4220 49c7d076
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -58,11 +58,13 @@ public class BiometricFragment extends InstrumentedFragment {
    private Bundle mBundle;
    private BiometricPrompt mBiometricPrompt;
    private CancellationSignal mCancellationSignal;
    private boolean mAuthenticating;

    private AuthenticationCallback mAuthenticationCallback =
            new AuthenticationCallback() {
        @Override
        public void onAuthenticationError(int error, @NonNull CharSequence message) {
            mAuthenticating = false;
            mClientExecutor.execute(() -> {
                mClientCallback.onAuthenticationError(error, message);
            });
@@ -71,6 +73,7 @@ public class BiometricFragment extends InstrumentedFragment {

        @Override
        public void onAuthenticationSucceeded(AuthenticationResult result) {
            mAuthenticating = false;
            mClientExecutor.execute(() -> {
                mClientCallback.onAuthenticationSucceeded(result);
            });
@@ -134,6 +137,10 @@ public class BiometricFragment extends InstrumentedFragment {
        }
    }

    boolean isAuthenticating() {
        return mAuthenticating;
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
@@ -180,6 +187,7 @@ public class BiometricFragment extends InstrumentedFragment {
        mCancellationSignal = new CancellationSignal();

        // TODO: CC doesn't use crypto for now
        mAuthenticating = true;
        mBiometricPrompt.authenticateUser(mCancellationSignal, mClientExecutor,
                mAuthenticationCallback, mUserId, mCancelCallback);
    }
+4 −1
Original line number Diff line number Diff line
@@ -251,8 +251,11 @@ public class ConfirmDeviceCredentialActivity extends FragmentActivity {
        if (!isChangingConfigurations()) {
            mGoingToBackground = true;
            if (mBiometricFragment != null) {
                Log.d(TAG, "Authenticating: " + mBiometricFragment.isAuthenticating());
                if (mBiometricFragment.isAuthenticating()) {
                    mBiometricFragment.cancel();
                }
            }

            if (mIsFallback && !mCCLaunched) {
                mBiometricManager.onConfirmDeviceCredentialError(