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

Commit 9d044514 authored by Dmitri Plotnikov's avatar Dmitri Plotnikov
Browse files

Changing aggregation exception API.

Switching from contact-contact pairs to aggregate-contact pairs
parent f0176b59
Loading
Loading
Loading
Loading
+23 −9
Original line number Diff line number Diff line
@@ -948,7 +948,8 @@ public final class ContactsContract {

    /**
     * Constants for the contact aggregation exceptions table, which contains
     * aggregation rules overriding those used by automatic aggregation.
     * aggregation rules overriding those used by automatic aggregation.  This type only
     * supports query and update. Neither insert nor delete are supported.
     */
    public static final class AggregationExceptions implements BaseColumns {
        /**
@@ -974,26 +975,39 @@ public final class ContactsContract {
                "vnd.android.cursor.item/aggregation_exception";

        /**
         * The type of exception: {@link #TYPE_NEVER_MATCH} or {@link #TYPE_ALWAYS_MATCH}.
         * The type of exception: {@link #TYPE_KEEP_IN}, {@link #TYPE_KEEP_OUT} or
         * {@link #TYPE_AUTOMATIC}.
         *
         * <P>Type: INTEGER</P>
         */
        public static final String TYPE = "type";

        public static final int TYPE_NEVER_MATCH = 0;
        public static final int TYPE_ALWAYS_MATCH = 1;
        /**
         * Allows the provider to automatically decide whether the aggregate should include
         * a particular contact or not.
         */
        public static final int TYPE_AUTOMATIC = 0;

        /**
         * Makes sure that the specified contact is included in the specified aggregate.
         */
        public static final int TYPE_KEEP_IN = 1;

        /**
         * A reference to the {@link android.provider.ContactsContract.Contacts#_ID} of one of
         * the contacts that the rule applies to.
         * Makes sure that the specified contact is NOT included in the specified aggregate.
         */
        public static final String CONTACT_ID1 = "contact_id1";
        public static final int TYPE_KEEP_OUT = 2;

        /**
         * A reference to the {@link android.provider.ContactsContract.Contacts#_ID} of the other
         * A reference to the {@link Aggregates#_ID} of the aggregate that the rule applies to.
         */
        public static final String AGGREGATE_ID = "aggregate_id";

        /**
         * A reference to the {@link android.provider.ContactsContract.Contacts#_ID} of the
         * contact that the rule applies to.
         */
        public static final String CONTACT_ID2 = "contact_id2";
        public static final String CONTACT_ID = "contact_id";
    }

    private interface RestrictionExceptionsColumns {