diff --git a/core/java/android/provider/ContactsContract.java b/core/java/android/provider/ContactsContract.java index c3b0f1c91faa3..8b6de2e193c03 100644 --- a/core/java/android/provider/ContactsContract.java +++ b/core/java/android/provider/ContactsContract.java @@ -292,6 +292,13 @@ public final class ContactsContract { */ public static final String DISPLAY_NAME = "display_name"; + /** + * Reference to the row in the RawContacts table holding the contact name. + *

Type: INTEGER REFERENCES raw_contacts(_id)

+ * @hide + */ + public static final String NAME_RAW_CONTACT_ID = "name_raw_contact_id"; + /** * Reference to the row in the data table holding the photo. *

Type: INTEGER REFERENCES data(_id)

@@ -423,13 +430,21 @@ public final class ContactsContract { * row id changed as a result of a sync or aggregation. * * + * long + * {@link #NAME_RAW_CONTACT_ID} + * read-only + * The ID of the raw contact that contributes the display name + * to the aggregate contact. During aggregation one of the constituent + * raw contacts is chosen using a heuristic: a longer name or a name + * with more diacritic marks or more upper case characters is chosen. + * + * * String * {@link #DISPLAY_NAME} * read-only - * The display name for the contact. During aggregation display name is - * computed from display names of constituent raw contacts using a - * heuristic: a longer name or a name with more diacritic marks or more - * upper case characters is chosen. + * The display name for the contact. It is the display name + * contributed by the raw contact referred to by the {@link #NAME_RAW_CONTACT_ID} + * column. * * * long