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

Issue 2583593002: [Payments] Dedupe subsets in contact detail suggestions. (Closed)

Created:
4 years ago by sebsg
Modified:
3 years, 11 months ago
CC:
chromium-reviews, rouslan+payments_chromium.org, sebsg+paymentswatch_chromium.org, gogerald+paymentswatch_chromium.org, agrieve+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

[Payments] Dedupe subsets in contact detail suggestions. Previously suggestions that are a subset of another suggestion are not deduped. With this patch, only the most complete version will be suggested to the user. A side-effect of this change is that ContactDetails are now sorted by relevance in regards or the information required from the merchant instead of completeness. For example, considering a profile A with only email and a profile B with email and phone, and a merchant requires email, phone and name. Previously the order between A and B would have been decided by frecency since both were incomplete. With this patch, B would be suggested first since it has more information. BUG=674647 Review-Url: https://codereview.chromium.org/2583593002 Cr-Commit-Position: refs/heads/master@{#441764} Committed: https://chromium.googlesource.com/chromium/src/+/90bf8242b2d3f9ffb2bef194f4e065fb81a13ce9

Patch Set 1 #

Total comments: 32

Patch Set 2 : Addressed comments + Added tests #

Patch Set 3 : Rebase #

Total comments: 10

Patch Set 4 : Move logic to AutofillContact #

Total comments: 8

Patch Set 5 : Rebase #

Patch Set 6 : Addressed Comments #

Total comments: 2

Patch Set 7 : Nit #

Unified diffs Side-by-side diffs Delta from patch set Stats (+687 lines, -91 lines) Patch
M chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillContact.java View 1 2 3 4 5 6 6 chunks +75 lines, -9 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/payments/ContactEditor.java View 1 2 3 5 chunks +8 lines, -22 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java View 1 2 3 4 5 4 chunks +51 lines, -30 lines 0 comments Download
M chrome/android/java_sources.gni View 1 2 3 4 2 chunks +2 lines, -0 lines 0 comments Download
M chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestContactDetailsTest.java View 1 2 3 4 2 chunks +33 lines, -0 lines 0 comments Download
A + chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestEmailAndPhoneTest.java View 1 2 3 4 3 chunks +54 lines, -18 lines 0 comments Download
M chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestEmailTest.java View 1 2 3 4 2 chunks +33 lines, -0 lines 0 comments Download
M chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestMultipleContactDetailsTest.java View 1 2 3 4 2 chunks +113 lines, -9 lines 0 comments Download
M chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestNameTest.java View 1 2 3 4 2 chunks +33 lines, -0 lines 0 comments Download
M chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestPhoneTest.java View 1 2 3 4 2 chunks +33 lines, -0 lines 0 comments Download
M chrome/android/junit/src/org/chromium/chrome/browser/payments/AutofillContactTest.java View 1 2 3 2 chunks +4 lines, -3 lines 0 comments Download
A chrome/android/junit/src/org/chromium/chrome/browser/payments/AutofillContactUnitTest.java View 1 2 3 1 chunk +194 lines, -0 lines 0 comments Download
A chrome/test/data/android/payments/email_and_phone.js View 1 2 1 chunk +34 lines, -0 lines 0 comments Download
A chrome/test/data/android/payments/payment_request_email_and_phone_test.html View 1 chunk +20 lines, -0 lines 0 comments Download

Messages

Total messages: 31 (20 generated)
sebsg
Hi Rouslan, PTAL :)
4 years ago (2016-12-16 16:27:21 UTC) #14
please use gerrit instead
https://codereview.chromium.org/2583593002/diff/60001/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java File chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java (right): https://codereview.chromium.org/2583593002/diff/60001/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java#newcode360 chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java:360: createShippingSection(profiles); Collections.unmodifiableList(profiles) https://codereview.chromium.org/2583593002/diff/60001/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java#newcode364 chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java:364: createContactSection(profiles, requestPayerName, requestPayerPhone, requestPayerEmail); Collections.unmodifiableList(profiles) ...
4 years ago (2016-12-16 20:34:51 UTC) #16
sebsg
Thanks, another look? https://codereview.chromium.org/2583593002/diff/60001/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java File chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java (right): https://codereview.chromium.org/2583593002/diff/60001/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java#newcode360 chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java:360: createShippingSection(profiles); On 2016/12/16 20:34:51, rouslan wrote: ...
4 years ago (2016-12-19 20:56:31 UTC) #18
please use gerrit instead
https://codereview.chromium.org/2583593002/diff/120001/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java File chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java (right): https://codereview.chromium.org/2583593002/diff/120001/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java#newcode175 chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java:175: boolean isSubsetOf(Contact contact) { This method is kind of ...
4 years ago (2016-12-20 19:14:56 UTC) #19
sebsg
Hi Rouslan PTAL :) https://codereview.chromium.org/2583593002/diff/120001/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java File chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java (right): https://codereview.chromium.org/2583593002/diff/120001/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java#newcode175 chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java:175: boolean isSubsetOf(Contact contact) { On ...
4 years ago (2016-12-22 18:46:05 UTC) #21
please use gerrit instead
https://codereview.chromium.org/2583593002/diff/160001/chrome/android/java/src/org/chromium/chrome/browser/payments/ContactEditor.java File chrome/android/java/src/org/chromium/chrome/browser/payments/ContactEditor.java (left): https://codereview.chromium.org/2583593002/diff/160001/chrome/android/java/src/org/chromium/chrome/browser/payments/ContactEditor.java#oldcode32 chrome/android/java/src/org/chromium/chrome/browser/payments/ContactEditor.java:32: @Retention(RetentionPolicy.SOURCE) I think you can use @IntDef and @Retension ...
3 years, 12 months ago (2016-12-27 14:33:58 UTC) #22
sebsg
Hi Rouslan, another look? Thanks! https://codereview.chromium.org/2583593002/diff/160001/chrome/android/java/src/org/chromium/chrome/browser/payments/ContactEditor.java File chrome/android/java/src/org/chromium/chrome/browser/payments/ContactEditor.java (left): https://codereview.chromium.org/2583593002/diff/160001/chrome/android/java/src/org/chromium/chrome/browser/payments/ContactEditor.java#oldcode32 chrome/android/java/src/org/chromium/chrome/browser/payments/ContactEditor.java:32: @Retention(RetentionPolicy.SOURCE) On 2016/12/27 14:33:58, ...
3 years, 11 months ago (2017-01-05 18:35:48 UTC) #23
please use gerrit instead
LGTM Some of the best code I've seen this year! https://codereview.chromium.org/2583593002/diff/200001/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillContact.java File chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillContact.java (right): https://codereview.chromium.org/2583593002/diff/200001/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillContact.java#newcode109 ...
3 years, 11 months ago (2017-01-05 18:59:23 UTC) #24
sebsg
Thanks! sending to CQ https://codereview.chromium.org/2583593002/diff/200001/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillContact.java File chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillContact.java (right): https://codereview.chromium.org/2583593002/diff/200001/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillContact.java#newcode109 chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillContact.java:109: public boolean isEqualOrSupersetOf(AutofillContact contact) { ...
3 years, 11 months ago (2017-01-05 19:29:12 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2583593002/220001
3 years, 11 months ago (2017-01-05 19:29:42 UTC) #28
commit-bot: I haz the power
3 years, 11 months ago (2017-01-05 21:43:35 UTC) #31
Message was sent while issue was closed.
Committed patchset #7 (id:220001) as
https://chromium.googlesource.com/chromium/src/+/90bf8242b2d3f9ffb2bef194f4e0...

Powered by Google App Engine
This is Rietveld 408576698