Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 918007b7 authored by Dmitri Plotnikov's avatar Dmitri Plotnikov
Browse files

Introducing the notion of "verified name" on a raw contact.

This flag can be set by a sync adapter if it is certain that the
name is correct (a social network sync adapter would be a good example
of this).  It can also be explicitly set by the user in the Contact
Edit UI.

Bug: 2164422
Change-Id: Id46e04c28eeb0dc386adfc6ad8988dda50824e2b
parent 867e8eb7
Loading
Loading
Loading
Loading
+28 −0
Original line number Diff line number Diff line
@@ -1102,6 +1102,33 @@ public final class ContactsContract {
         * <P>Type: INTEGER</P>
         */
        public static final String DELETED = "deleted";

        /**
         * The "name_verified" flag: "1" means that the name fields on this raw
         * contact can be trusted and therefore should be used for the entire
         * aggregated contact.
         * <p>
         * If an aggregated contact contains more than one raw contact with a
         * verified name, one of those verified names is chosen at random.
         * If an aggregated contact contains no verified names, the
         * name is chosen randomly from the constituent raw contacts.
         * </p>
         * <p>
         * Updating this flag from "0" to "1" automatically resets it to "0" on
         * all other raw contacts in the same aggregated contact.
         * </p>
         * <p>
         * Sync adapters should only specify a value for this column when
         * inserting a raw contact and leave it out when doing an update.
         * </p>
         * <p>
         * The default value is "0"
         * </p>
         * <p>Type: INTEGER</p>
         *
         * @hide
         */
        public static final String NAME_VERIFIED = "name_verified";
    }

    /**
@@ -1673,6 +1700,7 @@ public final class ContactsContract {
                DatabaseUtils.cursorLongToContentValuesIfPresent(cursor, cv, CONTACT_ID);
                DatabaseUtils.cursorLongToContentValuesIfPresent(cursor, cv, STARRED);
                DatabaseUtils.cursorIntToContentValuesIfPresent(cursor, cv, IS_RESTRICTED);
                DatabaseUtils.cursorIntToContentValuesIfPresent(cursor, cv, NAME_VERIFIED);
                android.content.Entity contact = new android.content.Entity(cv);

                // read data rows until the contact id changes