Contacts.java revision 42fc2c6f0af1c6d8160e00d7319a1c6fd0258a6f
154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project/*
254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Copyright (C) 2006 The Android Open Source Project
354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project *
454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * you may not use this file except in compliance with the License.
654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * You may obtain a copy of the License at
754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project *
854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0
954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project *
1054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * Unless required by applicable law or agreed to in writing, software
1154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
1254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * See the License for the specific language governing permissions and
1454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * limitations under the License.
1554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */
1654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
1754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectpackage android.provider;
1854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
19f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Projectimport com.android.internal.R;
20f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project
2154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectimport android.content.ContentResolver;
2254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectimport android.content.ContentUris;
2354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectimport android.content.ContentValues;
2454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectimport android.content.Context;
2554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectimport android.database.Cursor;
2654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectimport android.graphics.Bitmap;
2754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectimport android.graphics.BitmapFactory;
2854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectimport android.net.Uri;
29534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkeyimport android.os.Build;
3054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectimport android.text.TextUtils;
3154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectimport android.util.Log;
3254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectimport android.widget.ImageView;
3354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
3454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectimport java.io.ByteArrayInputStream;
3554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectimport java.io.InputStream;
3654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
3754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project/**
3854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project * The Contacts provider stores all information about contacts.
3954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project */
40534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey@Deprecated
4154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectpublic class Contacts {
4254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    private static final String TAG = "Contacts";
43dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar
44534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey    @Deprecated
4554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    public static final String AUTHORITY = "contacts";
4654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
4754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    /**
4854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     * The content:// style URL for this provider
4954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     */
50534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey    @Deprecated
5154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    public static final Uri CONTENT_URI =
5254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        Uri.parse("content://" + AUTHORITY);
5354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
5454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    /** Signifies an email address row that is stored in the ContactMethods table */
55534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey    @Deprecated
5654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    public static final int KIND_EMAIL = 1;
5754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    /** Signifies a postal address row that is stored in the ContactMethods table */
58534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey    @Deprecated
5954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    public static final int KIND_POSTAL = 2;
6054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    /** Signifies an IM address row that is stored in the ContactMethods table */
61534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey    @Deprecated
6254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    public static final int KIND_IM = 3;
6354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    /** Signifies an Organization row that is stored in the Organizations table */
64534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey    @Deprecated
6554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    public static final int KIND_ORGANIZATION = 4;
6654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    /** Signifies an Phone row that is stored in the Phones table */
67534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey    @Deprecated
6854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    public static final int KIND_PHONE = 5;
6954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
7054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    /**
7154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     * no public constructor since this is a utility class
7254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     */
7354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    private Contacts() {}
7454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
7554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    /**
7654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     * Columns from the Settings table that other columns join into themselves.
7754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     */
78534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey    @Deprecated
7954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    public interface SettingsColumns {
8054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
8154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The _SYNC_ACCOUNT to which this setting corresponds. This may be null.
8254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: TEXT</P>
8354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
84534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
8554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String _SYNC_ACCOUNT = "_sync_account";
8654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
8754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
88d9d2f1140b52fd0c014e9deac59f6000564b7e84Fred Quintana         * The _SYNC_ACCOUNT_TYPE to which this setting corresponds. This may be null.
89d9d2f1140b52fd0c014e9deac59f6000564b7e84Fred Quintana         * <P>Type: TEXT</P>
90d9d2f1140b52fd0c014e9deac59f6000564b7e84Fred Quintana         */
91534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
92d9d2f1140b52fd0c014e9deac59f6000564b7e84Fred Quintana        public static final String _SYNC_ACCOUNT_TYPE = "_sync_account_type";
93d9d2f1140b52fd0c014e9deac59f6000564b7e84Fred Quintana
94d9d2f1140b52fd0c014e9deac59f6000564b7e84Fred Quintana        /**
9554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The key of this setting.
9654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: TEXT</P>
9754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
98534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
9954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String KEY = "key";
10054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
10154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
10254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The value of this setting.
10354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: TEXT</P>
10454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
105534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
10654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String VALUE = "value";
10754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    }
10854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
10954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    /**
11054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     * The settings over all of the people
11154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     */
112534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey    @Deprecated
11354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    public static final class Settings implements BaseColumns, SettingsColumns {
11454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
11554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * no public constructor since this is a utility class
11654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
11754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        private Settings() {}
11854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
11954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
12054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The content:// style URL for this table
12154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
122534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
12354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final Uri CONTENT_URI =
12454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            Uri.parse("content://contacts/settings");
12554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
12654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
12754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The directory twig for this sub-table
12854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
129534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
13054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String CONTENT_DIRECTORY = "settings";
13154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
13254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
13354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The default sort order for this table
13454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
135534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
13654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String DEFAULT_SORT_ORDER = "key ASC";
13754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
13854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
13954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * A setting that is used to indicate if we should sync down all groups for the
14054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * specified account. For this setting the _SYNC_ACCOUNT column must be set.
14154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * If this isn't set then we will only sync the groups whose SHOULD_SYNC column
14254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * is set to true.
14354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <p>
14454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * This is a boolean setting. It is true if it is set and it is anything other than the
14554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * emptry string or "0".
14654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
147534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
14854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String SYNC_EVERYTHING = "syncEverything";
14954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
150534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
15154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static String getSetting(ContentResolver cr, String account, String key) {
15254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            // For now we only support a single account and the UI doesn't know what
15354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            // the account name is, so we're using a global setting for SYNC_EVERYTHING.
15454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            // Some day when we add multiple accounts to the UI this should honor the account
15554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            // that was asked for.
15654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            String selectString;
15754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            String[] selectArgs;
15854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            if (false) {
15954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                selectString = (account == null)
16054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                        ? "_sync_account is null AND key=?"
16154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                        : "_sync_account=? AND key=?";
162d9d2f1140b52fd0c014e9deac59f6000564b7e84Fred Quintana//                : "_sync_account=? AND _sync_account_type=? AND key=?";
16354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                selectArgs = (account == null)
16454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                ? new String[]{key}
16554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                : new String[]{account, key};
16654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            } else {
16754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                selectString = "key=?";
16854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                selectArgs = new String[] {key};
16954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            }
17054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            Cursor cursor = cr.query(Settings.CONTENT_URI, new String[]{VALUE},
17154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                    selectString, selectArgs, null);
17254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            try {
17354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                if (!cursor.moveToNext()) return null;
17454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                return cursor.getString(0);
17554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            } finally {
17654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                cursor.close();
17754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            }
17854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        }
17954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
180534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
18154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static void setSetting(ContentResolver cr, String account, String key,
18254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                String value) {
18354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            ContentValues values = new ContentValues();
18454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            // For now we only support a single account and the UI doesn't know what
18554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            // the account name is, so we're using a global setting for SYNC_EVERYTHING.
18654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            // Some day when we add multiple accounts to the UI this should honor the account
18754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            // that was asked for.
188d9d2f1140b52fd0c014e9deac59f6000564b7e84Fred Quintana            //values.put(_SYNC_ACCOUNT, account.mName);
189d9d2f1140b52fd0c014e9deac59f6000564b7e84Fred Quintana            //values.put(_SYNC_ACCOUNT_TYPE, account.mType);
19054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            values.put(KEY, key);
19154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            values.put(VALUE, value);
19254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            cr.update(Settings.CONTENT_URI, values, null, null);
19354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        }
19454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    }
19554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
19654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    /**
19754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     * Columns from the People table that other tables join into themselves.
19854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     */
199534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey    @Deprecated
20054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    public interface PeopleColumns {
20154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
202b798689749c64baba81f02e10cf2157c747d6b46The Android Open Source Project         * The person's name.
20354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: TEXT</P>
20454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
205534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
20654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String NAME = "name";
20754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
20854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
209b798689749c64baba81f02e10cf2157c747d6b46The Android Open Source Project         * Phonetic equivalent of the person's name, in a locale-dependent
210b798689749c64baba81f02e10cf2157c747d6b46The Android Open Source Project         * character set (e.g. hiragana for Japanese).
211b798689749c64baba81f02e10cf2157c747d6b46The Android Open Source Project         * Used for pronunciation and/or collation in some languages.
212b798689749c64baba81f02e10cf2157c747d6b46The Android Open Source Project         * <p>Type: TEXT</P>
213b798689749c64baba81f02e10cf2157c747d6b46The Android Open Source Project         */
214534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
215b798689749c64baba81f02e10cf2157c747d6b46The Android Open Source Project        public static final String PHONETIC_NAME = "phonetic_name";
216dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar
217b798689749c64baba81f02e10cf2157c747d6b46The Android Open Source Project        /**
21854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The display name. If name is not null name, else if number is not null number,
21954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * else if email is not null email.
22054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: TEXT</P>
22154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
222534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
22354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String DISPLAY_NAME = "display_name";
22454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
22554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
226ba87e3e6c985e7175152993b5efcc7dd2f0e1c93The Android Open Source Project         * The field for sorting list phonetically. The content of this field
227ba87e3e6c985e7175152993b5efcc7dd2f0e1c93The Android Open Source Project         * may not be human readable but phonetically sortable.
228ba87e3e6c985e7175152993b5efcc7dd2f0e1c93The Android Open Source Project         * <P>Type: TEXT</p>
229ba87e3e6c985e7175152993b5efcc7dd2f0e1c93The Android Open Source Project         * @hide Used only in Contacts application for now.
230ba87e3e6c985e7175152993b5efcc7dd2f0e1c93The Android Open Source Project         */
231534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
232ba87e3e6c985e7175152993b5efcc7dd2f0e1c93The Android Open Source Project        public static final String SORT_STRING = "sort_string";
233dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar
234ba87e3e6c985e7175152993b5efcc7dd2f0e1c93The Android Open Source Project        /**
23554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * Notes about the person.
23654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: TEXT</P>
23754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
238534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
23954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String NOTES = "notes";
24054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
24154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
24254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The number of times a person has been contacted
24354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: INTEGER</P>
24454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
245534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
24654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String TIMES_CONTACTED = "times_contacted";
24754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
24854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
24954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The last time a person was contacted.
25054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: INTEGER</P>
25154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
252534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
25354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String LAST_TIME_CONTACTED = "last_time_contacted";
25454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
25554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
25654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * A custom ringtone associated with a person. Not always present.
25754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: TEXT (URI to the ringtone)</P>
25854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
259534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
26054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String CUSTOM_RINGTONE = "custom_ringtone";
26154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
26254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
26354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * Whether the person should always be sent to voicemail. Not always
26454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * present.
26554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: INTEGER (0 for false, 1 for true)</P>
26654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
267534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
26854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String SEND_TO_VOICEMAIL = "send_to_voicemail";
26954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
27054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
27154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * Is the contact starred?
27254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: INTEGER (boolean)</P>
27354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
274534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
27554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String STARRED = "starred";
27654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
27754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
27854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The server version of the photo
27954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: TEXT (the version number portion of the photo URI)</P>
28054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
281534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
282dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar        public static final String PHOTO_VERSION = "photo_version";
28354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    }
28454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
28554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    /**
28654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     * This table contains people.
28754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     */
288534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey    @Deprecated
28954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    public static final class People implements BaseColumns, SyncConstValue, PeopleColumns,
29054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            PhonesColumns, PresenceColumns {
29154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
29254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * no public constructor since this is a utility class
29354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
29454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        private People() {}
29554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
29654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
29754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The content:// style URL for this table
29854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
299534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
30054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final Uri CONTENT_URI =
30154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            Uri.parse("content://contacts/people");
30254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
30354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
30454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The content:// style URL for filtering people by name. The filter
30554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * argument should be passed as an additional path segment after this URI.
30654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
307534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
30854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final Uri CONTENT_FILTER_URI =
30954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            Uri.parse("content://contacts/people/filter");
31054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
31154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
31254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The content:// style URL for the table that holds the deleted
31354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * contacts.
31454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
315534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
31654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final Uri DELETED_CONTENT_URI =
31754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            Uri.parse("content://contacts/deleted_people");
31854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
31954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
3205104518fd7db24b0757be336092c94439e847e36Jeffrey Sharkey         * The content:// style URL for filtering people that have a specific
3215104518fd7db24b0757be336092c94439e847e36Jeffrey Sharkey         * E-mail or IM address. The filter argument should be passed as an
3225104518fd7db24b0757be336092c94439e847e36Jeffrey Sharkey         * additional path segment after this URI. This matches any people with
3235104518fd7db24b0757be336092c94439e847e36Jeffrey Sharkey         * at least one E-mail or IM {@link ContactMethods} that match the
3245104518fd7db24b0757be336092c94439e847e36Jeffrey Sharkey         * filter.
325dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar         *
326935ae463d495d41155e27feb849768ad2b8b16dbDianne Hackborn         * Not exposed because we expect significant changes in the contacts
327935ae463d495d41155e27feb849768ad2b8b16dbDianne Hackborn         * schema and do not want to have to support this.
328935ae463d495d41155e27feb849768ad2b8b16dbDianne Hackborn         * @hide
3295104518fd7db24b0757be336092c94439e847e36Jeffrey Sharkey         */
330534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
3315104518fd7db24b0757be336092c94439e847e36Jeffrey Sharkey        public static final Uri WITH_EMAIL_OR_IM_FILTER_URI =
3325104518fd7db24b0757be336092c94439e847e36Jeffrey Sharkey            Uri.parse("content://contacts/people/with_email_or_im_filter");
333dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar
3345104518fd7db24b0757be336092c94439e847e36Jeffrey Sharkey        /**
33554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The MIME type of {@link #CONTENT_URI} providing a directory of
33654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * people.
33754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
338534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
33954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String CONTENT_TYPE = "vnd.android.cursor.dir/person";
34054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
34154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
34254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The MIME type of a {@link #CONTENT_URI} subdirectory of a single
34354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * person.
34454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
345534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
34654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/person";
34754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
34854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
34954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The default sort order for this table
35054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
351534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
35254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String DEFAULT_SORT_ORDER = People.NAME + " ASC";
35354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
35454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
35554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The ID of the persons preferred phone number.
35654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: INTEGER (foreign key to phones table on the _ID field)</P>
35754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
358534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
35954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String PRIMARY_PHONE_ID = "primary_phone";
36054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
36154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
36254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The ID of the persons preferred email.
36354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: INTEGER (foreign key to contact_methods table on the
36454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * _ID field)</P>
36554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
366534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
36754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String PRIMARY_EMAIL_ID = "primary_email";
36854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
36954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
37054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The ID of the persons preferred organization.
37154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: INTEGER (foreign key to organizations table on the
37254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * _ID field)</P>
37354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
374534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
37554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String PRIMARY_ORGANIZATION_ID = "primary_organization";
37654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
37754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
37854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * Mark a person as having been contacted.
37954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         *
38054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * @param resolver the ContentResolver to use
38154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * @param personId the person who was contacted
38254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
383534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
38454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static void markAsContacted(ContentResolver resolver, long personId) {
38554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            Uri uri = ContentUris.withAppendedId(CONTENT_URI, personId);
38654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            uri = Uri.withAppendedPath(uri, "update_contact_time");
38754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            ContentValues values = new ContentValues();
38854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            // There is a trigger in place that will update TIMES_CONTACTED when
38954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            // LAST_TIME_CONTACTED is modified.
39054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            values.put(LAST_TIME_CONTACTED, System.currentTimeMillis());
39154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            resolver.update(uri, values, null, null);
39254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        }
39354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
39454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
3956e9610e1dba59bf708b45e0039856d70e6b9768bDaisuke Miyakawa         * @hide Used in vCard parser code.
39654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
397534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
3986e9610e1dba59bf708b45e0039856d70e6b9768bDaisuke Miyakawa        public static long tryGetMyContactsGroupId(ContentResolver resolver) {
39954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            Cursor groupsCursor = resolver.query(Groups.CONTENT_URI, GROUPS_PROJECTION,
40054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                    Groups.SYSTEM_ID + "='" + Groups.GROUP_MY_CONTACTS + "'", null, null);
40154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            if (groupsCursor != null) {
40254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                try {
40354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                    if (groupsCursor.moveToFirst()) {
4046e9610e1dba59bf708b45e0039856d70e6b9768bDaisuke Miyakawa                        return groupsCursor.getLong(0);
40554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                    }
40654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                } finally {
40754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                    groupsCursor.close();
40854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                }
40954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            }
4106e9610e1dba59bf708b45e0039856d70e6b9768bDaisuke Miyakawa            return 0;
4116e9610e1dba59bf708b45e0039856d70e6b9768bDaisuke Miyakawa        }
41254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
4136e9610e1dba59bf708b45e0039856d70e6b9768bDaisuke Miyakawa        /**
4146e9610e1dba59bf708b45e0039856d70e6b9768bDaisuke Miyakawa         * Adds a person to the My Contacts group.
4156e9610e1dba59bf708b45e0039856d70e6b9768bDaisuke Miyakawa         *
4166e9610e1dba59bf708b45e0039856d70e6b9768bDaisuke Miyakawa         * @param resolver the resolver to use
4176e9610e1dba59bf708b45e0039856d70e6b9768bDaisuke Miyakawa         * @param personId the person to add to the group
4186e9610e1dba59bf708b45e0039856d70e6b9768bDaisuke Miyakawa         * @return the URI of the group membership row
4196e9610e1dba59bf708b45e0039856d70e6b9768bDaisuke Miyakawa         * @throws IllegalStateException if the My Contacts group can't be found
4206e9610e1dba59bf708b45e0039856d70e6b9768bDaisuke Miyakawa         */
421534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
4226e9610e1dba59bf708b45e0039856d70e6b9768bDaisuke Miyakawa        public static Uri addToMyContactsGroup(ContentResolver resolver, long personId) {
4236e9610e1dba59bf708b45e0039856d70e6b9768bDaisuke Miyakawa            long groupId = tryGetMyContactsGroupId(resolver);
42454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            if (groupId == 0) {
42554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                throw new IllegalStateException("Failed to find the My Contacts group");
42654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            }
427dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar
42854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            return addToGroup(resolver, personId, groupId);
42954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        }
43054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
43154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
43254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * Adds a person to a group referred to by name.
433dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar         *
43454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * @param resolver the resolver to use
43554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * @param personId the person to add to the group
43654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * @param groupName the name of the group to add the contact to
43754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * @return the URI of the group membership row
43854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * @throws IllegalStateException if the group can't be found
43954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
440534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
44154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static Uri addToGroup(ContentResolver resolver, long personId, String groupName) {
44254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            long groupId = 0;
44354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            Cursor groupsCursor = resolver.query(Groups.CONTENT_URI, GROUPS_PROJECTION,
44454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                    Groups.NAME + "=?", new String[] { groupName }, null);
44554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            if (groupsCursor != null) {
44654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                try {
44754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                    if (groupsCursor.moveToFirst()) {
44854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                        groupId = groupsCursor.getLong(0);
44954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                    }
45054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                } finally {
45154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                    groupsCursor.close();
45254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                }
45354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            }
45454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
45554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            if (groupId == 0) {
45654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                throw new IllegalStateException("Failed to find the My Contacts group");
45754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            }
458dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar
45954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            return addToGroup(resolver, personId, groupId);
46054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        }
46154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
46254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
46354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * Adds a person to a group.
464dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar         *
46554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * @param resolver the resolver to use
46654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * @param personId the person to add to the group
46754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * @param groupId the group to add the person to
46854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * @return the URI of the group membership row
46954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
470534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
47154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static Uri addToGroup(ContentResolver resolver, long personId, long groupId) {
47254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            ContentValues values = new ContentValues();
47354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            values.put(GroupMembership.PERSON_ID, personId);
47454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            values.put(GroupMembership.GROUP_ID, groupId);
47554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            return resolver.insert(GroupMembership.CONTENT_URI, values);
47654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        }
477dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar
47854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        private static final String[] GROUPS_PROJECTION = new String[] {
47954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            Groups._ID,
48054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        };
48154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
48254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
48354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * Creates a new contacts and adds it to the "My Contacts" group.
484dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar         *
48554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * @param resolver the ContentResolver to use
48654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * @param values the values to use when creating the contact
48754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * @return the URI of the contact, or null if the operation fails
48854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
489534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
49054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static Uri createPersonInMyContactsGroup(ContentResolver resolver,
49154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                ContentValues values) {
49254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
49354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            Uri contactUri = resolver.insert(People.CONTENT_URI, values);
49454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            if (contactUri == null) {
49554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                Log.e(TAG, "Failed to create the contact");
49654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                return null;
49754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            }
49854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
49954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            if (addToMyContactsGroup(resolver, ContentUris.parseId(contactUri)) == null) {
50054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                resolver.delete(contactUri, null, null);
50154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                return null;
50254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            }
50354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            return contactUri;
50454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        }
50554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
506534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
50754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static Cursor queryGroups(ContentResolver resolver, long person) {
50854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            return resolver.query(GroupMembership.CONTENT_URI, null, "person=?",
50954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                    new String[]{String.valueOf(person)}, Groups.DEFAULT_SORT_ORDER);
51054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        }
51154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
51254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
51354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * Set the photo for this person. data may be null
51454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * @param cr the ContentResolver to use
51554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * @param person the Uri of the person whose photo is to be updated
51654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * @param data the byte[] that represents the photo
51754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
518534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
51954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static void setPhotoData(ContentResolver cr, Uri person, byte[] data) {
52054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            Uri photoUri = Uri.withAppendedPath(person, Contacts.Photos.CONTENT_DIRECTORY);
52154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            ContentValues values = new ContentValues();
52254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            values.put(Photos.DATA, data);
52354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            cr.update(photoUri, values, null, null);
52454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        }
525dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar
52654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
52754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * Opens an InputStream for the person's photo and returns the photo as a Bitmap.
52854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * If the person's photo isn't present returns the placeholderImageResource instead.
52954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * @param person the person whose photo should be used
53054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
531534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
53254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static InputStream openContactPhotoInputStream(ContentResolver cr, Uri person) {
53354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            Uri photoUri = Uri.withAppendedPath(person, Contacts.Photos.CONTENT_DIRECTORY);
53454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            Cursor cursor = cr.query(photoUri, new String[]{Photos.DATA}, null, null, null);
53554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            try {
53654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                if (!cursor.moveToNext()) {
53754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                    return null;
53854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                }
53954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                byte[] data = cursor.getBlob(0);
54054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                if (data == null) {
54154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                    return null;
54254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                }
54354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                return new ByteArrayInputStream(data);
54454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            } finally {
54542fc2c6f0af1c6d8160e00d7319a1c6fd0258a6fJeff Sharkey                if (cursor != null) cursor.close();
54654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            }
54754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        }
54854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
54954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
55054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * Opens an InputStream for the person's photo and returns the photo as a Bitmap.
55154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * If the person's photo isn't present returns the placeholderImageResource instead.
55254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * @param context the Context
55354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * @param person the person whose photo should be used
55454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * @param placeholderImageResource the image resource to use if the person doesn't
55554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         *   have a photo
55654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * @param options the decoding options, can be set to null
55754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
558534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
55954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static Bitmap loadContactPhoto(Context context, Uri person,
56054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                int placeholderImageResource, BitmapFactory.Options options) {
56154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            if (person == null) {
56254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                return loadPlaceholderPhoto(placeholderImageResource, context, options);
56354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            }
56454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
56554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            InputStream stream = openContactPhotoInputStream(context.getContentResolver(), person);
56654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            Bitmap bm = stream != null ? BitmapFactory.decodeStream(stream, null, options) : null;
56754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            if (bm == null) {
56854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                bm = loadPlaceholderPhoto(placeholderImageResource, context, options);
56954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            }
57054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            return bm;
57154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        }
57254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
57354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        private static Bitmap loadPlaceholderPhoto(int placeholderImageResource, Context context,
57454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                BitmapFactory.Options options) {
57554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            if (placeholderImageResource == 0) {
57654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                return null;
57754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            }
57854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            return BitmapFactory.decodeResource(context.getResources(),
57954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                    placeholderImageResource, options);
58054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        }
58154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
58254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
58354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * A sub directory of a single person that contains all of their Phones.
58454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
585534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
58654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final class Phones implements BaseColumns, PhonesColumns,
58754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                PeopleColumns {
58854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
58954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * no public constructor since this is a utility class
59054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
59154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            private Phones() {}
59254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
59354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
59454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * The directory twig for this sub-table
59554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
596534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
59754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            public static final String CONTENT_DIRECTORY = "phones";
59854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
59954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
60054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * The default sort order for this table
60154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
602534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
60354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            public static final String DEFAULT_SORT_ORDER = "number ASC";
60454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        }
60554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
60654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
60754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * A subdirectory of a single person that contains all of their
60854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * ContactMethods.
60954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
610534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
61154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final class ContactMethods
61254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                implements BaseColumns, ContactMethodsColumns, PeopleColumns {
61354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
61454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * no public constructor since this is a utility class
61554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
61654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            private ContactMethods() {}
61754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
61854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
61954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * The directory twig for this sub-table
62054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
621534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
62254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            public static final String CONTENT_DIRECTORY = "contact_methods";
62354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
62454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
62554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * The default sort order for this table
62654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
627534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
62854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            public static final String DEFAULT_SORT_ORDER = "data ASC";
62954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        }
63054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
63154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
63254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The extensions for a person
63354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
634534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
63554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static class Extensions implements BaseColumns, ExtensionsColumns {
63654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
63754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * no public constructor since this is a utility class
63854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
63954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            private Extensions() {}
64054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
64154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
64254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * The directory twig for this sub-table
64354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
644534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
64554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            public static final String CONTENT_DIRECTORY = "extensions";
64654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
64754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
64854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * The default sort order for this table
64954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
650534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
65154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            public static final String DEFAULT_SORT_ORDER = "name ASC";
65254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
65354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
65454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * The ID of the person this phone number is assigned to.
65554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * <P>Type: INTEGER (long)</P>
65654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
657534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
65854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            public static final String PERSON_ID = "person";
65954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        }
66054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    }
66154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
66254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    /**
66354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     * Columns from the groups table.
66454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     */
665534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey    @Deprecated
66654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    public interface GroupsColumns {
66754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
66854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The group name.
66954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: TEXT</P>
67054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
671534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
67254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String NAME = "name";
67354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
67454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
67554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * Notes about the group.
67654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: TEXT</P>
67754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
678534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
67954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String NOTES = "notes";
68054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
68154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
68254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * Whether this group should be synced if the SYNC_EVERYTHING settings is false
68354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * for this group's account.
68454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: INTEGER (boolean)</P>
68554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
686534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
68754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String SHOULD_SYNC = "should_sync";
68854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
68954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
69054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The ID of this group if it is a System Group, null otherwise.
69154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: TEXT</P>
69254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
693534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
69454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String SYSTEM_ID = "system_id";
69554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    }
69654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
69754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    /**
69854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     * This table contains the groups for an account.
69954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     */
700534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey    @Deprecated
70154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    public static final class Groups
70254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            implements BaseColumns, SyncConstValue, GroupsColumns {
70354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
70454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * no public constructor since this is a utility class
70554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
70654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        private Groups() {}
70754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
70854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
70954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The content:// style URL for this table
71054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
711534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
71254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final Uri CONTENT_URI =
71354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            Uri.parse("content://contacts/groups");
71454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
71554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
71654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The content:// style URL for the table that holds the deleted
71754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * groups.
71854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
719534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
72054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final Uri DELETED_CONTENT_URI =
72154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            Uri.parse("content://contacts/deleted_groups");
72254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
72354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
72454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The MIME type of {@link #CONTENT_URI} providing a directory of
72554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * groups.
72654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
727534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
72854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contactsgroup";
72954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
73054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
73154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The MIME type of a {@link #CONTENT_URI} subdirectory of a single
73254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * group.
73354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
734534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
73554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contactsgroup";
73654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
73754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
73854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The default sort order for this table
73954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
740534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
74154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String DEFAULT_SORT_ORDER = NAME + " ASC";
74254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
74354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
74454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         *
74554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
746534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
74754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String GROUP_ANDROID_STARRED = "Starred in Android";
74854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
74954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
75054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The "My Contacts" system group.
75154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
752534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
75354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String GROUP_MY_CONTACTS = "Contacts";
75454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    }
75554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
75654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    /**
75754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     * Columns from the Phones table that other columns join into themselves.
75854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     */
759534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey    @Deprecated
76054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    public interface PhonesColumns {
76154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
76254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The type of the the phone number.
76354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: INTEGER (one of the constants below)</P>
76454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
765534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
76654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String TYPE = "type";
76754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
768534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
76954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final int TYPE_CUSTOM = 0;
770534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
77154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final int TYPE_HOME = 1;
772534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
77354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final int TYPE_MOBILE = 2;
774534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
77554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final int TYPE_WORK = 3;
776534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
77754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final int TYPE_FAX_WORK = 4;
778534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
77954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final int TYPE_FAX_HOME = 5;
780534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
78154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final int TYPE_PAGER = 6;
782534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
78354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final int TYPE_OTHER = 7;
78454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
78554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
78654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The user provided label for the phone number, only used if TYPE is TYPE_CUSTOM.
78754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: TEXT</P>
78854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
789534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
79054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String LABEL = "label";
79154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
79254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
79354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The phone number as the user entered it.
79454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: TEXT</P>
79554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
796534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
79754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String NUMBER = "number";
79854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
79954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
80054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The normalized phone number
80154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: TEXT</P>
80254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
803534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
80454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String NUMBER_KEY = "number_key";
80554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
80654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
80754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * Whether this is the primary phone number
80854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: INTEGER (if set, non-0 means true)</P>
80954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
810534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
81154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String ISPRIMARY = "isprimary";
81254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    }
81354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
81454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    /**
81554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     * This table stores phone numbers and a reference to the person that the
81654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     * contact method belongs to. Phone numbers are stored separately from
81754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     * other contact methods to make caller ID lookup more efficient.
81854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     */
819534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey    @Deprecated
82054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    public static final class Phones
82154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            implements BaseColumns, PhonesColumns, PeopleColumns {
82254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
82354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * no public constructor since this is a utility class
82454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
82554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        private Phones() {}
82654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
827534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
82854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final CharSequence getDisplayLabel(Context context, int type,
82954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                CharSequence label, CharSequence[] labelArray) {
83054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            CharSequence display = "";
83154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
83254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            if (type != People.Phones.TYPE_CUSTOM) {
833dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar                CharSequence[] labels = labelArray != null? labelArray
83454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                        : context.getResources().getTextArray(
83554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                                com.android.internal.R.array.phoneTypes);
83654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                try {
83754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                    display = labels[type - 1];
83854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                } catch (ArrayIndexOutOfBoundsException e) {
83954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                    display = labels[People.Phones.TYPE_HOME - 1];
84054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                }
84154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            } else {
84254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                if (!TextUtils.isEmpty(label)) {
84354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                    display = label;
84454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                }
84554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            }
84654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            return display;
84754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        }
84854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
849534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
85054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final CharSequence getDisplayLabel(Context context, int type,
85154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                CharSequence label) {
85254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            return getDisplayLabel(context, type, label, null);
85354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        }
854dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar
85554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
85654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The content:// style URL for this table
85754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
858534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
85954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final Uri CONTENT_URI =
86054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            Uri.parse("content://contacts/phones");
86154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
86254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
86354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The content:// style URL for filtering phone numbers
86454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
865534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
86654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final Uri CONTENT_FILTER_URL =
86754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            Uri.parse("content://contacts/phones/filter");
86854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
86954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
87054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The MIME type of {@link #CONTENT_URI} providing a directory of
87154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * phones.
87254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
873534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
87454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String CONTENT_TYPE = "vnd.android.cursor.dir/phone";
87554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
87654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
87754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The MIME type of a {@link #CONTENT_URI} subdirectory of a single
87854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * phone.
87954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
880534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
88154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/phone";
88254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
88354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
88454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The default sort order for this table
88554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
886534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
88754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String DEFAULT_SORT_ORDER = "name ASC";
88854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
88954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
89054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The ID of the person this phone number is assigned to.
89154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: INTEGER (long)</P>
89254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
893534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
89454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String PERSON_ID = "person";
89554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    }
89654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
897534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey    @Deprecated
89854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    public static final class GroupMembership implements BaseColumns, GroupsColumns {
89954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
90054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * no public constructor since this is a utility class
90154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
90254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        private GroupMembership() {}
90354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
90454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
90554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The content:// style URL for this table
90654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
907534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
90854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final Uri CONTENT_URI =
90954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            Uri.parse("content://contacts/groupmembership");
91054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
91154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
91254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The content:// style URL for this table
91354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
914534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
91554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final Uri RAW_CONTENT_URI =
91654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            Uri.parse("content://contacts/groupmembershipraw");
91754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
91854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
91954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The directory twig for this sub-table
92054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
921534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
92254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String CONTENT_DIRECTORY = "groupmembership";
923534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey
92454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
92554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The MIME type of {@link #CONTENT_URI} providing a directory of all
92654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * person groups.
92754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
928534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
92954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contactsgroupmembership";
93054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
93154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
93254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The MIME type of a {@link #CONTENT_URI} subdirectory of a single
93354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * person group.
93454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
935534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
93654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String CONTENT_ITEM_TYPE =
93754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                "vnd.android.cursor.item/contactsgroupmembership";
93854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
93954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
94054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The default sort order for this table
94154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
942534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
94354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String DEFAULT_SORT_ORDER = "group_id ASC";
94454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
94554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
94654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The row id of the accounts group.
94754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: TEXT</P>
94854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
949534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
95054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String GROUP_ID = "group_id";
95154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
95254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
95354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The sync id of the group.
95454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: TEXT</P>
95554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
956534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
95754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String GROUP_SYNC_ID = "group_sync_id";
95854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
95954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
96054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The account of the group.
96154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: TEXT</P>
96254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
963534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
96454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String GROUP_SYNC_ACCOUNT = "group_sync_account";
96554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
96654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
967d9d2f1140b52fd0c014e9deac59f6000564b7e84Fred Quintana         * The account type of the group.
968d9d2f1140b52fd0c014e9deac59f6000564b7e84Fred Quintana         * <P>Type: TEXT</P>
969d9d2f1140b52fd0c014e9deac59f6000564b7e84Fred Quintana         */
970534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
971d9d2f1140b52fd0c014e9deac59f6000564b7e84Fred Quintana        public static final String GROUP_SYNC_ACCOUNT_TYPE = "group_sync_account_type";
972d9d2f1140b52fd0c014e9deac59f6000564b7e84Fred Quintana
973d9d2f1140b52fd0c014e9deac59f6000564b7e84Fred Quintana        /**
97454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The row id of the person.
97554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: TEXT</P>
97654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
977534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
97854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String PERSON_ID = "person";
97954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    }
98054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
98154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    /**
98254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     * Columns from the ContactMethods table that other tables join into
98354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     * themseleves.
98454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     */
985534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey    @Deprecated
98654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    public interface ContactMethodsColumns {
98754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
98854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The kind of the the contact method. For example, email address,
98954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * postal address, etc.
99054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: INTEGER (one of the values below)</P>
99154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
992534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
99354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String KIND = "kind";
99454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
99554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
99654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The type of the contact method, must be one of the types below.
99754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: INTEGER (one of the values below)</P>
99854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
999534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
100054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String TYPE = "type";
1001534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
100254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final int TYPE_CUSTOM = 0;
1003534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
100454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final int TYPE_HOME = 1;
1005534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
100654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final int TYPE_WORK = 2;
1007534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
100854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final int TYPE_OTHER = 3;
100954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
101054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
10117c3e18c558820de543e3aa4fb3a777940106166cDaisuke Miyakawa         * @hide This is temporal. TYPE_MOBILE should be added to TYPE in the future.
10127c3e18c558820de543e3aa4fb3a777940106166cDaisuke Miyakawa         */
1013534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
10147c3e18c558820de543e3aa4fb3a777940106166cDaisuke Miyakawa        public static final int MOBILE_EMAIL_TYPE_INDEX = 2;
10157c3e18c558820de543e3aa4fb3a777940106166cDaisuke Miyakawa
10167c3e18c558820de543e3aa4fb3a777940106166cDaisuke Miyakawa        /**
10177c3e18c558820de543e3aa4fb3a777940106166cDaisuke Miyakawa         * @hide This is temporal. TYPE_MOBILE should be added to TYPE in the future.
10187c3e18c558820de543e3aa4fb3a777940106166cDaisuke Miyakawa         * This is not "mobile" but "CELL" since vCard uses it for identifying mobile phone.
10197c3e18c558820de543e3aa4fb3a777940106166cDaisuke Miyakawa         */
1020534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
10217c3e18c558820de543e3aa4fb3a777940106166cDaisuke Miyakawa        public static final String MOBILE_EMAIL_TYPE_NAME = "_AUTO_CELL";
10227c3e18c558820de543e3aa4fb3a777940106166cDaisuke Miyakawa
10237c3e18c558820de543e3aa4fb3a777940106166cDaisuke Miyakawa        /**
102454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The user defined label for the the contact method.
102554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: TEXT</P>
102654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1027534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
102854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String LABEL = "label";
102954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
103054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
103154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The data for the contact method.
103254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: TEXT</P>
103354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1034534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
103554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String DATA = "data";
103654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
103754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
103854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * Auxiliary data for the contact method.
103954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: TEXT</P>
104054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1041534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
104254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String AUX_DATA = "aux_data";
104354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
104454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
104554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * Whether this is the primary organization
104654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: INTEGER (if set, non-0 means true)</P>
104754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1048534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
104954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String ISPRIMARY = "isprimary";
105054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    }
105154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
105254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    /**
105354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     * This table stores all non-phone contact methods and a reference to the
105454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     * person that the contact method belongs to.
105554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     */
1056534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey    @Deprecated
105754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    public static final class ContactMethods
105854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            implements BaseColumns, ContactMethodsColumns, PeopleColumns {
105954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
106054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The column with latitude data for postal locations
106154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: REAL</P>
106254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1063534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
106454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String POSTAL_LOCATION_LATITUDE = DATA;
106554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
106654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
106754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The column with longitude data for postal locations
106854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: REAL</P>
106954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1070534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
107154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String POSTAL_LOCATION_LONGITUDE = AUX_DATA;
107254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
107354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
107454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The predefined IM protocol types. The protocol can either be non-present, one
107554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * of these types, or a free-form string. These cases are encoded in the AUX_DATA
107654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * column as:
107754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         *  - null
107854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         *  - pre:<an integer, one of the protocols below>
107954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         *  - custom:<a string>
108054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1081534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
108254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final int PROTOCOL_AIM = 0;
1083534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
108454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final int PROTOCOL_MSN = 1;
1085534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
108654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final int PROTOCOL_YAHOO = 2;
1087534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
108854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final int PROTOCOL_SKYPE = 3;
1089534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
109054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final int PROTOCOL_QQ = 4;
1091534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
109254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final int PROTOCOL_GOOGLE_TALK = 5;
1093534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
109454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final int PROTOCOL_ICQ = 6;
1095534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
109654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final int PROTOCOL_JABBER = 7;
109754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
1098534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
109954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static String encodePredefinedImProtocol(int protocol) {
110054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            return "pre:" + protocol;
110154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        }
110254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
1103534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
110454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static String encodeCustomImProtocol(String protocolString) {
110554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            return "custom:" + protocolString;
110654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        }
110754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
1108534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
110954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static Object decodeImProtocol(String encodedString) {
111054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            if (encodedString == null) {
111154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                return null;
111254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            }
111354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
111454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            if (encodedString.startsWith("pre:")) {
111554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                return Integer.parseInt(encodedString.substring(4));
111654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            }
111754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
111854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            if (encodedString.startsWith("custom:")) {
111954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                return encodedString.substring(7);
112054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            }
112154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
112254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            throw new IllegalArgumentException(
112354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                    "the value is not a valid encoded protocol, " + encodedString);
112454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        }
1125dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar
112654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
11279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project         * This looks up the provider name defined in
11289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project         * {@link android.provider.Im.ProviderNames} from the predefined IM protocol id.
112954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * This is used for interacting with the IM application.
11309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project         *
113154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * @param protocol the protocol ID
11329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project         * @return the provider name the IM app uses for the given protocol, or null if no
113354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * provider is defined for the given protocol
113454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * @hide
113554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1136534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
11379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        public static String lookupProviderNameFromId(int protocol) {
113854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            switch (protocol) {
113954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                case PROTOCOL_GOOGLE_TALK:
11409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                    return Im.ProviderNames.GTALK;
114154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                case PROTOCOL_AIM:
11429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                    return Im.ProviderNames.AIM;
114354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                case PROTOCOL_MSN:
11449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                    return Im.ProviderNames.MSN;
114554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                case PROTOCOL_YAHOO:
11469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                    return Im.ProviderNames.YAHOO;
114754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                case PROTOCOL_ICQ:
11489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                    return Im.ProviderNames.ICQ;
11499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                case PROTOCOL_JABBER:
11509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                    return Im.ProviderNames.JABBER;
11519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                case PROTOCOL_SKYPE:
11529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                    return Im.ProviderNames.SKYPE;
11539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                case PROTOCOL_QQ:
11549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                    return Im.ProviderNames.QQ;
115554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            }
115654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            return null;
115754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        }
115854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
115954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
116054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * no public constructor since this is a utility class
116154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
116254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        private ContactMethods() {}
116354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
1164534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
116554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final CharSequence getDisplayLabel(Context context, int kind,
116654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                int type, CharSequence label) {
116754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            CharSequence display = "";
116854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            switch (kind) {
116954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                case KIND_EMAIL: {
117054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                    if (type != People.ContactMethods.TYPE_CUSTOM) {
117154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                        CharSequence[] labels = context.getResources().getTextArray(
117254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                                com.android.internal.R.array.emailAddressTypes);
117354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                        try {
117454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                            display = labels[type - 1];
117554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                        } catch (ArrayIndexOutOfBoundsException e) {
117654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                            display = labels[ContactMethods.TYPE_HOME - 1];
117754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                        }
117854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                    } else {
117954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                        if (!TextUtils.isEmpty(label)) {
118054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                            display = label;
118154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                        }
118254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                    }
118354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                    break;
118454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                }
118554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
118654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                case KIND_POSTAL: {
118754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                    if (type != People.ContactMethods.TYPE_CUSTOM) {
118854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                        CharSequence[] labels = context.getResources().getTextArray(
118954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                                com.android.internal.R.array.postalAddressTypes);
119054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                        try {
119154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                            display = labels[type - 1];
119254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                        } catch (ArrayIndexOutOfBoundsException e) {
119354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                            display = labels[ContactMethods.TYPE_HOME - 1];
119454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                        }
119554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                    } else {
119654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                        if (!TextUtils.isEmpty(label)) {
119754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                            display = label;
119854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                        }
119954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                    }
120054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                    break;
120154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                }
120254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
120354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                default:
120454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                    display = context.getString(R.string.untitled);
120554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            }
120654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            return display;
120754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        }
120854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
120954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
121054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * Add a longitude and latitude location to a postal address.
121154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         *
121254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * @param context the context to use when updating the database
121354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * @param postalId the address to update
121454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * @param latitude the latitude for the address
121554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * @param longitude the longitude for the address
121654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1217534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
121854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public void addPostalLocation(Context context, long postalId,
121954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                double latitude, double longitude) {
122054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            final ContentResolver resolver = context.getContentResolver();
122154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            // Insert the location
122254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            ContentValues values = new ContentValues(2);
122354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            values.put(POSTAL_LOCATION_LATITUDE, latitude);
122454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            values.put(POSTAL_LOCATION_LONGITUDE, longitude);
122554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            Uri loc = resolver.insert(CONTENT_URI, values);
122654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            long locId = ContentUris.parseId(loc);
122754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
122854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            // Update the postal address
122954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            values.clear();
123054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            values.put(AUX_DATA, locId);
123154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            resolver.update(ContentUris.withAppendedId(CONTENT_URI, postalId), values, null, null);
123254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        }
123354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
123454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
123554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The content:// style URL for this table
123654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1237534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
123854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final Uri CONTENT_URI =
123954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            Uri.parse("content://contacts/contact_methods");
124054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
124154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
124254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The content:// style URL for sub-directory of e-mail addresses.
124354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1244534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
124554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final Uri CONTENT_EMAIL_URI =
124654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            Uri.parse("content://contacts/contact_methods/email");
124754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
124854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
124954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The MIME type of {@link #CONTENT_URI} providing a directory of
125054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * phones.
125154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1252534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
125354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contact-methods";
125454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
125554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
125654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The MIME type of a {@link #CONTENT_EMAIL_URI} sub-directory of\
125754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * multiple {@link Contacts#KIND_EMAIL} entries.
125854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1259534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
126054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String CONTENT_EMAIL_TYPE = "vnd.android.cursor.dir/email";
126154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
126254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
126354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The MIME type of a {@link #CONTENT_EMAIL_URI} sub-directory of\
126454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * multiple {@link Contacts#KIND_POSTAL} entries.
126554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1266534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
126754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String CONTENT_POSTAL_TYPE = "vnd.android.cursor.dir/postal-address";
126854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
126954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
127054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The MIME type of a {@link #CONTENT_URI} sub-directory of a single
127154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * {@link Contacts#KIND_EMAIL} entry.
127254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1273534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
127454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String CONTENT_EMAIL_ITEM_TYPE = "vnd.android.cursor.item/email";
127554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
127654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
127754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The MIME type of a {@link #CONTENT_URI} sub-directory of a single
127854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * {@link Contacts#KIND_POSTAL} entry.
127954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1280534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
128154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String CONTENT_POSTAL_ITEM_TYPE
128254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                = "vnd.android.cursor.item/postal-address";
128354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
128454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
128554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The MIME type of a {@link #CONTENT_URI} sub-directory of a single
128654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * {@link Contacts#KIND_IM} entry.
128754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1288534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
128954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String CONTENT_IM_ITEM_TYPE = "vnd.android.cursor.item/jabber-im";
129054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
129154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
129254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The default sort order for this table
129354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1294534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
129554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String DEFAULT_SORT_ORDER = "name ASC";
129654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
129754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
129854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The ID of the person this contact method is assigned to.
129954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: INTEGER (long)</P>
130054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1301534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
130254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String PERSON_ID = "person";
130354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    }
130454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
130554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    /**
130654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     * The IM presence columns with some contacts specific columns mixed in.
130754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     */
1308534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey    @Deprecated
130954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    public interface PresenceColumns extends Im.CommonPresenceColumns {
131054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
131154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The IM service the presence is coming from. Formatted using either
131254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * {@link Contacts.ContactMethods#encodePredefinedImProtocol} or
131354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * {@link Contacts.ContactMethods#encodeCustomImProtocol}.
131454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: STRING</P>
131554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1316534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
131754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String IM_PROTOCOL = "im_protocol";
131854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
131954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
132054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The IM handle the presence item is for. The handle is scoped to
132154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * the {@link #IM_PROTOCOL}.
132254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: STRING</P>
132354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1324534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
132554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String IM_HANDLE = "im_handle";
132654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
132754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
132854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The IM account for the local user that the presence data came from.
132954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: STRING</P>
133054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1331534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
133254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String IM_ACCOUNT = "im_account";
133354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    }
133454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
133554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    /**
133654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     * Contains presence information about contacts.
133754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     * @hide
133854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     */
1339534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey    @Deprecated
134054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    public static final class Presence
134154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            implements BaseColumns, PresenceColumns, PeopleColumns {
134254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
134354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The content:// style URL for this table
134454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1345534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
134654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final Uri CONTENT_URI =
134754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            Uri.parse("content://contacts/presence");
134854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
134954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
135054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The ID of the person this presence item is assigned to.
135154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: INTEGER (long)</P>
135254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1353534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
135454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String PERSON_ID = "person";
135554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
135654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
135754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * Gets the resource ID for the proper presence icon.
1358dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar         *
135954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * @param status the status to get the icon for
136054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * @return the resource ID for the proper presence icon
136154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1362534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
136354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final int getPresenceIconResourceId(int status) {
136454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            switch (status) {
136554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                case Contacts.People.AVAILABLE:
136654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                    return com.android.internal.R.drawable.presence_online;
1367dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar
136854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                case Contacts.People.IDLE:
136954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                case Contacts.People.AWAY:
137054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                    return com.android.internal.R.drawable.presence_away;
1371dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar
137254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                case Contacts.People.DO_NOT_DISTURB:
137354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                    return com.android.internal.R.drawable.presence_busy;
1374dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar
137554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                case Contacts.People.INVISIBLE:
137654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                    return com.android.internal.R.drawable.presence_invisible;
1377dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar
137854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                case Contacts.People.OFFLINE:
137954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                default:
138054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                    return com.android.internal.R.drawable.presence_offline;
138154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            }
138254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        }
138354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
138454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
138554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * Sets a presence icon to the proper graphic
138654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         *
138754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * @param icon the icon to to set
138854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * @param serverStatus that status
138954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1390534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
139154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final void setPresenceIcon(ImageView icon, int serverStatus) {
139254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            icon.setImageResource(getPresenceIconResourceId(serverStatus));
139354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        }
139454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    }
139554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
139654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    /**
139754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     * Columns from the Organizations table that other columns join into themselves.
139854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     */
1399534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey    @Deprecated
140054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    public interface OrganizationColumns {
140154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
1402ae499953ce0e00aae78f374514d4bcc6b99c8354Evan JIANG         * The type of the organizations.
140354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: INTEGER (one of the constants below)</P>
140454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1405534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
140654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String TYPE = "type";
140754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
1408534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
140954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final int TYPE_CUSTOM = 0;
1410534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
141154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final int TYPE_WORK = 1;
1412534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
141354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final int TYPE_OTHER = 2;
141454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
141554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
141654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The user provided label, only used if TYPE is TYPE_CUSTOM.
141754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: TEXT</P>
141854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1419534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
142054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String LABEL = "label";
142154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
142254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
142354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The name of the company for this organization.
142454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: TEXT</P>
142554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1426534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
142754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String COMPANY = "company";
142854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
142954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
143054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The title within this organization.
143154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: TEXT</P>
143254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1433534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
143454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String TITLE = "title";
143554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
143654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
143754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The person this organization is tied to.
143854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: TEXT</P>
143954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1440534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
144154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String PERSON_ID = "person";
144254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
144354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
144454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * Whether this is the primary organization
144554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: INTEGER (if set, non-0 means true)</P>
144654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1447534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
144854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String ISPRIMARY = "isprimary";
144954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    }
145054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
145154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    /**
145254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     * A sub directory of a single person that contains all of their Phones.
145354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     */
1454534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey    @Deprecated
145554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    public static final class Organizations implements BaseColumns, OrganizationColumns {
145654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
145754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * no public constructor since this is a utility class
145854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
145954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        private Organizations() {}
146054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
1461534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
146254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final CharSequence getDisplayLabel(Context context, int type,
146354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                CharSequence label) {
146454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            CharSequence display = "";
146554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
146654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            if (type != TYPE_CUSTOM) {
146754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                CharSequence[] labels = context.getResources().getTextArray(
146854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                        com.android.internal.R.array.organizationTypes);
146954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                try {
147054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                    display = labels[type - 1];
147154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                } catch (ArrayIndexOutOfBoundsException e) {
1472ae499953ce0e00aae78f374514d4bcc6b99c8354Evan JIANG                    display = labels[Organizations.TYPE_WORK - 1];
147354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                }
147454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            } else {
147554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                if (!TextUtils.isEmpty(label)) {
147654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                    display = label;
147754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project                }
147854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            }
147954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            return display;
148054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        }
148154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
148254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
148354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The content:// style URL for this table
148454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1485534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
148654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final Uri CONTENT_URI =
148754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            Uri.parse("content://contacts/organizations");
148854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
148954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
149054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The directory twig for this sub-table
149154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1492534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
149354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String CONTENT_DIRECTORY = "organizations";
149454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
149554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
149654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The default sort order for this table
149754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1498534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
149954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String DEFAULT_SORT_ORDER = "company, title, isprimary ASC";
150054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    }
150154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
150254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    /**
150354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     * Columns from the Photos table that other columns join into themselves.
150454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     */
1505534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey    @Deprecated
150654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    public interface PhotosColumns {
150754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
150854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The _SYNC_VERSION of the photo that was last downloaded
150954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: TEXT</P>
151054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1511534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
151254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String LOCAL_VERSION = "local_version";
151354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
151454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
151554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The person this photo is associated with.
151654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: TEXT</P>
151754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1518534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
151954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String PERSON_ID = "person";
152054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
152154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
152254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * non-zero if a download is required and the photo isn't marked as a bad resource.
152354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * You must specify this in the columns in order to use it in the where clause.
152454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: INTEGER(boolean)</P>
152554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1526534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
152754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String DOWNLOAD_REQUIRED = "download_required";
152854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
152954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
153054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * non-zero if this photo is known to exist on the server
153154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: INTEGER(boolean)</P>
153254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1533534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
153454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String EXISTS_ON_SERVER = "exists_on_server";
153554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
153654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
153754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * Contains the description of the upload or download error from
153854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * the previous attempt. If null then the previous attempt succeeded.
153954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: TEXT</P>
154054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1541534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
154254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String SYNC_ERROR = "sync_error";
154354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
154454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
154554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The image data, or null if there is no image.
154654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: BLOB</P>
154754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1548534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
154954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String DATA = "data";
155054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
155154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    }
155254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
155354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    /**
155454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     * The photos over all of the people
155554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     */
1556534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey    @Deprecated
155754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    public static final class Photos implements BaseColumns, PhotosColumns, SyncConstValue {
155854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
155954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * no public constructor since this is a utility class
156054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
156154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        private Photos() {}
156254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
156354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
156454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The content:// style URL for this table
156554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1566534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
156754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final Uri CONTENT_URI =
156854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            Uri.parse("content://contacts/photos");
156954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
157054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
157154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The directory twig for this sub-table
157254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1573534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
157454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String CONTENT_DIRECTORY = "photo";
157554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
157654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
157754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The default sort order for this table
157854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1579534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
158054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String DEFAULT_SORT_ORDER = "person ASC";
158154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    }
158254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
1583534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey    @Deprecated
158454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    public interface ExtensionsColumns {
158554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
158654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The name of this extension. May not be null. There may be at most one row for each name.
158754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: TEXT</P>
158854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1589534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
159054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String NAME = "name";
159154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
159254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
159354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The value of this extension. May not be null.
159454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: TEXT</P>
159554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1596534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
159754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String VALUE = "value";
159854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    }
159954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
160054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    /**
160154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     * The extensions for a person
160254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     */
1603534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey    @Deprecated
160454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    public static final class Extensions implements BaseColumns, ExtensionsColumns {
160554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
160654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * no public constructor since this is a utility class
160754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
160854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        private Extensions() {}
160954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
161054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
161154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The content:// style URL for this table
161254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1613534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
161454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final Uri CONTENT_URI =
161554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            Uri.parse("content://contacts/extensions");
161654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
161754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
161854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The MIME type of {@link #CONTENT_URI} providing a directory of
161954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * phones.
162054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1621534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
162254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contact_extensions";
162354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
162454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
162554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The MIME type of a {@link #CONTENT_URI} subdirectory of a single
162654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * phone.
162754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1628534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
162954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact_extensions";
1630534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey
163154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
163254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The default sort order for this table
163354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1634534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
163554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String DEFAULT_SORT_ORDER = "person, name ASC";
163654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
163754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
163854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * The ID of the person this phone number is assigned to.
163954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * <P>Type: INTEGER (long)</P>
164054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1641534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
164254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String PERSON_ID = "person";
164354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    }
164454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
164554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    /**
164654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     * Contains helper classes used to create or manage {@link android.content.Intent Intents}
164754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     * that involve contacts.
164854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project     */
1649534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey    @Deprecated
165054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    public static final class Intents {
1651534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
1652534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        public Intents() {
1653534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        }
1654534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey
165554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
165654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * This is the intent that is fired when a search suggestion is clicked on.
165754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1658534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
165954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String SEARCH_SUGGESTION_CLICKED =
1660dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar                ContactsContract.Intents.SEARCH_SUGGESTION_CLICKED;
166154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
166254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
1663dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar         * This is the intent that is fired when a search suggestion for dialing a number
166454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * is clicked on.
166554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1666534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
166754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String SEARCH_SUGGESTION_DIAL_NUMBER_CLICKED =
1668dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar                ContactsContract.Intents.SEARCH_SUGGESTION_DIAL_NUMBER_CLICKED;
166954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
167054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
167154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * This is the intent that is fired when a search suggestion for creating a contact
167254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * is clicked on.
167354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1674534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
167554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final String SEARCH_SUGGESTION_CREATE_CONTACT_CLICKED =
1676dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar                ContactsContract.Intents.SEARCH_SUGGESTION_CREATE_CONTACT_CLICKED;
167754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
167854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
167954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * Starts an Activity that lets the user pick a contact to attach an image to.
168054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * After picking the contact it launches the image cropper in face detection mode.
168154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1682534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
1683dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar        public static final String ATTACH_IMAGE = ContactsContract.Intents.ATTACH_IMAGE;
1684c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project
1685c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project        /**
1686c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project         * Takes as input a data URI with a mailto: or tel: scheme. If a single
1687c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project         * contact exists with the given data it will be shown. If no contact
1688c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project         * exists, a dialog will ask the user if they want to create a new
1689c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project         * contact with the provided details filled in. If multiple contacts
1690c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project         * share the data the user will be prompted to pick which contact they
1691c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project         * want to view.
1692c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project         * <p>
1693c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project         * For <code>mailto:</code> URIs, the scheme specific portion must be a
1694c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project         * raw email address, such as one built using
1695c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project         * {@link Uri#fromParts(String, String, String)}.
1696c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project         * <p>
1697c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project         * For <code>tel:</code> URIs, the scheme specific portion is compared
1698c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project         * to existing numbers using the standard caller ID lookup algorithm.
1699c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project         * The number must be properly encoded, for example using
1700c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project         * {@link Uri#fromParts(String, String, String)}.
1701c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project         * <p>
1702c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project         * Any extras from the {@link Insert} class will be passed along to the
1703c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project         * create activity if there are no contacts to show.
1704c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project         * <p>
1705c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project         * Passing true for the {@link #EXTRA_FORCE_CREATE} extra will skip
1706c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project         * prompting the user when the contact doesn't exist.
1707c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project         */
1708534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
1709c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project        public static final String SHOW_OR_CREATE_CONTACT =
1710dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar                ContactsContract.Intents.SHOW_OR_CREATE_CONTACT;
1711c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project
1712c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project        /**
1713105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project         * Used with {@link #SHOW_OR_CREATE_CONTACT} to force creating a new
1714105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project         * contact if no matching contact found. Otherwise, default behavior is
1715105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project         * to prompt user with dialog before creating.
1716105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project         * <p>
1717105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project         * Type: BOOLEAN
1718c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project         */
1719534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
1720dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar        public static final String EXTRA_FORCE_CREATE = ContactsContract.Intents.EXTRA_FORCE_CREATE;
1721dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar
1722105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project        /**
1723105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project         * Used with {@link #SHOW_OR_CREATE_CONTACT} to specify an exact
1724105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project         * description to be shown when prompting user about creating a new
1725105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project         * contact.
1726105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project         * <p>
1727105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project         * Type: STRING
1728105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project         */
1729534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
1730105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project        public static final String EXTRA_CREATE_DESCRIPTION =
1731dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar                ContactsContract.Intents.EXTRA_CREATE_DESCRIPTION;
1732c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project
173354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
17341132200fa1f545a34f700d6000ded8c8c56134e4Jeff Sharkey         * Optional extra used with {@link #SHOW_OR_CREATE_CONTACT} to specify a
17351132200fa1f545a34f700d6000ded8c8c56134e4Jeff Sharkey         * dialog location using screen coordinates. When not specified, the
17361132200fa1f545a34f700d6000ded8c8c56134e4Jeff Sharkey         * dialog will be centered.
17371132200fa1f545a34f700d6000ded8c8c56134e4Jeff Sharkey         *
17381132200fa1f545a34f700d6000ded8c8c56134e4Jeff Sharkey         * @hide pending API council review
17391132200fa1f545a34f700d6000ded8c8c56134e4Jeff Sharkey         */
1740534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
17411132200fa1f545a34f700d6000ded8c8c56134e4Jeff Sharkey        public static final String EXTRA_TARGET_RECT = ContactsContract.Intents.EXTRA_TARGET_RECT;
17421132200fa1f545a34f700d6000ded8c8c56134e4Jeff Sharkey
17431132200fa1f545a34f700d6000ded8c8c56134e4Jeff Sharkey        /**
174454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * Intents related to the Contacts app UI.
174554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1746534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
174754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final class UI {
1748534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
1749534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            public UI() {
1750534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            }
1751534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey
175254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
175354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * The action for the default contacts list tab.
175454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
1755534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
1756dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar            public static final String LIST_DEFAULT = ContactsContract.Intents.UI.LIST_DEFAULT;
175754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
175854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
175954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * The action for the contacts list tab.
176054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
1761534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
176254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            public static final String LIST_GROUP_ACTION =
1763dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar                    ContactsContract.Intents.UI.LIST_GROUP_ACTION;
176454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
176554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
176654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * When in LIST_GROUP_ACTION mode, this is the group to display.
176754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
1768534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
1769dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar            public static final String GROUP_NAME_EXTRA_KEY =
1770dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar                    ContactsContract.Intents.UI.GROUP_NAME_EXTRA_KEY;
177154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
177254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * The action for the all contacts list tab.
177354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
1774534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
177554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            public static final String LIST_ALL_CONTACTS_ACTION =
1776dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar                    ContactsContract.Intents.UI.LIST_ALL_CONTACTS_ACTION;
177754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
177854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
177954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * The action for the contacts with phone numbers list tab.
178054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
1781534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
178254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            public static final String LIST_CONTACTS_WITH_PHONES_ACTION =
1783dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar                    ContactsContract.Intents.UI.LIST_CONTACTS_WITH_PHONES_ACTION;
178454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
178554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
178654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * The action for the starred contacts list tab.
178754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
1788534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
178954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            public static final String LIST_STARRED_ACTION =
1790dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar                    ContactsContract.Intents.UI.LIST_STARRED_ACTION;
179154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
179254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
179354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * The action for the frequent contacts list tab.
179454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
1795534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
179654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            public static final String LIST_FREQUENT_ACTION =
1797dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar                    ContactsContract.Intents.UI.LIST_FREQUENT_ACTION;
179854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
179954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
180054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * The action for the "strequent" contacts list tab. It first lists the starred
180154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * contacts in alphabetical order and then the frequent contacts in descending
180254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * order of the number of times they have been contacted.
180354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
1804534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
180554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            public static final String LIST_STREQUENT_ACTION =
1806dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar                    ContactsContract.Intents.UI.LIST_STREQUENT_ACTION;
180754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
180854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
180954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * A key for to be used as an intent extra to set the activity
181054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * title to a custom String value.
181154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
1812534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
181354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            public static final String TITLE_EXTRA_KEY =
1814dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar                    ContactsContract.Intents.UI.TITLE_EXTRA_KEY;
1815dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar
181654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
181754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * Activity Action: Display a filtered list of contacts
181854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * <p>
181954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * Input: Extra field {@link #FILTER_TEXT_EXTRA_KEY} is the text to use for
182054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * filtering
182154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * <p>
182254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * Output: Nothing.
182354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
1824534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
1825dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar            public static final String FILTER_CONTACTS_ACTION =
1826dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar                    ContactsContract.Intents.UI.FILTER_CONTACTS_ACTION;
1827dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar
182854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
182954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * Used as an int extra field in {@link #FILTER_CONTACTS_ACTION}
183054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * intents to supply the text on which to filter.
183154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
1832534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
1833dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar            public static final String FILTER_TEXT_EXTRA_KEY =
1834dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar                    ContactsContract.Intents.UI.FILTER_TEXT_EXTRA_KEY;
183554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        }
183654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
183754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        /**
183854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * Convenience class that contains string constants used
183954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         * to create contact {@link android.content.Intent Intents}.
184054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project         */
1841534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey        @Deprecated
184254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        public static final class Insert {
1843534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
1844534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            public Insert() {
1845534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            }
1846534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey
184754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /** The action code to use when adding a contact */
1848534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
1849dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar            public static final String ACTION = ContactsContract.Intents.Insert.ACTION;
1850534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey
185154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
185254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * If present, forces a bypass of quick insert mode.
185354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
1854534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
1855dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar            public static final String FULL_MODE = ContactsContract.Intents.Insert.FULL_MODE;
1856534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey
185754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
185854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * The extra field for the contact name.
185954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * <P>Type: String</P>
186054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
1861534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
1862dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar            public static final String NAME = ContactsContract.Intents.Insert.NAME;
186354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
186454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
1865b798689749c64baba81f02e10cf2157c747d6b46The Android Open Source Project             * The extra field for the contact phonetic name.
1866b798689749c64baba81f02e10cf2157c747d6b46The Android Open Source Project             * <P>Type: String</P>
1867b798689749c64baba81f02e10cf2157c747d6b46The Android Open Source Project             */
1868534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
1869dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar            public static final String PHONETIC_NAME =
1870dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar                    ContactsContract.Intents.Insert.PHONETIC_NAME;
1871b798689749c64baba81f02e10cf2157c747d6b46The Android Open Source Project
1872b798689749c64baba81f02e10cf2157c747d6b46The Android Open Source Project            /**
187354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * The extra field for the contact company.
187454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * <P>Type: String</P>
187554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
1876534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
1877dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar            public static final String COMPANY = ContactsContract.Intents.Insert.COMPANY;
187854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
187954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
188054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * The extra field for the contact job title.
188154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * <P>Type: String</P>
188254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
1883534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
1884dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar            public static final String JOB_TITLE = ContactsContract.Intents.Insert.JOB_TITLE;
188554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
188654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
188754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * The extra field for the contact notes.
188854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * <P>Type: String</P>
188954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
1890534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
1891dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar            public static final String NOTES = ContactsContract.Intents.Insert.NOTES;
189254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
189354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
189454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * The extra field for the contact phone number.
189554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * <P>Type: String</P>
189654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
1897534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
1898dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar            public static final String PHONE = ContactsContract.Intents.Insert.PHONE;
189954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
190054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
190154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * The extra field for the contact phone number type.
190254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * <P>Type: Either an integer value from {@link android.provider.Contacts.PhonesColumns PhonesColumns},
1903b798689749c64baba81f02e10cf2157c747d6b46The Android Open Source Project             *  or a string specifying a custom label.</P>
190454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
1905534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
1906dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar            public static final String PHONE_TYPE = ContactsContract.Intents.Insert.PHONE_TYPE;
190754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
190854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
190954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * The extra field for the phone isprimary flag.
191054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * <P>Type: boolean</P>
191154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
1912534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
1913dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar            public static final String PHONE_ISPRIMARY =
1914dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar                    ContactsContract.Intents.Insert.PHONE_ISPRIMARY;
191554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
191654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
1917f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project             * The extra field for an optional second contact phone number.
1918f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project             * <P>Type: String</P>
1919f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project             */
1920534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
1921dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar            public static final String SECONDARY_PHONE =
1922dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar                    ContactsContract.Intents.Insert.SECONDARY_PHONE;
1923f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project
1924f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project            /**
1925f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project             * The extra field for an optional second contact phone number type.
1926f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project             * <P>Type: Either an integer value from {@link android.provider.Contacts.PhonesColumns PhonesColumns},
1927b798689749c64baba81f02e10cf2157c747d6b46The Android Open Source Project             *  or a string specifying a custom label.</P>
1928f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project             */
1929534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
1930dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar            public static final String SECONDARY_PHONE_TYPE =
1931dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar                    ContactsContract.Intents.Insert.SECONDARY_PHONE_TYPE;
1932f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project
1933f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project            /**
1934f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project             * The extra field for an optional third contact phone number.
1935f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project             * <P>Type: String</P>
1936f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project             */
1937534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
1938dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar            public static final String TERTIARY_PHONE =
1939dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar                    ContactsContract.Intents.Insert.TERTIARY_PHONE;
1940f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project
1941f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project            /**
1942f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project             * The extra field for an optional third contact phone number type.
1943f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project             * <P>Type: Either an integer value from {@link android.provider.Contacts.PhonesColumns PhonesColumns},
1944b798689749c64baba81f02e10cf2157c747d6b46The Android Open Source Project             *  or a string specifying a custom label.</P>
1945f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project             */
1946534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
1947dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar            public static final String TERTIARY_PHONE_TYPE =
1948dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar                    ContactsContract.Intents.Insert.TERTIARY_PHONE_TYPE;
1949f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project
1950f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project            /**
195154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * The extra field for the contact email address.
195254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * <P>Type: String</P>
195354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
1954534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
1955dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar            public static final String EMAIL = ContactsContract.Intents.Insert.EMAIL;
195654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
195754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
195854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * The extra field for the contact email type.
195954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * <P>Type: Either an integer value from {@link android.provider.Contacts.ContactMethodsColumns ContactMethodsColumns}
1960b798689749c64baba81f02e10cf2157c747d6b46The Android Open Source Project             *  or a string specifying a custom label.</P>
196154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
1962534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
1963dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar            public static final String EMAIL_TYPE = ContactsContract.Intents.Insert.EMAIL_TYPE;
196454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
196554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
196654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * The extra field for the email isprimary flag.
196754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * <P>Type: boolean</P>
196854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
1969534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
1970dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar            public static final String EMAIL_ISPRIMARY =
1971dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar                    ContactsContract.Intents.Insert.EMAIL_ISPRIMARY;
197254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
197354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
1974f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project             * The extra field for an optional second contact email address.
1975f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project             * <P>Type: String</P>
1976f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project             */
1977534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
1978dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar            public static final String SECONDARY_EMAIL =
1979dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar                    ContactsContract.Intents.Insert.SECONDARY_EMAIL;
1980f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project
1981f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project            /**
1982f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project             * The extra field for an optional second contact email type.
1983f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project             * <P>Type: Either an integer value from {@link android.provider.Contacts.ContactMethodsColumns ContactMethodsColumns}
1984b798689749c64baba81f02e10cf2157c747d6b46The Android Open Source Project             *  or a string specifying a custom label.</P>
1985f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project             */
1986534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
1987dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar            public static final String SECONDARY_EMAIL_TYPE =
1988dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar                    ContactsContract.Intents.Insert.SECONDARY_EMAIL_TYPE;
1989f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project
1990f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project            /**
1991f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project             * The extra field for an optional third contact email address.
1992f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project             * <P>Type: String</P>
1993f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project             */
1994534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
1995dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar            public static final String TERTIARY_EMAIL =
1996dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar                    ContactsContract.Intents.Insert.TERTIARY_EMAIL;
1997f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project
1998f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project            /**
1999f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project             * The extra field for an optional third contact email type.
2000f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project             * <P>Type: Either an integer value from {@link android.provider.Contacts.ContactMethodsColumns ContactMethodsColumns}
2001b798689749c64baba81f02e10cf2157c747d6b46The Android Open Source Project             *  or a string specifying a custom label.</P>
2002f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project             */
2003534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
2004dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar            public static final String TERTIARY_EMAIL_TYPE =
2005dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar                    ContactsContract.Intents.Insert.TERTIARY_EMAIL_TYPE;
2006f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project
2007f013e1afd1e68af5e3b868c26a653bbfb39538f8The Android Open Source Project            /**
200854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * The extra field for the contact postal address.
200954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * <P>Type: String</P>
201054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
2011534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
2012dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar            public static final String POSTAL = ContactsContract.Intents.Insert.POSTAL;
201354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
201454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
201554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * The extra field for the contact postal address type.
201654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * <P>Type: Either an integer value from {@link android.provider.Contacts.ContactMethodsColumns ContactMethodsColumns}
2017b798689749c64baba81f02e10cf2157c747d6b46The Android Open Source Project             *  or a string specifying a custom label.</P>
201854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
2019534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
2020dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar            public static final String POSTAL_TYPE = ContactsContract.Intents.Insert.POSTAL_TYPE;
202154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
202254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
202354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * The extra field for the postal isprimary flag.
202454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * <P>Type: boolean</P>
202554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
2026534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
2027dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar            public static final String POSTAL_ISPRIMARY = ContactsContract.Intents.Insert.POSTAL_ISPRIMARY;
202854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
202954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
203054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * The extra field for an IM handle.
203154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * <P>Type: String</P>
203254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
2033534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
2034dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar            public static final String IM_HANDLE = ContactsContract.Intents.Insert.IM_HANDLE;
203554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
203654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
203754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * The extra field for the IM protocol
203854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * <P>Type: the result of {@link Contacts.ContactMethods#encodePredefinedImProtocol}
203954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * or {@link Contacts.ContactMethods#encodeCustomImProtocol}.</P>
204054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
2041534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
2042dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar            public static final String IM_PROTOCOL = ContactsContract.Intents.Insert.IM_PROTOCOL;
204354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project
204454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project            /**
204554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * The extra field for the IM isprimary flag.
204654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             * <P>Type: boolean</P>
204754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project             */
2048534aa012b5063abeaa36b9ade69851add8b7a48fJeff Sharkey            @Deprecated
2049dc2da5fd922fc8de0ffcb22df3622b57ed777732Evan Millar            public static final String IM_ISPRIMARY = ContactsContract.Intents.Insert.IM_ISPRIMARY;
205054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project        }
205154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project    }
205254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project}
2053