From 578f3af7d3e77814497d6e2bb69dc522a76731bb Mon Sep 17 00:00:00 2001 From: srulfi Date: Fri, 12 Oct 2018 12:22:25 -0300 Subject: [PATCH 1/2] Android: handle failed attempts with error message --- .../java/com/rnfingerprint/FingerprintDialog.java | 10 +++++++--- .../java/com/rnfingerprint/FingerprintHandler.java | 3 +-- android/src/main/res/layout/fingerprint_dialog.xml | 12 ++++++++++++ 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/android/src/main/java/com/rnfingerprint/FingerprintDialog.java b/android/src/main/java/com/rnfingerprint/FingerprintDialog.java index 775df7da..efc467f1 100644 --- a/android/src/main/java/com/rnfingerprint/FingerprintDialog.java +++ b/android/src/main/java/com/rnfingerprint/FingerprintDialog.java @@ -22,11 +22,14 @@ public class FingerprintDialog extends DialogFragment implements FingerprintHand private FingerprintHandler mFingerprintHandler; private boolean isAuthInProgress; + private TextView mFingerprintError; + private String authReason; private int dialogColor = 0; private String dialogTitle = ""; private String cancelText = ""; private String sensorDescription = ""; + private String errorText = ""; @Override public void onAttach(Context context) { @@ -57,6 +60,9 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle sa final TextView mFingerprintSensorDescription = (TextView) v.findViewById(R.id.fingerprint_sensor_description); mFingerprintSensorDescription.setText(this.sensorDescription); + this.mFingerprintError = (TextView) v.findViewById(R.id.fingerprint_error); + this.mFingerprintError.setText(this.errorText); + final Button mCancelButton = (Button) v.findViewById(R.id.cancel_button); mCancelButton.setText(this.cancelText); mCancelButton.setOnClickListener(new View.OnClickListener() { @@ -155,9 +161,7 @@ public void onAuthenticated() { @Override public void onError(String errorString, int errorCode) { - this.isAuthInProgress = false; - this.dialogCallback.onError(errorString, errorCode); - dismiss(); + this.mFingerprintError.setText(errorString); } @Override diff --git a/android/src/main/java/com/rnfingerprint/FingerprintHandler.java b/android/src/main/java/com/rnfingerprint/FingerprintHandler.java index 87750ff4..1ae00e6f 100644 --- a/android/src/main/java/com/rnfingerprint/FingerprintHandler.java +++ b/android/src/main/java/com/rnfingerprint/FingerprintHandler.java @@ -40,8 +40,7 @@ public void onAuthenticationError(int errCode, @Override public void onAuthenticationFailed() { - mCallback.onError("failed", FingerprintAuthConstants.AUTHENTICATION_FAILED); - cancelAuthenticationSignal(); + mCallback.onError("Not recognized. Try again.", FingerprintAuthConstants.AUTHENTICATION_FAILED); } @Override diff --git a/android/src/main/res/layout/fingerprint_dialog.xml b/android/src/main/res/layout/fingerprint_dialog.xml index 7ef39455..daeb5f3b 100644 --- a/android/src/main/res/layout/fingerprint_dialog.xml +++ b/android/src/main/res/layout/fingerprint_dialog.xml @@ -51,6 +51,18 @@ android:textSize="15dp" /> + +