summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYorke Lee <yorkelee@google.com>2014-07-18 18:57:17 -0700
committerYorke Lee <yorkelee@google.com>2014-07-29 19:00:32 -0700
commit94c8761dc56c93324f611e4a513aad1ca2164c26 (patch)
tree45d9da47263b99d3ddb0971e74c1a8f652f20836
parent48b3fe6f128de204c6cb0b51973897ba4896e348 (diff)
downloadframeworks_base-94c8761dc56c93324f611e4a513aad1ca2164c26.zip
frameworks_base-94c8761dc56c93324f611e4a513aad1ca2164c26.tar.gz
frameworks_base-94c8761dc56c93324f611e4a513aad1ca2164c26.tar.bz2
ContactsContract API changes
* Make ContactCounts an interface * Improve clarity of ContactCounts documentation * Add PinnedPositions.undemote method, and hide the method name constant that is only used for the internal implementation Bug: 16403306 Change-Id: If8b5cad779293cb9a3b90e698b13481f79b2351f
-rw-r--r--api/current.txt66
-rw-r--r--core/java/android/provider/ContactsContract.java102
2 files changed, 114 insertions, 54 deletions
diff --git a/api/current.txt b/api/current.txt
index dba086c..508ce5b 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -24344,8 +24344,11 @@ package android.provider {
public static final class ContactsContract.CommonDataKinds.Callable implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
ctor public ContactsContract.CommonDataKinds.Callable();
+ field public static final java.lang.String ADDRESS_BOOK_INDEX_EXTRAS = "address_book_index_extras";
field public static final android.net.Uri CONTENT_FILTER_URI;
field public static final android.net.Uri CONTENT_URI;
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "address_book_index_counts";
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "address_book_index_titles";
}
protected static abstract interface ContactsContract.CommonDataKinds.CommonColumns implements android.provider.ContactsContract.CommonDataKinds.BaseTypes {
@@ -24356,8 +24359,11 @@ package android.provider {
public static final class ContactsContract.CommonDataKinds.Contactables implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
ctor public ContactsContract.CommonDataKinds.Contactables();
+ field public static final java.lang.String ADDRESS_BOOK_INDEX_EXTRAS = "address_book_index_extras";
field public static final android.net.Uri CONTENT_FILTER_URI;
field public static final android.net.Uri CONTENT_URI;
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "address_book_index_counts";
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "address_book_index_titles";
field public static final java.lang.String VISIBLE_CONTACTS_ONLY = "visible_contacts_only";
}
@@ -24365,12 +24371,15 @@ package android.provider {
method public static final java.lang.CharSequence getTypeLabel(android.content.res.Resources, int, java.lang.CharSequence);
method public static final int getTypeLabelResource(int);
field public static final java.lang.String ADDRESS = "data1";
+ field public static final java.lang.String ADDRESS_BOOK_INDEX_EXTRAS = "address_book_index_extras";
field public static final android.net.Uri CONTENT_FILTER_URI;
field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/email_v2";
field public static final android.net.Uri CONTENT_LOOKUP_URI;
field public static final java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/email_v2";
field public static final android.net.Uri CONTENT_URI;
field public static final java.lang.String DISPLAY_NAME = "data4";
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "address_book_index_counts";
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "address_book_index_titles";
field public static final int TYPE_HOME = 1; // 0x1
field public static final int TYPE_MOBILE = 4; // 0x4
field public static final int TYPE_OTHER = 3; // 0x3
@@ -24380,7 +24389,10 @@ package android.provider {
public static final class ContactsContract.CommonDataKinds.Event implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
method public static final java.lang.CharSequence getTypeLabel(android.content.res.Resources, int, java.lang.CharSequence);
method public static int getTypeResource(java.lang.Integer);
+ field public static final java.lang.String ADDRESS_BOOK_INDEX_EXTRAS = "address_book_index_extras";
field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact_event";
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "address_book_index_counts";
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "address_book_index_titles";
field public static final java.lang.String START_DATE = "data1";
field public static final int TYPE_ANNIVERSARY = 1; // 0x1
field public static final int TYPE_BIRTHDAY = 3; // 0x3
@@ -24388,13 +24400,19 @@ package android.provider {
}
public static final class ContactsContract.CommonDataKinds.GroupMembership implements android.provider.ContactsContract.DataColumnsWithJoins {
+ field public static final java.lang.String ADDRESS_BOOK_INDEX_EXTRAS = "address_book_index_extras";
field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/group_membership";
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "address_book_index_counts";
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "address_book_index_titles";
field public static final java.lang.String GROUP_ROW_ID = "data1";
field public static final java.lang.String GROUP_SOURCE_ID = "group_sourceid";
}
public static final class ContactsContract.CommonDataKinds.Identity implements android.provider.ContactsContract.DataColumnsWithJoins {
+ field public static final java.lang.String ADDRESS_BOOK_INDEX_EXTRAS = "address_book_index_extras";
field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/identity";
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "address_book_index_counts";
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "address_book_index_titles";
field public static final java.lang.String IDENTITY = "data1";
field public static final java.lang.String NAMESPACE = "data2";
}
@@ -24404,8 +24422,11 @@ package android.provider {
method public static final int getProtocolLabelResource(int);
method public static final java.lang.CharSequence getTypeLabel(android.content.res.Resources, int, java.lang.CharSequence);
method public static final int getTypeLabelResource(int);
+ field public static final java.lang.String ADDRESS_BOOK_INDEX_EXTRAS = "address_book_index_extras";
field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/im";
field public static final java.lang.String CUSTOM_PROTOCOL = "data6";
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "address_book_index_counts";
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "address_book_index_titles";
field public static final java.lang.String PROTOCOL = "data5";
field public static final int PROTOCOL_AIM = 0; // 0x0
field public static final int PROTOCOL_CUSTOM = -1; // 0xffffffff
@@ -24423,7 +24444,10 @@ package android.provider {
}
public static final class ContactsContract.CommonDataKinds.Nickname implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+ field public static final java.lang.String ADDRESS_BOOK_INDEX_EXTRAS = "address_book_index_extras";
field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/nickname";
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "address_book_index_counts";
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "address_book_index_titles";
field public static final java.lang.String NAME = "data1";
field public static final int TYPE_DEFAULT = 1; // 0x1
field public static final int TYPE_INITIALS = 5; // 0x5
@@ -24434,16 +24458,22 @@ package android.provider {
}
public static final class ContactsContract.CommonDataKinds.Note implements android.provider.ContactsContract.DataColumnsWithJoins {
+ field public static final java.lang.String ADDRESS_BOOK_INDEX_EXTRAS = "address_book_index_extras";
field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/note";
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "address_book_index_counts";
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "address_book_index_titles";
field public static final java.lang.String NOTE = "data1";
}
public static final class ContactsContract.CommonDataKinds.Organization implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
method public static final java.lang.CharSequence getTypeLabel(android.content.res.Resources, int, java.lang.CharSequence);
method public static final int getTypeLabelResource(int);
+ field public static final java.lang.String ADDRESS_BOOK_INDEX_EXTRAS = "address_book_index_extras";
field public static final java.lang.String COMPANY = "data1";
field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/organization";
field public static final java.lang.String DEPARTMENT = "data5";
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "address_book_index_counts";
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "address_book_index_titles";
field public static final java.lang.String JOB_DESCRIPTION = "data6";
field public static final java.lang.String OFFICE_LOCATION = "data9";
field public static final java.lang.String PHONETIC_NAME = "data8";
@@ -24456,10 +24486,13 @@ package android.provider {
public static final class ContactsContract.CommonDataKinds.Phone implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
method public static final java.lang.CharSequence getTypeLabel(android.content.res.Resources, int, java.lang.CharSequence);
method public static final int getTypeLabelResource(int);
+ field public static final java.lang.String ADDRESS_BOOK_INDEX_EXTRAS = "address_book_index_extras";
field public static final android.net.Uri CONTENT_FILTER_URI;
field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/phone_v2";
field public static final java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/phone_v2";
field public static final android.net.Uri CONTENT_URI;
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "address_book_index_counts";
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "address_book_index_titles";
field public static final java.lang.String NORMALIZED_NUMBER = "data4";
field public static final java.lang.String NUMBER = "data1";
field public static final java.lang.String SEARCH_DISPLAY_NAME_KEY = "search_display_name";
@@ -24487,7 +24520,10 @@ package android.provider {
}
public static final class ContactsContract.CommonDataKinds.Photo implements android.provider.ContactsContract.DataColumnsWithJoins {
+ field public static final java.lang.String ADDRESS_BOOK_INDEX_EXTRAS = "address_book_index_extras";
field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/photo";
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "address_book_index_counts";
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "address_book_index_titles";
field public static final java.lang.String PHOTO = "data15";
field public static final java.lang.String PHOTO_FILE_ID = "data14";
}
@@ -24495,7 +24531,10 @@ package android.provider {
public static final class ContactsContract.CommonDataKinds.Relation implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
method public static final java.lang.CharSequence getTypeLabel(android.content.res.Resources, int, java.lang.CharSequence);
method public static final int getTypeLabelResource(int);
+ field public static final java.lang.String ADDRESS_BOOK_INDEX_EXTRAS = "address_book_index_extras";
field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/relation";
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "address_book_index_counts";
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "address_book_index_titles";
field public static final java.lang.String NAME = "data1";
field public static final int TYPE_ASSISTANT = 1; // 0x1
field public static final int TYPE_BROTHER = 2; // 0x2
@@ -24516,7 +24555,10 @@ package android.provider {
public static final class ContactsContract.CommonDataKinds.SipAddress implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
method public static final java.lang.CharSequence getTypeLabel(android.content.res.Resources, int, java.lang.CharSequence);
method public static final int getTypeLabelResource(int);
+ field public static final java.lang.String ADDRESS_BOOK_INDEX_EXTRAS = "address_book_index_extras";
field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/sip_address";
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "address_book_index_counts";
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "address_book_index_titles";
field public static final java.lang.String SIP_ADDRESS = "data1";
field public static final int TYPE_HOME = 1; // 0x1
field public static final int TYPE_OTHER = 3; // 0x3
@@ -24524,8 +24566,11 @@ package android.provider {
}
public static final class ContactsContract.CommonDataKinds.StructuredName implements android.provider.ContactsContract.DataColumnsWithJoins {
+ field public static final java.lang.String ADDRESS_BOOK_INDEX_EXTRAS = "address_book_index_extras";
field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/name";
field public static final java.lang.String DISPLAY_NAME = "data1";
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "address_book_index_counts";
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "address_book_index_titles";
field public static final java.lang.String FAMILY_NAME = "data3";
field public static final java.lang.String FULL_NAME_STYLE = "data10";
field public static final java.lang.String GIVEN_NAME = "data2";
@@ -24540,11 +24585,14 @@ package android.provider {
public static final class ContactsContract.CommonDataKinds.StructuredPostal implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
method public static final java.lang.CharSequence getTypeLabel(android.content.res.Resources, int, java.lang.CharSequence);
method public static final int getTypeLabelResource(int);
+ field public static final java.lang.String ADDRESS_BOOK_INDEX_EXTRAS = "address_book_index_extras";
field public static final java.lang.String CITY = "data7";
field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/postal-address_v2";
field public static final java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/postal-address_v2";
field public static final android.net.Uri CONTENT_URI;
field public static final java.lang.String COUNTRY = "data10";
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "address_book_index_counts";
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "address_book_index_titles";
field public static final java.lang.String FORMATTED_ADDRESS = "data1";
field public static final java.lang.String NEIGHBORHOOD = "data6";
field public static final java.lang.String POBOX = "data5";
@@ -24557,7 +24605,10 @@ package android.provider {
}
public static final class ContactsContract.CommonDataKinds.Website implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+ field public static final java.lang.String ADDRESS_BOOK_INDEX_EXTRAS = "address_book_index_extras";
field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/website";
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "address_book_index_counts";
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "address_book_index_titles";
field public static final int TYPE_BLOG = 2; // 0x2
field public static final int TYPE_FTP = 6; // 0x6
field public static final int TYPE_HOME = 4; // 0x4
@@ -24568,13 +24619,6 @@ package android.provider {
field public static final java.lang.String URL = "data1";
}
- public static final class ContactsContract.ContactCounts {
- ctor public ContactsContract.ContactCounts();
- field public static final java.lang.String ADDRESS_BOOK_INDEX_EXTRAS = "address_book_index_extras";
- field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "address_book_index_counts";
- field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "address_book_index_titles";
- }
-
protected static abstract interface ContactsContract.ContactNameColumns {
field public static final java.lang.String DISPLAY_NAME_ALTERNATIVE = "display_name_alt";
field public static final java.lang.String DISPLAY_NAME_PRIMARY = "display_name";
@@ -24612,6 +24656,7 @@ package android.provider {
method public static deprecated void markAsContacted(android.content.ContentResolver, long);
method public static java.io.InputStream openContactPhotoInputStream(android.content.ContentResolver, android.net.Uri, boolean);
method public static java.io.InputStream openContactPhotoInputStream(android.content.ContentResolver, android.net.Uri);
+ field public static final java.lang.String ADDRESS_BOOK_INDEX_EXTRAS = "address_book_index_extras";
field public static final android.net.Uri CONTENT_FILTER_URI;
field public static final android.net.Uri CONTENT_FREQUENT_URI;
field public static final android.net.Uri CONTENT_GROUP_URI;
@@ -24624,6 +24669,8 @@ package android.provider {
field public static final android.net.Uri CONTENT_URI;
field public static final java.lang.String CONTENT_VCARD_TYPE = "text/x-vcard";
field public static final android.net.Uri CONTENT_VCARD_URI;
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "address_book_index_counts";
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "address_book_index_titles";
}
public static final class ContactsContract.Contacts.AggregationSuggestions implements android.provider.BaseColumns android.provider.ContactsContract.ContactOptionsColumns android.provider.ContactsContract.ContactStatusColumns android.provider.ContactsContract.ContactsColumns {
@@ -24668,8 +24715,11 @@ package android.provider {
public static final class ContactsContract.Data implements android.provider.ContactsContract.DataColumnsWithJoins {
method public static android.net.Uri getContactLookupUri(android.content.ContentResolver, android.net.Uri);
+ field public static final java.lang.String ADDRESS_BOOK_INDEX_EXTRAS = "address_book_index_extras";
field public static final java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/data";
field public static final android.net.Uri CONTENT_URI;
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "address_book_index_counts";
+ field public static final java.lang.String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "address_book_index_titles";
field public static final java.lang.String VISIBLE_CONTACTS_ONLY = "visible_contacts_only";
}
@@ -24875,8 +24925,8 @@ package android.provider {
public static final class ContactsContract.PinnedPositions {
ctor public ContactsContract.PinnedPositions();
+ method public static void undemote(android.content.ContentResolver, long);
field public static final int DEMOTED = -1; // 0xffffffff
- field public static final java.lang.String UNDEMOTE_METHOD = "undemote";
field public static final int UNPINNED = 0; // 0x0
}
diff --git a/core/java/android/provider/ContactsContract.java b/core/java/android/provider/ContactsContract.java
index 03863ae..1bec285 100644
--- a/core/java/android/provider/ContactsContract.java
+++ b/core/java/android/provider/ContactsContract.java
@@ -1112,23 +1112,19 @@ public final class ContactsContract {
public static final String SORT_KEY_ALTERNATIVE = "sort_key_alt";
}
- /**
- * URI parameter and cursor extras that return counts of rows grouped by the
- * address book index, which is usually the first letter of the sort key.
- * When this parameter is supplied, the row counts are returned in the
- * cursor extras bundle.
- */
- public final static class ContactCounts {
+ interface ContactCounts {
/**
- * Add this query parameter to a URI to get back row counts grouped by
- * the address book index as cursor extras. For most languages it is the
- * first letter of the sort key. This parameter does not affect the main
- * content of the cursor.
+ * Add this query parameter to a URI to get back row counts grouped by the address book
+ * index as cursor extras. For most languages it is the first letter of the sort key. This
+ * parameter does not affect the main content of the cursor.
*
* <p>
* <pre>
* Example:
+ *
+ * import android.provider.ContactsContract.Contacts;
+ *
* Uri uri = Contacts.CONTENT_URI.buildUpon()
* .appendQueryParameter(ContactCounts.ADDRESS_BOOK_INDEX_EXTRAS, "true")
* .build();
@@ -1136,11 +1132,12 @@ public final class ContactsContract {
* new String[] {Contacts.DISPLAY_NAME},
* null, null, null);
* Bundle bundle = cursor.getExtras();
- * if (bundle.containsKey(ContactCounts.EXTRA_ADDRESS_BOOK_INDEX_TITLES) &&
- * bundle.containsKey(ContactCounts.EXTRA_ADDRESS_BOOK_INDEX_COUNTS)) {
+ * if (bundle.containsKey(Contacts.ContactCounts.EXTRA_ADDRESS_BOOK_INDEX_TITLES) &&
+ * bundle.containsKey(Contacts.ContactCounts.EXTRA_ADDRESS_BOOK_INDEX_COUNTS)) {
* String sections[] =
- * bundle.getStringArray(ContactCounts.EXTRA_ADDRESS_BOOK_INDEX_TITLES);
- * int counts[] = bundle.getIntArray(ContactCounts.EXTRA_ADDRESS_BOOK_INDEX_COUNTS);
+ * bundle.getStringArray(Contacts.ContactCounts.EXTRA_ADDRESS_BOOK_INDEX_TITLES);
+ * int counts[] = bundle.getIntArray(
+ * Contacts.ContactCounts.EXTRA_ADDRESS_BOOK_INDEX_COUNTS);
* }
* </pre>
* </p>
@@ -1375,7 +1372,7 @@ public final class ContactsContract {
* </table>
*/
public static class Contacts implements BaseColumns, ContactsColumns,
- ContactOptionsColumns, ContactNameColumns, ContactStatusColumns {
+ ContactOptionsColumns, ContactNameColumns, ContactStatusColumns, ContactCounts {
/**
* This utility class cannot be instantiated
*/
@@ -4610,7 +4607,7 @@ public final class ContactsContract {
* </tr>
* </table>
*/
- public final static class Data implements DataColumnsWithJoins {
+ public final static class Data implements DataColumnsWithJoins, ContactCounts {
/**
* This utility class cannot be instantiated
*/
@@ -5518,7 +5515,7 @@ public final class ContactsContract {
* </tr>
* </table>
*/
- public static final class StructuredName implements DataColumnsWithJoins {
+ public static final class StructuredName implements DataColumnsWithJoins, ContactCounts {
/**
* This utility class cannot be instantiated
*/
@@ -5663,7 +5660,8 @@ public final class ContactsContract {
* </tr>
* </table>
*/
- public static final class Nickname implements DataColumnsWithJoins, CommonColumns {
+ public static final class Nickname implements DataColumnsWithJoins, CommonColumns,
+ ContactCounts{
/**
* This utility class cannot be instantiated
*/
@@ -5747,7 +5745,8 @@ public final class ContactsContract {
* </tr>
* </table>
*/
- public static final class Phone implements DataColumnsWithJoins, CommonColumns {
+ public static final class Phone implements DataColumnsWithJoins, CommonColumns,
+ ContactCounts {
/**
* This utility class cannot be instantiated
*/
@@ -5939,7 +5938,8 @@ public final class ContactsContract {
* </tr>
* </table>
*/
- public static final class Email implements DataColumnsWithJoins, CommonColumns {
+ public static final class Email implements DataColumnsWithJoins, CommonColumns,
+ ContactCounts {
/**
* This utility class cannot be instantiated
*/
@@ -6131,7 +6131,8 @@ public final class ContactsContract {
* </tr>
* </table>
*/
- public static final class StructuredPostal implements DataColumnsWithJoins, CommonColumns {
+ public static final class StructuredPostal implements DataColumnsWithJoins, CommonColumns,
+ ContactCounts {
/**
* This utility class cannot be instantiated
*/
@@ -6325,7 +6326,7 @@ public final class ContactsContract {
* </tr>
* </table>
*/
- public static final class Im implements DataColumnsWithJoins, CommonColumns {
+ public static final class Im implements DataColumnsWithJoins, CommonColumns, ContactCounts {
/**
* This utility class cannot be instantiated
*/
@@ -6509,7 +6510,8 @@ public final class ContactsContract {
* </tr>
* </table>
*/
- public static final class Organization implements DataColumnsWithJoins, CommonColumns {
+ public static final class Organization implements DataColumnsWithJoins, CommonColumns,
+ ContactCounts {
/**
* This utility class cannot be instantiated
*/
@@ -6652,7 +6654,8 @@ public final class ContactsContract {
* </tr>
* </table>
*/
- public static final class Relation implements DataColumnsWithJoins, CommonColumns {
+ public static final class Relation implements DataColumnsWithJoins, CommonColumns,
+ ContactCounts {
/**
* This utility class cannot be instantiated
*/
@@ -6767,7 +6770,8 @@ public final class ContactsContract {
* </tr>
* </table>
*/
- public static final class Event implements DataColumnsWithJoins, CommonColumns {
+ public static final class Event implements DataColumnsWithJoins, CommonColumns,
+ ContactCounts {
/**
* This utility class cannot be instantiated
*/
@@ -6855,7 +6859,7 @@ public final class ContactsContract {
* </tr>
* </table>
*/
- public static final class Photo implements DataColumnsWithJoins {
+ public static final class Photo implements DataColumnsWithJoins, ContactCounts {
/**
* This utility class cannot be instantiated
*/
@@ -6903,7 +6907,7 @@ public final class ContactsContract {
* </tr>
* </table>
*/
- public static final class Note implements DataColumnsWithJoins {
+ public static final class Note implements DataColumnsWithJoins, ContactCounts {
/**
* This utility class cannot be instantiated
*/
@@ -6958,7 +6962,7 @@ public final class ContactsContract {
* </tr>
* </table>
*/
- public static final class GroupMembership implements DataColumnsWithJoins {
+ public static final class GroupMembership implements DataColumnsWithJoins, ContactCounts {
/**
* This utility class cannot be instantiated
*/
@@ -7030,7 +7034,8 @@ public final class ContactsContract {
* </tr>
* </table>
*/
- public static final class Website implements DataColumnsWithJoins, CommonColumns {
+ public static final class Website implements DataColumnsWithJoins, CommonColumns,
+ ContactCounts {
/**
* This utility class cannot be instantiated
*/
@@ -7097,7 +7102,8 @@ public final class ContactsContract {
* </tr>
* </table>
*/
- public static final class SipAddress implements DataColumnsWithJoins, CommonColumns {
+ public static final class SipAddress implements DataColumnsWithJoins, CommonColumns,
+ ContactCounts {
/**
* This utility class cannot be instantiated
*/
@@ -7155,7 +7161,7 @@ public final class ContactsContract {
* to the same person.
* </p>
*/
- public static final class Identity implements DataColumnsWithJoins {
+ public static final class Identity implements DataColumnsWithJoins, ContactCounts {
/**
* This utility class cannot be instantiated
*/
@@ -7193,7 +7199,8 @@ public final class ContactsContract {
* {@link SipAddress}'s.
* </p>
*/
- public static final class Callable implements DataColumnsWithJoins, CommonColumns {
+ public static final class Callable implements DataColumnsWithJoins, CommonColumns,
+ ContactCounts {
/**
* Similar to {@link Phone#CONTENT_URI}, but returns callable data instead of only
* phone numbers.
@@ -7217,7 +7224,8 @@ public final class ContactsContract {
* can use to initiate communications with another contact. {@link Phone} and {@link Email}
* are the current data types in this category.
*/
- public static final class Contactables implements DataColumnsWithJoins, CommonColumns {
+ public static final class Contactables implements DataColumnsWithJoins, CommonColumns,
+ ContactCounts {
/**
* The content:// style URI for these data items, which requests a directory of data
* rows matching the selection criteria.
@@ -8039,25 +8047,27 @@ public final class ContactsContract {
*/
public static final class PinnedPositions {
/**
- * <p>
* The method to invoke in order to undemote a formerly demoted contact. The contact id of
* the contact must be provided as an argument. If the contact was not previously demoted,
* nothing will be done.
- * </p>
- *
- * <p>
- * Example:
- * <pre>
- * final long contactId = 10;
- * resolver.call(ContactsContract.AUTHORITY_URI, PinnedPositions.UNDEMOTE_METHOD,
- * String.valueOf(contactId), null);
- * </pre>
- * </p>
+ * @hide
*/
public static final String UNDEMOTE_METHOD = "undemote";
/**
- * Default value for the pinned position of an unpinned contact. Also equal to 0.
+ * Undemotes a formerly demoted contact. If the contact was not previously demoted, nothing
+ * will be done.
+ *
+ * @param contentResolver to perform the undemote operation on.
+ * @param contactId the id of the contact to undemote.
+ */
+ public static void undemote(ContentResolver contentResolver, long contactId) {
+ contentResolver.call(ContactsContract.AUTHORITY_URI, PinnedPositions.UNDEMOTE_METHOD,
+ String.valueOf(contactId), null);
+ }
+
+ /**
+ * Default value for the pinned position of an unpinned contact.
*/
public static final int UNPINNED = 0;