From fb45bfa54a08d4b99d0a820ac2965d2092e2e39e Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Tue, 30 Dec 2008 17:43:51 -0800 Subject: [PATCH] Hide duplicate emails in the contact panel This can happen if the user has multiple OpenID strings from the same account provider. Google Accounts for example gives a unique string for each hostname the site is accessed through. Signed-off-by: Shawn O. Pearce --- .../com/google/gerrit/client/account/ContactPanel.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/appjar/src/main/java/com/google/gerrit/client/account/ContactPanel.java b/appjar/src/main/java/com/google/gerrit/client/account/ContactPanel.java index a56ee19df9..faf936fbc8 100644 --- a/appjar/src/main/java/com/google/gerrit/client/account/ContactPanel.java +++ b/appjar/src/main/java/com/google/gerrit/client/account/ContactPanel.java @@ -36,7 +36,9 @@ import com.google.gwtjsonrpc.client.VoidResult; import java.util.ArrayList; import java.util.Collections; +import java.util.HashSet; import java.util.List; +import java.util.Set; class ContactPanel extends Composite { private final AccountSettings parentScreen; @@ -164,13 +166,14 @@ class ContactPanel extends Composite { if (!isAttached()) { return; } - final List addrs = new ArrayList(); + final Set emails = new HashSet(); for (final AccountExternalId i : result) { if (i.getEmailAddress() != null && i.getEmailAddress().length() > 0) { - addrs.add(i.getEmailAddress()); + emails.add(i.getEmailAddress()); } } + final List addrs = new ArrayList(emails); Collections.sort(addrs); for (String s : addrs) { emailPick.addItem(s);