From ee8fc8d587b73e2b3d7bd81a09e6f6884eaebc5e Mon Sep 17 00:00:00 2001 From: Kevin Chyn Date: Mon, 19 Apr 2021 14:20:56 -0700 Subject: [PATCH] Do not scan for fingerprint when rename dialog is showing Fixes: 185670313 Test: manual Change-Id: If153806d25c5397f1699d049a10c5bccaf87e413 --- .../fingerprint/FingerprintSettings.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java index bbe8a0954d7..f7327a75064 100644 --- a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java +++ b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java @@ -41,6 +41,8 @@ import android.view.View; import android.widget.ImeAwareEditText; import android.widget.Toast; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import androidx.appcompat.app.AlertDialog; import androidx.preference.Preference; @@ -548,10 +550,14 @@ public class FingerprintSettings extends SubSettings { } else { args.putParcelable("fingerprint", fp); } + renameDialog.setOnDismissListener((dialogInterface) -> { + retryFingerprint(); + }); renameDialog.setDeleteInProgress(mRemovalSidecar.inProgress()); renameDialog.setArguments(args); renameDialog.setTargetFragment(this, 0); renameDialog.show(getFragmentManager(), RenameDialog.class.getName()); + mAuthenticateSidecar.stopAuthentication(); } @Override @@ -777,12 +783,19 @@ public class FingerprintSettings extends SubSettings { private Fingerprint mFp; private ImeAwareEditText mDialogTextField; private AlertDialog mAlertDialog; + private @Nullable DialogInterface.OnDismissListener mDismissListener; private boolean mDeleteInProgress; public void setDeleteInProgress(boolean deleteInProgress) { mDeleteInProgress = deleteInProgress; } + @Override + public void onCancel(DialogInterface dialog) { + super.onCancel(dialog); + mDismissListener.onDismiss(dialog); + } + @Override public Dialog onCreateDialog(Bundle savedInstanceState) { mFp = getArguments().getParcelable("fingerprint"); @@ -818,6 +831,7 @@ public class FingerprintSettings extends SubSettings { parent.renameFingerPrint(mFp.getBiometricId(), newName); } + mDismissListener.onDismiss(dialog); dialog.dismiss(); } }) @@ -844,6 +858,10 @@ public class FingerprintSettings extends SubSettings { return mAlertDialog; } + public void setOnDismissListener(@NonNull DialogInterface.OnDismissListener listener) { + mDismissListener = listener; + } + public void enableDelete() { mDeleteInProgress = false; if (mAlertDialog != null) {