aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Chyn <kchyn@google.com>2019-06-26 03:00:42 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2019-06-26 03:00:42 +0000
commitd4095cf873f19f9b62c7a18b9bfdbec446a58f16 (patch)
tree146f4389f91df01c20bd1587e238eec6df4e1afa
parent39a82f26bcd8248e65a5d04288d73d2578d283da (diff)
parent76ef0b845af988d3b284fcec70f90229e33649e3 (diff)
downloadsupport-d4095cf873f19f9b62c7a18b9bfdbec446a58f16.tar.gz
Merge "Make fingerprint helper fragment use default error string" into androidx-master-dev
-rw-r--r--biometric/src/main/java/androidx/biometric/FingerprintHelperFragment.java26
1 files changed, 19 insertions, 7 deletions
diff --git a/biometric/src/main/java/androidx/biometric/FingerprintHelperFragment.java b/biometric/src/main/java/androidx/biometric/FingerprintHelperFragment.java
index 519d3a5fc93..eb1a452d226 100644
--- a/biometric/src/main/java/androidx/biometric/FingerprintHelperFragment.java
+++ b/biometric/src/main/java/androidx/biometric/FingerprintHelperFragment.java
@@ -19,6 +19,7 @@ package androidx.biometric;
import android.content.Context;
import android.os.Bundle;
import android.os.Handler;
+import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -39,7 +40,7 @@ import java.util.concurrent.Executor;
@RestrictTo(RestrictTo.Scope.LIBRARY)
public class FingerprintHelperFragment extends Fragment {
- private static final String TAG = "FingerprintHelperFragment";
+ private static final String TAG = "fh_fragment";
protected static final int USER_CANCELED_FROM_NONE = 0;
protected static final int USER_CANCELED_FROM_USER = 1;
@@ -83,7 +84,7 @@ public class FingerprintHelperFragment extends Fragment {
@Override
public void onAuthenticationError(final int errMsgId,
- final CharSequence errString) {
+ CharSequence errString) {
if (errMsgId == BiometricPrompt.ERROR_CANCELED) {
if (mCanceledFrom == USER_CANCELED_FROM_NONE) {
dismissAndForwardResult(errMsgId, errString);
@@ -92,9 +93,19 @@ public class FingerprintHelperFragment extends Fragment {
|| errMsgId == BiometricPrompt.ERROR_LOCKOUT_PERMANENT) {
dismissAndForwardResult(errMsgId, errString);
} else {
+ // Avoid passing a null error string to the client callback. This needs to
+ // be a final copy, since it's accessed in the runnable below.
+ final CharSequence errStringNonNull;
+ if (errString != null) {
+ errStringNonNull = errString;
+ } else {
+ Log.e(TAG, "Got null string for error message: " + errMsgId);
+ errStringNonNull =
+ mContext.getResources().getString(R.string.default_error_msg);
+ }
+
mHandler.obtainMessage(FingerprintDialogFragment.MSG_SHOW_ERROR, errMsgId,
- 0,
- errString).sendToTarget();
+ 0, errStringNonNull).sendToTarget();
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
@@ -102,8 +113,7 @@ public class FingerprintHelperFragment extends Fragment {
@Override
public void run() {
mClientAuthenticationCallback.onAuthenticationError(
- errMsgId,
- errString);
+ errMsgId, errStringNonNull);
}
});
}
@@ -284,8 +294,10 @@ public class FingerprintHelperFragment extends Fragment {
return context.getString(R.string.fingerprint_error_no_fingerprints);
case BiometricPrompt.ERROR_USER_CANCELED:
return context.getString(R.string.fingerprint_error_user_canceled);
+ default:
+ Log.e(TAG, "Unknown error code: " + errorCode);
+ return context.getString(R.string.default_error_msg);
}
- return null;
}
@SuppressWarnings("deprecation")