diff --git a/core/java/android/provider/ContactsContract.java b/core/java/android/provider/ContactsContract.java index d87a36e63a85c..b16df28fbb3fb 100644 --- a/core/java/android/provider/ContactsContract.java +++ b/core/java/android/provider/ContactsContract.java @@ -7795,6 +7795,37 @@ public final class ContactsContract { */ public static final int UNPINNED = 0x7FFFFFFF; + /** + * Value of pinned position for a contact that a user has indicated should be considered + * of the lowest priority. It is up to the client application to determine how to present + * such a contact - for example all the way at the bottom of a contact list, or simply + * just hidden from view. + */ + public static final int DEMOTED = -1; + + /** + *
Clients can provide this value as a pinned position to undemote a formerly demoted + * contact. If the contact was formerly demoted, it will be restored to an + * {@link #UNPINNED} position. If it was otherwise already pinned at another position, + * it will not be affected. + *
+ * + *+ * Example: + *
+ * ContentValues values = new ContentValues();
+ * values.put("15", PinnedPositions.UNDEMOTE);
+ * int count = resolver.update(ContactsContract.PinnedPositions.UPDATE_URI.buildUpon()
+ * .build(), values, null, null);
+ *
+ *
+ * This restores the contact with id 15 to an {@link #UNPINNED} position, meaning that
+ * other apps (e.g. the Dialer) that were formerly hiding this contact from view based on
+ * its {@link #DEMOTED} position will start displaying it again.
+ *
+ */
+ public static final String UNDEMOTE = "undemote";
+
/**
* * A boolean query parameter that can be used with {@link #UPDATE_URI}.