Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3877)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java

Issue 2368073002: PaymentRequest: Add payer name field to payer info editor. (android) (Closed)
Patch Set: PaymentRequest: Add payer name field to payer info editor. (android) Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java
index 44bc75d4b1ef2bfa34541677372ae808c686100a..0535e1ef4eff5b03e6adc11e9a409841bab74ea5 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java
@@ -271,11 +271,12 @@ public class PaymentRequestImpl implements PaymentRequest, PaymentRequestUI.Clie
getMatchingPaymentInstruments();
boolean requestShipping = options != null && options.requestShipping;
+ boolean requestPayerName = options != null && options.requestPayerName;
boolean requestPayerPhone = options != null && options.requestPayerPhone;
boolean requestPayerEmail = options != null && options.requestPayerEmail;
List<AutofillProfile> profiles = null;
- if (requestShipping || requestPayerPhone || requestPayerEmail) {
+ if (requestShipping || requestPayerName || requestPayerPhone || requestPayerEmail) {
profiles = PersonalDataManager.getInstance().getProfilesToSuggest(
false /* includeNameInLabel */);
}
@@ -324,30 +325,34 @@ public class PaymentRequestImpl implements PaymentRequest, PaymentRequestUI.Clie
firstCompleteAddressIndex, addresses);
}
- if (requestPayerPhone || requestPayerEmail) {
+ if (requestPayerName || requestPayerPhone || requestPayerEmail) {
Set<String> uniqueContactInfos = new HashSet<>();
- mContactEditor = new ContactEditor(requestPayerPhone, requestPayerEmail);
+ mContactEditor = new ContactEditor(
+ requestPayerName, requestPayerPhone, requestPayerEmail);
List<AutofillContact> contacts = new ArrayList<>();
for (int i = 0; i < profiles.size(); i++) {
AutofillProfile profile = profiles.get(i);
+ String name = requestPayerName && !TextUtils.isEmpty(profile.getFullName())
+ ? profile.getFullName() : null;
String phone = requestPayerPhone && !TextUtils.isEmpty(profile.getPhoneNumber())
? profile.getPhoneNumber() : null;
String email = requestPayerEmail && !TextUtils.isEmpty(profile.getEmailAddress())
? profile.getEmailAddress() : null;
+ mContactEditor.addPayerNameIfValid(name);
mContactEditor.addPhoneNumberIfValid(phone);
mContactEditor.addEmailAddressIfValid(email);
- if (phone != null || email != null) {
+ if (name != null || phone != null || email != null) {
// Different profiles can have identical contact info. Do not add the same
// contact info to the list twice.
- String uniqueContactInfo = phone + email;
+ String uniqueContactInfo = name + phone + email;
if (!uniqueContactInfos.contains(uniqueContactInfo)) {
uniqueContactInfos.add(uniqueContactInfo);
boolean isComplete =
- mContactEditor.isContactInformationComplete(phone, email);
- contacts.add(new AutofillContact(profile, phone, email, isComplete));
+ mContactEditor.isContactInformationComplete(name, phone, email);
+ contacts.add(new AutofillContact(profile, name, phone, email, isComplete));
}
}
}
@@ -373,8 +378,8 @@ public class PaymentRequestImpl implements PaymentRequest, PaymentRequestUI.Clie
}
mUI = new PaymentRequestUI(mContext, this, requestShipping,
- requestPayerPhone || requestPayerEmail, mMerchantSupportsAutofillPaymentInstruments,
- mMerchantName, mOrigin);
+ requestPayerName || requestPayerPhone || requestPayerEmail,
+ mMerchantSupportsAutofillPaymentInstruments, mMerchantName, mOrigin);
if (mFavicon != null) mUI.setTitleBitmap(mFavicon);
mFavicon = null;
@@ -1070,6 +1075,7 @@ public class PaymentRequestImpl implements PaymentRequest, PaymentRequestUI.Clie
if (selectedContact != null) {
// Contacts are created in show(). These should all be instances of AutofillContact.
assert selectedContact instanceof AutofillContact;
+ response.payerName = ((AutofillContact) selectedContact).getPayerName();
response.payerPhone = ((AutofillContact) selectedContact).getPayerPhone();
response.payerEmail = ((AutofillContact) selectedContact).getPayerEmail();
}

Powered by Google App Engine
This is Rietveld 408576698