| Index: chrome/android/java/src/org/chromium/chrome/browser/payments/CardEditor.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/payments/CardEditor.java b/chrome/android/java/src/org/chromium/chrome/browser/payments/CardEditor.java
|
| index 071705d26e5f18f0c180008612f605713e25e386..43acdaa0850351dd42179445a9e9cffe79e60fe2 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/payments/CardEditor.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/payments/CardEditor.java
|
| @@ -19,6 +19,7 @@ import org.chromium.chrome.browser.autofill.PersonalDataManager.CreditCard;
|
| import org.chromium.chrome.browser.payments.PaymentRequestImpl.PaymentRequestServiceObserverForTest;
|
| import org.chromium.chrome.browser.payments.ui.EditorFieldModel;
|
| import org.chromium.chrome.browser.payments.ui.EditorFieldModel.EditorFieldValidator;
|
| +import org.chromium.chrome.browser.payments.ui.EditorFieldModel.EditorValueIconGenerator;
|
| import org.chromium.chrome.browser.payments.ui.EditorModel;
|
| import org.chromium.chrome.browser.preferences.autofill.AutofillProfileBridge.DropdownKeyValue;
|
| import org.chromium.content.browser.ContentViewCore;
|
| @@ -113,6 +114,7 @@ public class CardEditor extends EditorBase<AutofillPaymentInstrument>
|
|
|
| private final Handler mHandler;
|
| private final EditorFieldValidator mCardNumberValidator;
|
| + private final EditorValueIconGenerator mCardIconGenerator;
|
| private final AsyncTask<Void, Void, Calendar> mCalendar;
|
|
|
| @Nullable private EditorFieldModel mIconHint;
|
| @@ -183,9 +185,22 @@ public class CardEditor extends EditorBase<AutofillPaymentInstrument>
|
| mCardNumberValidator = new EditorFieldValidator() {
|
| @Override
|
| public boolean isValid(@Nullable CharSequence value) {
|
| - return value != null && mAcceptedCardTypes.contains(
|
| - PersonalDataManager.getInstance().getBasicCardPaymentTypeIfValid(
|
| - value.toString()));
|
| + return value != null
|
| + && mAcceptedCardTypes.contains(
|
| + PersonalDataManager.getInstance().getBasicCardPaymentType(
|
| + value.toString(), true));
|
| + }
|
| + };
|
| +
|
| + mCardIconGenerator = new EditorValueIconGenerator() {
|
| + @Override
|
| + public int getIconResourceId(@Nullable CharSequence value) {
|
| + if (value == null) return 0;
|
| + CardTypeInfo cardTypeInfo =
|
| + mCardTypes.get(PersonalDataManager.getInstance().getBasicCardPaymentType(
|
| + value.toString(), false));
|
| + if (cardTypeInfo == null) return 0;
|
| + return cardTypeInfo.icon;
|
| }
|
| };
|
|
|
| @@ -375,8 +390,8 @@ public class CardEditor extends EditorBase<AutofillPaymentInstrument>
|
| if (mNumberField == null) {
|
| mNumberField = EditorFieldModel.createTextInput(
|
| EditorFieldModel.INPUT_TYPE_HINT_CREDIT_CARD,
|
| - mContext.getString(R.string.autofill_credit_card_editor_number),
|
| - null, mCardNumberValidator,
|
| + mContext.getString(R.string.autofill_credit_card_editor_number), null,
|
| + mCardNumberValidator, mCardIconGenerator,
|
| mContext.getString(R.string.payments_field_required_validation_message),
|
| mContext.getString(R.string.payments_card_number_invalid_validation_message),
|
| null);
|
| @@ -399,9 +414,9 @@ public class CardEditor extends EditorBase<AutofillPaymentInstrument>
|
| if (mNameField == null) {
|
| mNameField = EditorFieldModel.createTextInput(
|
| EditorFieldModel.INPUT_TYPE_HINT_PERSON_NAME,
|
| - mContext.getString(R.string.autofill_credit_card_editor_name), null, null,
|
| - mContext.getString(R.string.payments_field_required_validation_message),
|
| - null, null);
|
| + mContext.getString(R.string.autofill_credit_card_editor_name), null, null, null,
|
| + mContext.getString(R.string.payments_field_required_validation_message), null,
|
| + null);
|
| }
|
| mNameField.setValue(card.getName());
|
| editor.addField(mNameField);
|
|
|