Merge "Prevent newlines and long captions selecting default payment app" into lmp-dev

This commit is contained in:
Andres Morales
2014-08-07 17:05:48 +00:00
committed by Android (Google) Code Review

View File

@@ -34,6 +34,7 @@ public final class PaymentDefaultDialog extends AlertActivity implements
DialogInterface.OnClickListener {
public static final String TAG = "PaymentDefaultDialog";
private static final int PAYMENT_APP_MAX_CAPTION_LENGTH = 40;
private PaymentBackend mBackend;
private ComponentName mNewDefault;
@@ -109,12 +110,14 @@ public final class PaymentDefaultDialog extends AlertActivity implements
p.mTitle = getString(R.string.nfc_payment_set_default_label);
if (defaultPaymentApp == null) {
String formatString = getString(R.string.nfc_payment_set_default);
String msg = String.format(formatString, requestedPaymentApp.caption);
String msg = String.format(formatString,
sanitizePaymentAppCaption(requestedPaymentApp.caption.toString()));
p.mMessage = msg;
} else {
String formatString = getString(R.string.nfc_payment_set_default_instead_of);
String msg = String.format(formatString, requestedPaymentApp.caption,
defaultPaymentApp.caption);
String msg = String.format(formatString,
sanitizePaymentAppCaption(requestedPaymentApp.caption.toString()),
sanitizePaymentAppCaption(defaultPaymentApp.caption.toString()));
p.mMessage = msg;
}
p.mPositiveButtonText = getString(R.string.yes);
@@ -126,4 +129,15 @@ public final class PaymentDefaultDialog extends AlertActivity implements
return true;
}
private String sanitizePaymentAppCaption(String input) {
String sanitizedString = input.replace('\n', ' ').replace('\r', ' ').trim();
if (sanitizedString.length() > PAYMENT_APP_MAX_CAPTION_LENGTH) {
return sanitizedString.substring(0, PAYMENT_APP_MAX_CAPTION_LENGTH);
}
return sanitizedString;
}
}