Index: chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillContact.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillContact.java b/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillContact.java |
index 37c9fd19d7195b4e7820961ef80b5c4d7c8b72a7..146e20b2cfce55fd827ea07020f8bfdbc950abbf 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillContact.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillContact.java |
@@ -16,6 +16,7 @@ import javax.annotation.Nullable; |
*/ |
public class AutofillContact extends PaymentOption { |
private final AutofillProfile mProfile; |
+ @Nullable private String mPayerName; |
@Nullable private String mPayerPhone; |
@Nullable private String mPayerEmail; |
@@ -23,17 +24,24 @@ public class AutofillContact extends PaymentOption { |
* Builds contact details. |
* |
* @param profile The autofill profile where this contact data lives. |
- * @param phone The phone number. If not empty, this will be the primary label. |
- * @param email The email address. If phone is empty, this will be the primary label. |
+ * @param name The payer name. If not empty, this will be the primary label. |
+ * @param phone The phone number. If name is empty, this will be the primary label. |
+ * @param email The email address. If name and phone are empty, this will be the primary |
+ * label. |
* @param isComplete Whether the data in this contact can be sent to the merchant as-is. If |
* false, user needs to add more information here. |
*/ |
- public AutofillContact(AutofillProfile profile, @Nullable String phone, @Nullable String email, |
- boolean isComplete) { |
+ public AutofillContact(AutofillProfile profile, @Nullable String name, |
+ @Nullable String phone, @Nullable String email, boolean isComplete) { |
super(profile.getGUID(), null, null, PaymentOption.NO_ICON); |
mProfile = profile; |
mIsComplete = isComplete; |
- setGuidPhoneEmail(profile.getGUID(), phone, email); |
+ setContactInfo(profile.getGUID(), name, phone, email); |
+ } |
+ |
+ /** @return Payer name. Null if the merchant did not request it or data is incomplete. */ |
+ @Nullable public String getPayerName() { |
+ return mPayerName; |
} |
/** @return Email address. Null if the merchant did not request it or data is incomplete. */ |
@@ -52,23 +60,35 @@ public class AutofillContact extends PaymentOption { |
} |
/** |
- * Updates the profile guid, email address, and phone number and marks this information |
- * "complete." Called after the user has edited this contact information. Updates the |
- * identifier, label, and sublabel. |
+ * Updates the profile guid, payer name, email address, and phone number and marks this |
+ * information "complete." Called after the user has edited this contact information. |
+ * Update the identifier, label, sublabel, and tertiarylabel. |
* |
* @param guid The new identifier to use. Should not be null or empty. |
- * @param phone The new phone number to use. If not empty, this will be the primary label. |
- * @param email The new email address to use. If phone is empty, this will be the primary label. |
+ * @param name The new payer name to use. If not empty, this will be the primary label. |
+ * @param phone The new phone number to use. If name is empty, this will be the primary label. |
+ * @param email The new email address to use. If email and phone are empty, this will be the |
+ * primary label. |
*/ |
- public void completeContact(String guid, @Nullable String phone, @Nullable String email) { |
+ public void completeContact(String guid, @Nullable String name, |
+ @Nullable String phone, @Nullable String email) { |
mIsComplete = true; |
- setGuidPhoneEmail(guid, phone, email); |
+ setContactInfo(guid, name, phone, email); |
} |
- private void setGuidPhoneEmail(String guid, @Nullable String phone, @Nullable String email) { |
+ private void setContactInfo(String guid, @Nullable String name, |
+ @Nullable String phone, @Nullable String email) { |
+ mPayerName = TextUtils.isEmpty(name) ? null : name; |
mPayerPhone = TextUtils.isEmpty(phone) ? null : phone; |
mPayerEmail = TextUtils.isEmpty(email) ? null : email; |
- updateIdentifierAndLabels(guid, mPayerPhone == null ? mPayerEmail : mPayerPhone, |
- mPayerPhone == null ? null : mPayerEmail); |
+ |
+ if (mPayerName == null) { |
+ updateIdentifierAndLabels(guid, mPayerPhone == null ? mPayerEmail : mPayerPhone, |
+ mPayerPhone == null ? null : mPayerEmail); |
+ } else { |
+ updateIdentifierAndLabels(guid, mPayerName, |
+ mPayerPhone == null ? mPayerEmail : mPayerPhone, |
+ mPayerPhone == null ? null : mPayerEmail); |
+ } |
} |
} |