1b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio/*
2b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio * Copyright (C) 2014 The Android Open Source Project
3b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio *
4b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio * Licensed under the Apache License, Version 2.0 (the "License");
5b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio * you may not use this file except in compliance with the License.
6b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio * You may obtain a copy of the License at
7b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio *
8b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio *      http://www.apache.org/licenses/LICENSE-2.0
9b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio *
10b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio * Unless required by applicable law or agreed to in writing, software
11b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio * distributed under the License is distributed on an "AS IS" BASIS,
12b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio * See the License for the specific language governing permissions and
14b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio * limitations under the License.
15b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio */
16b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio
17b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Megliopackage android.provider;
18b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio
1927e13347344276f337d4289e3197f8ab7d5c74d2Fabrice Di Meglioimport android.annotation.SystemApi;
20b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglioimport android.content.ContentResolver;
21b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio
22b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio/**
23b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio * Describe the contract for an Indexable data.
24b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio *
25b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio * @hide
26b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio */
2727e13347344276f337d4289e3197f8ab7d5c74d2Fabrice Di Meglio@SystemApi
28b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Megliopublic class SearchIndexablesContract {
29b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio
30b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio    /**
31b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio     * Intent action used to identify {@link SearchIndexablesProvider}
32b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio     * instances. This is used in the {@code <intent-filter>} of a {@code <provider>}.
33b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio     */
34b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio    public static final String PROVIDER_INTERFACE =
35b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio            "android.content.action.SEARCH_INDEXABLES_PROVIDER";
36b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio
37b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio    private static final String SETTINGS = "settings";
38b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio
39b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio    /**
4097babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio     * Indexable reference names.
41b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio     */
42b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio    public static final String INDEXABLES_XML_RES = "indexables_xml_res";
43b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio
44b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio    /**
45b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio     * ContentProvider path for indexable xml resources.
46b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio     */
47b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio    public static final String INDEXABLES_XML_RES_PATH = SETTINGS + "/" + INDEXABLES_XML_RES;
48b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio
49b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio    /**
5097babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio     * Indexable raw data names.
51b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio     */
52b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio    public static final String INDEXABLES_RAW = "indexables_raw";
53b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio
54b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio    /**
55b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio     * ContentProvider path for indexable raw data.
56b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio     */
57b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio    public static final String INDEXABLES_RAW_PATH = SETTINGS + "/" + INDEXABLES_RAW;
58b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio
59b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio    /**
6097babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio     * Non indexable data keys.
6197babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio     */
6297babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio    public static final String NON_INDEXABLES_KEYS = "non_indexables_key";
6397babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio
6497babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio    /**
6597babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio     * ContentProvider path for non indexable data keys.
6697babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio     */
6797babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio    public static final String NON_INDEXABLES_KEYS_PATH = SETTINGS + "/" + NON_INDEXABLES_KEYS;
6897babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio
6997babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio    /**
7083c0fdd10090844f9f241111419d956d37bc79fbFabrice Di Meglio     * Indexable xml resources columns.
71b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio     */
72b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio    public static final String[] INDEXABLES_XML_RES_COLUMNS = new String[] {
731ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio            XmlResource.COLUMN_RANK,                    // 0
741ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio            XmlResource.COLUMN_XML_RESID,               // 1
751ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio            XmlResource.COLUMN_CLASS_NAME,              // 2
761ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio            XmlResource.COLUMN_ICON_RESID,              // 3
771ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio            XmlResource.COLUMN_INTENT_ACTION,           // 4
781ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio            XmlResource.COLUMN_INTENT_TARGET_PACKAGE,   // 5
791ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio            XmlResource.COLUMN_INTENT_TARGET_CLASS      // 6
80b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio    };
81b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio
82b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio    /**
8383c0fdd10090844f9f241111419d956d37bc79fbFabrice Di Meglio     * Indexable xml resources columns indices.
841ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio     */
851ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio    public static final int COLUMN_INDEX_XML_RES_RANK = 0;
861ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio    public static final int COLUMN_INDEX_XML_RES_RESID = 1;
871ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio    public static final int COLUMN_INDEX_XML_RES_CLASS_NAME = 2;
881ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio    public static final int COLUMN_INDEX_XML_RES_ICON_RESID = 3;
891ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio    public static final int COLUMN_INDEX_XML_RES_INTENT_ACTION = 4;
901ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio    public static final int COLUMN_INDEX_XML_RES_INTENT_TARGET_PACKAGE = 5;
911ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio    public static final int COLUMN_INDEX_XML_RES_INTENT_TARGET_CLASS = 6;
921ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio
931ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio    /**
9483c0fdd10090844f9f241111419d956d37bc79fbFabrice Di Meglio     * Indexable raw data columns.
95b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio     */
96b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio    public static final String[] INDEXABLES_RAW_COLUMNS = new String[] {
971ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio            RawData.COLUMN_RANK,                    // 0
981ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio            RawData.COLUMN_TITLE,                   // 1
991ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio            RawData.COLUMN_SUMMARY_ON,              // 2
1001ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio            RawData.COLUMN_SUMMARY_OFF,             // 3
1011ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio            RawData.COLUMN_ENTRIES,                 // 4
1021ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio            RawData.COLUMN_KEYWORDS,                // 5
1031ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio            RawData.COLUMN_SCREEN_TITLE,            // 6
1041ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio            RawData.COLUMN_CLASS_NAME,              // 7
1051ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio            RawData.COLUMN_ICON_RESID,              // 8
1061ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio            RawData.COLUMN_INTENT_ACTION,           // 9
1071ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio            RawData.COLUMN_INTENT_TARGET_PACKAGE,   // 10
1081ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio            RawData.COLUMN_INTENT_TARGET_CLASS,     // 11
1091ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio            RawData.COLUMN_KEY,                     // 12
11083c0fdd10090844f9f241111419d956d37bc79fbFabrice Di Meglio            RawData.COLUMN_USER_ID,                 // 13
111af534b111ccdb8c7c963ed49438332a7a05dcedcMatthew Fritze            RawData.PAYLOAD_TYPE,                   // 14
112af534b111ccdb8c7c963ed49438332a7a05dcedcMatthew Fritze            RawData.PAYLOAD                         // 15
113b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio    };
114b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio
115b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio    /**
11683c0fdd10090844f9f241111419d956d37bc79fbFabrice Di Meglio     * Indexable raw data columns indices.
1171ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio     */
1181ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio    public static final int COLUMN_INDEX_RAW_RANK = 0;
1191ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio    public static final int COLUMN_INDEX_RAW_TITLE = 1;
1201ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio    public static final int COLUMN_INDEX_RAW_SUMMARY_ON = 2;
1211ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio    public static final int COLUMN_INDEX_RAW_SUMMARY_OFF = 3;
1221ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio    public static final int COLUMN_INDEX_RAW_ENTRIES = 4;
1231ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio    public static final int COLUMN_INDEX_RAW_KEYWORDS = 5;
1241ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio    public static final int COLUMN_INDEX_RAW_SCREEN_TITLE = 6;
1251ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio    public static final int COLUMN_INDEX_RAW_CLASS_NAME = 7;
1261ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio    public static final int COLUMN_INDEX_RAW_ICON_RESID = 8;
1271ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio    public static final int COLUMN_INDEX_RAW_INTENT_ACTION = 9;
1281ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio    public static final int COLUMN_INDEX_RAW_INTENT_TARGET_PACKAGE = 10;
1291ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio    public static final int COLUMN_INDEX_RAW_INTENT_TARGET_CLASS = 11;
1301ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio    public static final int COLUMN_INDEX_RAW_KEY = 12;
13183c0fdd10090844f9f241111419d956d37bc79fbFabrice Di Meglio    public static final int COLUMN_INDEX_RAW_USER_ID = 13;
132af534b111ccdb8c7c963ed49438332a7a05dcedcMatthew Fritze    /**
133af534b111ccdb8c7c963ed49438332a7a05dcedcMatthew Fritze     * @hide
134af534b111ccdb8c7c963ed49438332a7a05dcedcMatthew Fritze     */
135af534b111ccdb8c7c963ed49438332a7a05dcedcMatthew Fritze    public static final int COLUMN_INDEX_RAW_PAYLOAD_TYPE = 14;
136af534b111ccdb8c7c963ed49438332a7a05dcedcMatthew Fritze    /**
137af534b111ccdb8c7c963ed49438332a7a05dcedcMatthew Fritze     * @hide
138af534b111ccdb8c7c963ed49438332a7a05dcedcMatthew Fritze     */
139af534b111ccdb8c7c963ed49438332a7a05dcedcMatthew Fritze    public static final int COLUMN_INDEX_RAW_PAYLOAD = 15;
1401ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio
14197babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio    /**
14283c0fdd10090844f9f241111419d956d37bc79fbFabrice Di Meglio     * Indexable raw data columns.
14397babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio     */
14497babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio    public static final String[] NON_INDEXABLES_KEYS_COLUMNS = new String[] {
14597babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio            NonIndexableKey.COLUMN_KEY_VALUE      // 0
14697babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio    };
14797babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio
14897babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio    /**
14983c0fdd10090844f9f241111419d956d37bc79fbFabrice Di Meglio     * Non indexable data keys columns indices.
15097babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio     */
15197babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio    public static final int COLUMN_INDEX_NON_INDEXABLE_KEYS_KEY_VALUE = 0;
1521ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio
1531ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio    /**
154b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio     * Constants related to a {@link SearchIndexableResource}.
155b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio     *
156b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio     * This is a description of
157b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio     */
158b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio    public static final class XmlResource extends BaseColumns {
159b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio        private XmlResource() {
160b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio        }
161b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio
162b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio        public static final String MIME_TYPE = ContentResolver.CURSOR_DIR_BASE_TYPE +
163b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio                "/" + INDEXABLES_XML_RES;
164b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio
165b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio        /**
166b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio         * XML resource ID for the {@link android.preference.PreferenceScreen} to load and index.
167b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio         */
168b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio        public static final String COLUMN_XML_RESID = "xmlResId";
169b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio    }
170b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio
171b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio    /**
172b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio     * Constants related to a {@link SearchIndexableData}.
173b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio     *
174b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio     * This is the raw data that is stored into an Index. This is related to
175b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio     * {@link android.preference.Preference} and its attributes like
176b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio     * {@link android.preference.Preference#getTitle()},
177b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio     * {@link android.preference.Preference#getSummary()}, etc.
178b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio     *
179b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio     */
180b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio    public static final class RawData extends BaseColumns {
181b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio        private RawData() {
182b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio        }
183b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio
184b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio        public static final String MIME_TYPE = ContentResolver.CURSOR_DIR_BASE_TYPE +
185b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio                "/" + INDEXABLES_RAW;
186b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio
187b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio        /**
188b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio         * Title's raw data.
189b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio         */
190b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio        public static final String COLUMN_TITLE = "title";
191b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio
192b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio        /**
19398274a9714dbfb5982c6e85152610c624e08d8c3Fabrice Di Meglio         * Summary's raw data when the data is "ON".
194b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio         */
19598274a9714dbfb5982c6e85152610c624e08d8c3Fabrice Di Meglio        public static final String COLUMN_SUMMARY_ON = "summaryOn";
19698274a9714dbfb5982c6e85152610c624e08d8c3Fabrice Di Meglio
19798274a9714dbfb5982c6e85152610c624e08d8c3Fabrice Di Meglio        /**
19898274a9714dbfb5982c6e85152610c624e08d8c3Fabrice Di Meglio         * Summary's raw data when the data is "OFF".
19998274a9714dbfb5982c6e85152610c624e08d8c3Fabrice Di Meglio         */
20098274a9714dbfb5982c6e85152610c624e08d8c3Fabrice Di Meglio        public static final String COLUMN_SUMMARY_OFF = "summaryOff";
201b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio
202b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio        /**
203a8e8f3f647d6d55052d0faef53fc1eeb432f5bd6Fabrice Di Meglio         * Entries associated with the raw data (when the data can have several values).
2041ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio         */
2051ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio        public static final String COLUMN_ENTRIES = "entries";
2061ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio
2071ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio        /**
208b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio         * Keywords' raw data.
209b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio         */
210b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio        public static final String COLUMN_KEYWORDS = "keywords";
211b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio
212b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio        /**
213a8e8f3f647d6d55052d0faef53fc1eeb432f5bd6Fabrice Di Meglio         * Fragment or Activity title associated with the raw data.
214b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio         */
215b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio        public static final String COLUMN_SCREEN_TITLE = "screenTitle";
2161ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio
2171ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio        /**
2181ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio         * Key associated with the raw data. The key needs to be unique.
2191ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio         */
2201ecde22134080d7befdd0a01f356c6c47cb1e967Fabrice Di Meglio        public static final String COLUMN_KEY = "key";
22183c0fdd10090844f9f241111419d956d37bc79fbFabrice Di Meglio
22283c0fdd10090844f9f241111419d956d37bc79fbFabrice Di Meglio        /**
22383c0fdd10090844f9f241111419d956d37bc79fbFabrice Di Meglio         * UserId associated with the raw data.
22483c0fdd10090844f9f241111419d956d37bc79fbFabrice Di Meglio         */
22583c0fdd10090844f9f241111419d956d37bc79fbFabrice Di Meglio        public static final String COLUMN_USER_ID = "user_id";
226af534b111ccdb8c7c963ed49438332a7a05dcedcMatthew Fritze
227af534b111ccdb8c7c963ed49438332a7a05dcedcMatthew Fritze        /**
228af534b111ccdb8c7c963ed49438332a7a05dcedcMatthew Fritze         * Identifier for the Payload object type.
229af534b111ccdb8c7c963ed49438332a7a05dcedcMatthew Fritze         * @hide
230af534b111ccdb8c7c963ed49438332a7a05dcedcMatthew Fritze         */
231af534b111ccdb8c7c963ed49438332a7a05dcedcMatthew Fritze        public static final String PAYLOAD_TYPE = "payload_type";
232af534b111ccdb8c7c963ed49438332a7a05dcedcMatthew Fritze
233af534b111ccdb8c7c963ed49438332a7a05dcedcMatthew Fritze        /**
234af534b111ccdb8c7c963ed49438332a7a05dcedcMatthew Fritze         * Generic payload for improving Search result expressiveness.
235af534b111ccdb8c7c963ed49438332a7a05dcedcMatthew Fritze         * @hide
236af534b111ccdb8c7c963ed49438332a7a05dcedcMatthew Fritze         */
237af534b111ccdb8c7c963ed49438332a7a05dcedcMatthew Fritze        public static final String PAYLOAD = "payload";
238b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio    }
239b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio
240b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio    /**
24197babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio     * Constants related to a {@link SearchIndexableResource} and {@link SearchIndexableData}.
24297babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio     *
24397babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio     * This is a description of a data (thru its unique key) that cannot be indexed.
24497babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio     */
24597babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio    public static final class NonIndexableKey extends BaseColumns {
24697babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio        private NonIndexableKey() {
24797babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio        }
24897babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio
24997babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio        public static final String MIME_TYPE = ContentResolver.CURSOR_DIR_BASE_TYPE +
25097babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio                "/" + NON_INDEXABLES_KEYS;
25197babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio
25297babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio        /**
25397babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio         * Key for the non indexable data.
25497babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio         */
25597babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio        public static final String COLUMN_KEY_VALUE = "key";
25697babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio    }
25797babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio
25897babb1e9a2b859ff01a633edad8e2ac5b02ab8aFabrice Di Meglio    /**
259b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio     * The base columns.
260b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio     */
261b67cd46436d3ee88ee42820fca9a8fe3cd2dc497Ying Wang    public static class BaseColumns {
262b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio        private BaseColumns() {
263b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio        }
264b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio
265b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio        /**
266b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio         * Rank of the data. This is an integer used for ranking the search results. This is
267b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio         * application specific.
268b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio         */
269b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio        public static final String COLUMN_RANK = "rank";
270b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio
271b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio        /**
272b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio         * Class name associated with the data (usually a Fragment class name).
273b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio         */
274b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio        public static final String COLUMN_CLASS_NAME = "className";
275b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio
276b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio        /**
277b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio         * Icon resource ID for the data.
278b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio         */
279b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio        public static final String COLUMN_ICON_RESID = "iconResId";
280b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio
281b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio        /**
282b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio         * Intent action associated with the data.
283b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio         */
284b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio        public static final String COLUMN_INTENT_ACTION = "intentAction";
285b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio
286b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio        /**
287b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio         * Intent target package associated with the data.
288b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio         */
289b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio        public static final String COLUMN_INTENT_TARGET_PACKAGE = "intentTargetPackage";
290b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio
291b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio        /**
292b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio         * Intent target class associated with the data.
293b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio         */
294b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio        public static final String COLUMN_INTENT_TARGET_CLASS = "intentTargetClass";
295b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio    }
296b49995d4d997bf086c2f3214ca410b2a30861b13Fabrice Di Meglio}
297