Merge "Change in Fingerprint Error Dialog in Enrollment" into tm-qpr-dev am: 6c703e12ae

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20919301

Change-Id: I9edcd73ab9f7ab08d1f4305ecda92090171b140a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Diya Bera
2023-01-12 20:03:22 +00:00
committed by Automerger Merge Worker
2 changed files with 31 additions and 14 deletions

View File

@@ -1411,6 +1411,8 @@
<string name="security_settings_fingerprint_enroll_touch_dialog_title">Whoops, that\u2019s not the sensor</string> <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] --> <!-- 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> <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] --> <!-- 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> <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. --> <!-- Dialog message for dialog which shows when finger cannot be enrolled due to being idle too long. -->

View File

@@ -40,18 +40,20 @@ import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
public class FingerprintErrorDialog extends InstrumentedDialogFragment { public class FingerprintErrorDialog extends InstrumentedDialogFragment {
public static final String KEY_ERROR_MSG = "error_msg"; 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_ERROR_ID = "error_id";
public static final String KEY_UDFPS = "is_udfps"; public static final String KEY_UDFPS = "is_udfps";
@Override @Override
public Dialog onCreateDialog(Bundle savedInstanceState) { public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
CharSequence errorString = getArguments().getCharSequence(KEY_ERROR_MSG); 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 int errMsgId = getArguments().getInt(KEY_ERROR_ID);
final boolean canAssumeUdfps = getArguments().getBoolean(KEY_UDFPS, false); 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) .setMessage(errorString)
.setCancelable(false) .setCancelable(false)
.setPositiveButton( .setPositiveButton(
@@ -60,7 +62,7 @@ public class FingerprintErrorDialog extends InstrumentedDialogFragment {
@Override @Override
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
dialog.dismiss(); dialog.dismiss();
Activity activity = getActivity(); final Activity activity = getActivity();
if (wasTimeout && !canAssumeUdfps) { if (wasTimeout && !canAssumeUdfps) {
activity.setResult(RESULT_TIMEOUT); activity.setResult(RESULT_TIMEOUT);
} else { } else {
@@ -76,8 +78,8 @@ public class FingerprintErrorDialog extends InstrumentedDialogFragment {
@Override @Override
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
dialog.dismiss(); dialog.dismiss();
Activity activity = getActivity(); final Activity activity = getActivity();
Intent intent = activity.getIntent(); final Intent intent = activity.getIntent();
intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT); intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
intent.putExtra(KEY_STATE_CANCELED, false); intent.putExtra(KEY_STATE_CANCELED, false);
activity.startActivity(intent); activity.startActivity(intent);
@@ -90,13 +92,13 @@ public class FingerprintErrorDialog extends InstrumentedDialogFragment {
@Override @Override
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
dialog.dismiss(); dialog.dismiss();
Activity activity = getActivity(); final Activity activity = getActivity();
activity.setResult(RESULT_TIMEOUT); activity.setResult(RESULT_TIMEOUT);
activity.finish(); activity.finish();
} }
}); });
} }
AlertDialog dialog = builder.create(); final AlertDialog dialog = builder.create();
dialog.setCanceledOnTouchOutside(false); dialog.setCanceledOnTouchOutside(false);
return dialog; return dialog;
} }
@@ -111,11 +113,13 @@ public class FingerprintErrorDialog extends InstrumentedDialogFragment {
return; return;
} }
CharSequence errMsg = host.getText(getErrorMessage(errMsgId)); CharSequence errMsg = host.getText(getErrorMessage(errMsgId));
final CharSequence errTitle = host.getText(getErrorTitle(errMsgId));
if (!canAssumeUdfps if (!canAssumeUdfps
&& errMsgId == BiometricConstants.BIOMETRIC_ERROR_TIMEOUT) { && errMsgId == BiometricConstants.BIOMETRIC_ERROR_TIMEOUT) {
errMsg = host.getText(getErrorMessage(BiometricConstants.BIOMETRIC_ERROR_CANCELED)); 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()); dialog.show(fragmentManager, FingerprintErrorDialog.class.getName());
} }
@@ -133,11 +137,22 @@ public class FingerprintErrorDialog extends InstrumentedDialogFragment {
} }
} }
private static FingerprintErrorDialog newInstance(CharSequence msg, int msgId, private static int getErrorTitle(int errMsgId) {
boolean canAssumeUdfps) { switch (errMsgId) {
FingerprintErrorDialog dialog = new FingerprintErrorDialog(); case FingerprintManager.FINGERPRINT_ERROR_UNABLE_TO_PROCESS:
Bundle args = new Bundle(); 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_MSG, msg);
args.putCharSequence(KEY_ERROR_TITLE, title);
args.putInt(KEY_ERROR_ID, msgId); args.putInt(KEY_ERROR_ID, msgId);
args.putBoolean(KEY_UDFPS, canAssumeUdfps); args.putBoolean(KEY_UDFPS, canAssumeUdfps);
dialog.setArguments(args); dialog.setArguments(args);