AI 143159: am: CL 142855 Fix SHOW_OR_CREATE intent to correctly handle duplicate E-mail or IM entries for a person.
Added a new WITH_EMAIL_OR_IM_FILTER_URI to find people with a given string as either an E-mail or IM address. This cleans up the original code, and lets us handle duplicates when there are multiple ContactMethod matches for a single person. (We don't get GROUP BY through the ContentProvider interface.)
In ContactsListActivity we don't show possibly-incorrect labels when in MODE_QUERY_PICK_TO_VIEW, as any labels and values would be identical. (The people appearing in that list are there because their ContactMethod matches the query.)
Original author: jsharkey
Merged from: //branches/cupcake/...
Automated import of CL 143159
diff --git a/core/java/android/provider/Contacts.java b/core/java/android/provider/Contacts.java
index be31c0a..c2d3907 100644
--- a/core/java/android/provider/Contacts.java
+++ b/core/java/android/provider/Contacts.java
@@ -273,6 +273,18 @@
Uri.parse("content://contacts/deleted_people");
/**
+ * The content:// style URL for filtering people that have a specific
+ * E-mail or IM address. The filter argument should be passed as an
+ * additional path segment after this URI. This matches any people with
+ * at least one E-mail or IM {@link ContactMethods} that match the
+ * filter.
+ *
+ * @hide pending API council review
+ */
+ public static final Uri WITH_EMAIL_OR_IM_FILTER_URI =
+ Uri.parse("content://contacts/people/with_email_or_im_filter");
+
+ /**
* The MIME type of {@link #CONTENT_URI} providing a directory of
* people.
*/