Index: chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillPaymentInstrument.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillPaymentInstrument.java b/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillPaymentInstrument.java |
index 62ee4cffa1fa44ede450a96efa8e00bfed5e7d77..1f281f30cfb22792a603b36420894fd79d4c5fe8 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillPaymentInstrument.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillPaymentInstrument.java |
@@ -4,9 +4,13 @@ |
package org.chromium.chrome.browser.payments; |
+import android.content.Context; |
import android.text.TextUtils; |
import android.util.JsonWriter; |
+import org.json.JSONObject; |
+ |
+import org.chromium.base.ApiCompatibilityUtils; |
import org.chromium.chrome.browser.autofill.PersonalDataManager; |
import org.chromium.chrome.browser.autofill.PersonalDataManager.AutofillProfile; |
import org.chromium.chrome.browser.autofill.PersonalDataManager.CreditCard; |
@@ -14,8 +18,6 @@ import org.chromium.chrome.browser.autofill.PersonalDataManager.FullCardRequestD |
import org.chromium.content_public.browser.WebContents; |
import org.chromium.payments.mojom.PaymentItem; |
-import org.json.JSONObject; |
- |
import java.io.IOException; |
import java.io.StringWriter; |
import java.util.List; |
@@ -27,6 +29,7 @@ import javax.annotation.Nullable; |
*/ |
public class AutofillPaymentInstrument |
extends PaymentInstrument implements FullCardRequestDelegate { |
+ private final Context mContext; |
private final WebContents mWebContents; |
private CreditCard mCard; |
private boolean mIsComplete; |
@@ -40,10 +43,14 @@ public class AutofillPaymentInstrument |
* @param card The autofill card that can be used for payment. |
* @param billingAddress The billing address for the card. |
*/ |
- public AutofillPaymentInstrument( |
- WebContents webContents, CreditCard card, @Nullable AutofillProfile billingAddress) { |
+ public AutofillPaymentInstrument(Context context, WebContents webContents, CreditCard card, |
+ @Nullable AutofillProfile billingAddress) { |
super(card.getGUID(), card.getObfuscatedNumber(), card.getName(), |
- card.getIssuerIconDrawableId()); |
+ card.getIssuerIconDrawableId() == 0 |
+ ? null |
+ : ApiCompatibilityUtils.getDrawable( |
+ context.getResources(), card.getIssuerIconDrawableId())); |
+ mContext = context; |
mWebContents = webContents; |
mCard = card; |
mIsComplete = false; |
@@ -149,12 +156,14 @@ public class AutofillPaymentInstrument |
assert billingAddress != null; |
assert card.getBillingAddressId() != null; |
assert card.getBillingAddressId().equals(billingAddress.getGUID()); |
+ assert card.getIssuerIconDrawableId() != 0; |
mCard = card; |
mBillingAddress = billingAddress; |
mIsComplete = true; |
updateIdentifierLabelsAndIcon(card.getGUID(), card.getObfuscatedNumber(), card.getName(), |
- null, card.getIssuerIconDrawableId()); |
+ null, ApiCompatibilityUtils.getDrawable( |
+ mContext.getResources(), card.getIssuerIconDrawableId())); |
} |
/** @return The credit card represented by this payment instrument. */ |