Merge "Change in Fingerprint Error Dialog in Enrollment" into tm-qpr-dev
diff --git a/res/values/strings.xml b/res/values/strings.xml
index d105d78..1dc49a4 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1407,6 +1407,8 @@
<string name="security_settings_fingerprint_enroll_touch_dialog_title">Whoops, that\u2019s not the sensor</string>
<!-- Dialog message for dialog which shows when user touches the icon on the screen, instead of the sensor at the back [CHAR LIMIT=NONE] -->
<string name="security_settings_fingerprint_enroll_touch_dialog_message">Touch the sensor on the back of your phone. Use your index finger.</string>
+ <!-- Dialog message for dialog which shows when finger cannot be processed in enrollment. [CHAR LIMIT=45] -->
+ <string name="security_settings_fingerprint_enroll_error_unable_to_process_dialog_title">Enrollment was not completed</string>
<!-- Dialog message for dialog which shows when finger cannot be enrolled. [CHAR LIMIT=45] -->
<string name="security_settings_fingerprint_enroll_error_dialog_title">Fingerprint setup timed out</string>
<!-- Dialog message for dialog which shows when finger cannot be enrolled due to being idle too long. -->
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintErrorDialog.java b/src/com/android/settings/biometrics/fingerprint/FingerprintErrorDialog.java
index dc1189c..870e1bb 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintErrorDialog.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintErrorDialog.java
@@ -40,18 +40,20 @@
public class FingerprintErrorDialog extends InstrumentedDialogFragment {
public static final String KEY_ERROR_MSG = "error_msg";
+ public static final String KEY_ERROR_TITLE = "error_title";
public static final String KEY_ERROR_ID = "error_id";
public static final String KEY_UDFPS = "is_udfps";
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
- AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
- CharSequence errorString = getArguments().getCharSequence(KEY_ERROR_MSG);
+ final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
+ final CharSequence errorString = getArguments().getCharSequence(KEY_ERROR_MSG);
+ final CharSequence errorTitle = getArguments().getCharSequence(KEY_ERROR_TITLE);
final int errMsgId = getArguments().getInt(KEY_ERROR_ID);
final boolean canAssumeUdfps = getArguments().getBoolean(KEY_UDFPS, false);
- boolean wasTimeout = errMsgId == BiometricConstants.BIOMETRIC_ERROR_TIMEOUT;
+ final boolean wasTimeout = errMsgId == BiometricConstants.BIOMETRIC_ERROR_TIMEOUT;
- builder.setTitle(R.string.security_settings_fingerprint_enroll_error_dialog_title)
+ builder.setTitle(errorTitle)
.setMessage(errorString)
.setCancelable(false)
.setPositiveButton(
@@ -60,7 +62,7 @@
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
- Activity activity = getActivity();
+ final Activity activity = getActivity();
if (wasTimeout && !canAssumeUdfps) {
activity.setResult(RESULT_TIMEOUT);
} else {
@@ -76,8 +78,8 @@
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
- Activity activity = getActivity();
- Intent intent = activity.getIntent();
+ final Activity activity = getActivity();
+ final Intent intent = activity.getIntent();
intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
intent.putExtra(KEY_STATE_CANCELED, false);
activity.startActivity(intent);
@@ -90,13 +92,13 @@
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
- Activity activity = getActivity();
+ final Activity activity = getActivity();
activity.setResult(RESULT_TIMEOUT);
activity.finish();
}
});
}
- AlertDialog dialog = builder.create();
+ final AlertDialog dialog = builder.create();
dialog.setCanceledOnTouchOutside(false);
return dialog;
}
@@ -111,11 +113,13 @@
return;
}
CharSequence errMsg = host.getText(getErrorMessage(errMsgId));
+ final CharSequence errTitle = host.getText(getErrorTitle(errMsgId));
if (!canAssumeUdfps
&& errMsgId == BiometricConstants.BIOMETRIC_ERROR_TIMEOUT) {
errMsg = host.getText(getErrorMessage(BiometricConstants.BIOMETRIC_ERROR_CANCELED));
}
- final FingerprintErrorDialog dialog = newInstance(errMsg, errMsgId, canAssumeUdfps);
+ final FingerprintErrorDialog dialog = newInstance(errMsg, errTitle,
+ errMsgId, canAssumeUdfps);
dialog.show(fragmentManager, FingerprintErrorDialog.class.getName());
}
@@ -133,11 +137,22 @@
}
}
- private static FingerprintErrorDialog newInstance(CharSequence msg, int msgId,
- boolean canAssumeUdfps) {
- FingerprintErrorDialog dialog = new FingerprintErrorDialog();
- Bundle args = new Bundle();
+ private static int getErrorTitle(int errMsgId) {
+ switch (errMsgId) {
+ case FingerprintManager.FINGERPRINT_ERROR_UNABLE_TO_PROCESS:
+ return R.string
+ .security_settings_fingerprint_enroll_error_unable_to_process_dialog_title;
+ default:
+ return R.string.security_settings_fingerprint_enroll_error_dialog_title;
+ }
+ }
+
+ private static FingerprintErrorDialog newInstance(CharSequence msg, CharSequence title,
+ int msgId, boolean canAssumeUdfps) {
+ final FingerprintErrorDialog dialog = new FingerprintErrorDialog();
+ final Bundle args = new Bundle();
args.putCharSequence(KEY_ERROR_MSG, msg);
+ args.putCharSequence(KEY_ERROR_TITLE, title);
args.putInt(KEY_ERROR_ID, msgId);
args.putBoolean(KEY_UDFPS, canAssumeUdfps);
dialog.setArguments(args);