diff options
author | Yorke Lee <yorkelee@google.com> | 2014-07-18 18:57:17 -0700 |
---|---|---|
committer | Yorke Lee <yorkelee@google.com> | 2014-07-29 19:00:32 -0700 |
commit | 94c8761dc56c93324f611e4a513aad1ca2164c26 (patch) | |
tree | 45d9da47263b99d3ddb0971e74c1a8f652f20836 | |
parent | 48b3fe6f128de204c6cb0b51973897ba4896e348 (diff) | |
download | frameworks_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.txt | 66 | ||||
-rw-r--r-- | core/java/android/provider/ContactsContract.java | 102 |
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; |