1e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton/* 2e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * Copyright (C) 2010 The Android Open Source Project 3e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * 4e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * Licensed under the Apache License, Version 2.0 (the "License"); 5e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * you may not use this file except in compliance with the License. 6e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * You may obtain a copy of the License at 7e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * 8e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * http://www.apache.org/licenses/LICENSE-2.0 9e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * 10e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * Unless required by applicable law or agreed to in writing, software 11e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * distributed under the License is distributed on an "AS IS" BASIS, 12e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * See the License for the specific language governing permissions and 14e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * limitations under the License 15e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 16e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 17e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamiltonpackage android.provider; 18e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 19e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamiltonimport android.accounts.Account; 20e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamiltonimport android.content.ContentProviderClient; 21e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamiltonimport android.content.ContentProviderOperation; 22e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamiltonimport android.content.ContentResolver; 23e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamiltonimport android.content.ContentUris; 24a2f926607514205adff28f19546bce21a300fc8dJeff Hamiltonimport android.content.ContentValues; 25a2f926607514205adff28f19546bce21a300fc8dJeff Hamiltonimport android.content.Context; 26a2f926607514205adff28f19546bce21a300fc8dJeff Hamiltonimport android.database.Cursor; 27e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamiltonimport android.graphics.BitmapFactory; 28e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamiltonimport android.net.Uri; 29e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamiltonimport android.os.RemoteException; 30e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamiltonimport android.util.Pair; 31e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 32e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton/** 33b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * <p> 34b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * The contract between the browser provider and applications. Contains the definition 35b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * for the supported URIS and columns. 36b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * </p> 37b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * <h3>Overview</h3> 38b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * <p> 39b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * BrowserContract defines an database of browser-related information which are bookmarks, 40b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * history, images and the mapping between the image and URL. 41b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * </p> 42e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * @hide 43e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 44e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamiltonpublic class BrowserContract { 45e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** The authority for the browser provider */ 46e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final String AUTHORITY = "com.android.browser"; 47e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 48e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** A content:// style uri to the authority for the browser provider */ 49e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final Uri AUTHORITY_URI = Uri.parse("content://" + AUTHORITY); 50e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 51e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 52e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * An optional insert, update or delete URI parameter that allows the caller 53e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * to specify that it is a sync adapter. The default value is false. If true 54e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * the dirty flag is not automatically set and the "syncToNetwork" parameter 55e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * is set to false when calling 56e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * {@link ContentResolver#notifyChange(android.net.Uri, android.database.ContentObserver, boolean)}. 57b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * @hide 58e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 59e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final String CALLER_IS_SYNCADAPTER = "caller_is_syncadapter"; 60e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 61e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 624d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * A parameter for use when querying any table that allows specifying a limit on the number 634d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * of rows returned. 64b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * @hide 654d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton */ 664d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton public static final String PARAM_LIMIT = "limit"; 674d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton 684d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton /** 69e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * Generic columns for use by sync adapters. The specific functions of 70e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * these columns are private to the sync adapter. Other clients of the API 71e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * should not attempt to either read or write these columns. 72b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * 73b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * @hide 74e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 75e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton interface BaseSyncColumns { 76e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** Generic column for use by sync adapters. */ 77e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final String SYNC1 = "sync1"; 78e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** Generic column for use by sync adapters. */ 79e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final String SYNC2 = "sync2"; 80e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** Generic column for use by sync adapters. */ 81e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final String SYNC3 = "sync3"; 82e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** Generic column for use by sync adapters. */ 83e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final String SYNC4 = "sync4"; 84e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** Generic column for use by sync adapters. */ 85e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final String SYNC5 = "sync5"; 86e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton } 87e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 88e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 8998bfcfb944190e6329dad233f2bf80e404e125b3Jeff Hamilton * Convenience definitions for use in implementing chrome bookmarks sync in the Bookmarks table. 90b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * @hide 9198bfcfb944190e6329dad233f2bf80e404e125b3Jeff Hamilton */ 9298bfcfb944190e6329dad233f2bf80e404e125b3Jeff Hamilton public static final class ChromeSyncColumns { 9398bfcfb944190e6329dad233f2bf80e404e125b3Jeff Hamilton private ChromeSyncColumns() {} 9498bfcfb944190e6329dad233f2bf80e404e125b3Jeff Hamilton 9598bfcfb944190e6329dad233f2bf80e404e125b3Jeff Hamilton /** The server unique ID for an item */ 9698bfcfb944190e6329dad233f2bf80e404e125b3Jeff Hamilton public static final String SERVER_UNIQUE = BaseSyncColumns.SYNC3; 9798bfcfb944190e6329dad233f2bf80e404e125b3Jeff Hamilton 9898bfcfb944190e6329dad233f2bf80e404e125b3Jeff Hamilton public static final String FOLDER_NAME_ROOT = "google_chrome"; 9998bfcfb944190e6329dad233f2bf80e404e125b3Jeff Hamilton public static final String FOLDER_NAME_BOOKMARKS = "google_chrome_bookmarks"; 10098bfcfb944190e6329dad233f2bf80e404e125b3Jeff Hamilton public static final String FOLDER_NAME_BOOKMARKS_BAR = "bookmark_bar"; 10198bfcfb944190e6329dad233f2bf80e404e125b3Jeff Hamilton public static final String FOLDER_NAME_OTHER_BOOKMARKS = "other_bookmarks"; 10278a99cea0d06eac8e9251043977497c092766d48Cyrus Master 10398bfcfb944190e6329dad233f2bf80e404e125b3Jeff Hamilton /** The client unique ID for an item */ 10498bfcfb944190e6329dad233f2bf80e404e125b3Jeff Hamilton public static final String CLIENT_UNIQUE = BaseSyncColumns.SYNC4; 10598bfcfb944190e6329dad233f2bf80e404e125b3Jeff Hamilton } 10678a99cea0d06eac8e9251043977497c092766d48Cyrus Master 10798bfcfb944190e6329dad233f2bf80e404e125b3Jeff Hamilton /** 108e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * Columns that appear when each row of a table belongs to a specific 109e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * account, including sync information that an account may need. 110b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * @hide 111e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 112e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton interface SyncColumns extends BaseSyncColumns { 113e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 114e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * The name of the account instance to which this row belongs, which when paired with 115e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * {@link #ACCOUNT_TYPE} identifies a specific account. 116e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * <P>Type: TEXT</P> 117e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 118e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final String ACCOUNT_NAME = "account_name"; 119e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 120e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 121e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * The type of account to which this row belongs, which when paired with 122e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * {@link #ACCOUNT_NAME} identifies a specific account. 123e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * <P>Type: TEXT</P> 124e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 125e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final String ACCOUNT_TYPE = "account_type"; 126e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 127e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 128e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * String that uniquely identifies this row to its source account. 129e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * <P>Type: TEXT</P> 130e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 131e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final String SOURCE_ID = "sourceid"; 132e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 133e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 134e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * Version number that is updated whenever this row or its related data 135e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * changes. 136e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * <P>Type: INTEGER</P> 137e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 138e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final String VERSION = "version"; 139e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 140e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 141e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * Flag indicating that {@link #VERSION} has changed, and this row needs 142e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * to be synchronized by its owning account. 143e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * <P>Type: INTEGER (boolean)</P> 144e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 145e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final String DIRTY = "dirty"; 14678a99cea0d06eac8e9251043977497c092766d48Cyrus Master 14778a99cea0d06eac8e9251043977497c092766d48Cyrus Master /** 14878a99cea0d06eac8e9251043977497c092766d48Cyrus Master * The time that this row was last modified by a client (msecs since the epoch). 14978a99cea0d06eac8e9251043977497c092766d48Cyrus Master * <P>Type: INTEGER</P> 15078a99cea0d06eac8e9251043977497c092766d48Cyrus Master */ 15178a99cea0d06eac8e9251043977497c092766d48Cyrus Master public static final String DATE_MODIFIED = "modified"; 152e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton } 153e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 1544d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton interface CommonColumns { 155e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 156e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * The unique ID for a row. 157e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * <P>Type: INTEGER (long)</P> 158e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 159e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final String _ID = "_id"; 160e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 161e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 162b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * This column is valid when the row is a URL. The history table's URL 163b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * can not be updated. 164e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * <P>Type: TEXT (URL)</P> 165e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 166e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final String URL = "url"; 167e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 168e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 169b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * The user visible title. 170e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * <P>Type: TEXT</P> 171e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 172e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final String TITLE = "title"; 173e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 174e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 1754d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * The time that this row was created on its originating client (msecs 1764d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * since the epoch). 1774d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * <P>Type: INTEGER</P> 178b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * @hide 1794d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton */ 1804d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton public static final String DATE_CREATED = "created"; 1814d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton } 1824d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton 183b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai /** 184b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * @hide 185b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai */ 1864d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton interface ImageColumns { 1874d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton /** 188e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * The favicon of the bookmark, may be NULL. 189e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * Must decode via {@link BitmapFactory#decodeByteArray}. 190e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * <p>Type: BLOB (image)</p> 191e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 192e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final String FAVICON = "favicon"; 193e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 194e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 195e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * A thumbnail of the page,may be NULL. 196e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * Must decode via {@link BitmapFactory#decodeByteArray}. 197e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * <p>Type: BLOB (image)</p> 198e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 199e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final String THUMBNAIL = "thumbnail"; 200e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 201e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 202e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * The touch icon for the web page, may be NULL. 203e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * Must decode via {@link BitmapFactory#decodeByteArray}. 204e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * <p>Type: BLOB (image)</p> 205e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 206e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final String TOUCH_ICON = "touch_icon"; 207e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton } 208e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 2094d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton interface HistoryColumns { 2104d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton /** 2114d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * The date the item was last visited, in milliseconds since the epoch. 2124d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * <p>Type: INTEGER (date in milliseconds since January 1, 1970)</p> 2134d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton */ 2144d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton public static final String DATE_LAST_VISITED = "date"; 2154d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton 2164d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton /** 2174d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * The number of times the item has been visited. 2184d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * <p>Type: INTEGER</p> 2194d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton */ 2204d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton public static final String VISITS = "visits"; 2214d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton 222b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai /** 223b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * @hide 224b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai */ 2254d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton public static final String USER_ENTERED = "user_entered"; 2264d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton } 2274d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton 228b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai interface ImageMappingColumns { 229b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai /** 230b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * The ID of the image in Images. One image can map onto the multiple URLs. 231b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * <P>Type: INTEGER (long)</P> 232b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai */ 233b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai public static final String IMAGE_ID = "image_id"; 234b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai 235b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai /** 236b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * The URL. The URL can map onto the different type of images. 237b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * <P>Type: TEXT (URL)</P> 238b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai */ 239b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai public static final String URL = "url"; 240b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai } 241b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai 242e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 243e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * The bookmarks table, which holds the user's browser bookmarks. 244e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 2454d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton public static final class Bookmarks implements CommonColumns, ImageColumns, SyncColumns { 246e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 247e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * This utility class cannot be instantiated. 248e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 249e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton private Bookmarks() {} 250e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 251e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 252e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * The content:// style URI for this table 253e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 254e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final Uri CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI, "bookmarks"); 255e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 256e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 257b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * Used in {@link Bookmarks#TYPE} column and indicats the row is a bookmark. 258b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai */ 259b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai public static final int BOOKMARK_TYPE_BOOKMARK = 1; 260b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai 261b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai /** 262b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * Used in {@link Bookmarks#TYPE} column and indicats the row is a folder. 263b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai */ 264b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai public static final int BOOKMARK_TYPE_FOLDER = 2; 265b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai 266b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai /** 267b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * Used in {@link Bookmarks#TYPE} column and indicats the row is the bookmark bar folder. 268b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai */ 269b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai public static final int BOOKMARK_TYPE_BOOKMARK_BAR_FOLDER = 3; 270b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai 271b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai /** 272b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * Used in {@link Bookmarks#TYPE} column and indicats the row is other folder and 273b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai */ 274b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai public static final int BOOKMARK_TYPE_OTHER_FOLDER = 4; 275b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai 276b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai /** 277b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * Used in {@link Bookmarks#TYPE} column and indicats the row is other folder, . 278b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai */ 279b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai public static final int BOOKMARK_TYPE_MOBILE_FOLDER = 5; 280b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai 281b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai /** 282b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * The type of the item. 283b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * <P>Type: INTEGER</P> 284b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * <p>Allowed values are:</p> 285b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * <p> 286b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * <ul> 287b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * <li>{@link #BOOKMARK_TYPE_BOOKMARK}</li> 288b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * <li>{@link #BOOKMARK_TYPE_FOLDER}</li> 289b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * <li>{@link #BOOKMARK_TYPE_BOOKMARK_BAR_FOLDER}</li> 290b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * <li>{@link #BOOKMARK_TYPE_OTHER_FOLDER}</li> 291b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * <li>{@link #BOOKMARK_TYPE_MOBILE_FOLDER}</li> 292b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * </ul> 293b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * </p> 294b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * <p> The TYPE_BOOKMARK_BAR_FOLDER, TYPE_OTHER_FOLDER and TYPE_MOBILE_FOLDER 295b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * can not be updated or deleted.</p> 296b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai */ 297b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai public static final String TYPE = "type"; 298b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai 299b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai /** 300e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * The content:// style URI for the default folder 301b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * @hide 302e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 303e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final Uri CONTENT_URI_DEFAULT_FOLDER = 304e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton Uri.withAppendedPath(CONTENT_URI, "folder"); 305e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 306e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 3074d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * Query parameter used to specify an account name 308b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * @hide 3094d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton */ 3104d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton public static final String PARAM_ACCOUNT_NAME = "acct_name"; 3114d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton 3124d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton /** 3134d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * Query parameter used to specify an account type 314b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * @hide 3154d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton */ 3164d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton public static final String PARAM_ACCOUNT_TYPE = "acct_type"; 3174d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton 3184d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton /** 319e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * Builds a URI that points to a specific folder. 320e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * @param folderId the ID of the folder to point to 321b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * @hide 322e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 323e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final Uri buildFolderUri(long folderId) { 324e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton return ContentUris.withAppendedId(CONTENT_URI_DEFAULT_FOLDER, folderId); 325e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton } 326e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 327e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 328e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * The MIME type of {@link #CONTENT_URI} providing a directory of bookmarks. 329e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 330e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final String CONTENT_TYPE = "vnd.android.cursor.dir/bookmark"; 331e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 332e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 333e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * The MIME type of a {@link #CONTENT_URI} of a single bookmark. 334e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 335e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/bookmark"; 336e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 337e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 338e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * Query parameter to use if you want to see deleted bookmarks that are still 339e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * around on the device and haven't been synced yet. 340e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * @see #IS_DELETED 341b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * @hide 342e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 343e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final String QUERY_PARAMETER_SHOW_DELETED = "show_deleted"; 344e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 345e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 346e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * Flag indicating if an item is a folder or bookmark. Non-zero values indicate 347e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * a folder and zero indicates a bookmark. 348e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * <P>Type: INTEGER (boolean)</P> 349b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * @hide 350e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 351e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final String IS_FOLDER = "folder"; 352e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 353e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 354e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * The ID of the parent folder. ID 0 is the root folder. 355e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * <P>Type: INTEGER (reference to item in the same table)</P> 356e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 357e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final String PARENT = "parent"; 358e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 359e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 3604d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * The source ID for an item's parent. Read-only. 3614d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * @see #PARENT 362b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * @hide 3634d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton */ 3644d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton public static final String PARENT_SOURCE_ID = "parent_source"; 3654d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton 3664d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton /** 367e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * The position of the bookmark in relation to it's siblings that share the same 368e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * {@link #PARENT}. May be negative. 369e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * <P>Type: INTEGER</P> 370b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * @hide 371e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 372e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final String POSITION = "position"; 373e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 374e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 375e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * The item that the bookmark should be inserted after. 376e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * May be negative. 377e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * <P>Type: INTEGER</P> 378b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * @hide 379e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 380e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final String INSERT_AFTER = "insert_after"; 381e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 382e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 3834d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * The source ID for the item that the bookmark should be inserted after. Read-only. 3844d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * May be negative. 3854d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * <P>Type: INTEGER</P> 3864d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * @see #INSERT_AFTER 387b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * @hide 3884d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton */ 3894d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton public static final String INSERT_AFTER_SOURCE_ID = "insert_after_source"; 3904d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton 3914d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton /** 392e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * A flag to indicate if an item has been deleted. Queries will not return deleted 393e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * entries unless you add the {@link #QUERY_PARAMETER_SHOW_DELETED} query paramter 394e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * to the URI when performing your query. 395e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * <p>Type: INTEGER (non-zero if the item has been deleted, zero if it hasn't) 396e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * @see #QUERY_PARAMETER_SHOW_DELETED 397b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * @hide 398e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 399e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final String IS_DELETED = "deleted"; 400e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton } 401e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 402e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 4034d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * Read-only table that lists all the accounts that are used to provide bookmarks. 404b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * @hide 405e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 4064d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton public static final class Accounts { 407e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 4084d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * Directory under {@link Bookmarks#CONTENT_URI} 409e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 4104d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton public static final Uri CONTENT_URI = 4114d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton AUTHORITY_URI.buildUpon().appendPath("accounts").build(); 412e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 413e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 4144d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * The name of the account instance to which this row belongs, which when paired with 4154d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * {@link #ACCOUNT_TYPE} identifies a specific account. 4164d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * <P>Type: TEXT</P> 417e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 4184d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton public static final String ACCOUNT_NAME = "account_name"; 419e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 420e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 4214d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * The type of account to which this row belongs, which when paired with 4224d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * {@link #ACCOUNT_NAME} identifies a specific account. 4234d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * <P>Type: TEXT</P> 424e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 4254d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton public static final String ACCOUNT_TYPE = "account_type"; 4262b3fcfb4cf1d116d1caa20a03f9a948bc680a056John Reck 4272b3fcfb4cf1d116d1caa20a03f9a948bc680a056John Reck /** 4282b3fcfb4cf1d116d1caa20a03f9a948bc680a056John Reck * The ID of the account's root folder. This will be the ID of the folder 4292b3fcfb4cf1d116d1caa20a03f9a948bc680a056John Reck * returned when querying {@link Bookmarks#CONTENT_URI_DEFAULT_FOLDER}. 4302b3fcfb4cf1d116d1caa20a03f9a948bc680a056John Reck * <P>Type: INTEGER</P> 4312b3fcfb4cf1d116d1caa20a03f9a948bc680a056John Reck */ 4322b3fcfb4cf1d116d1caa20a03f9a948bc680a056John Reck public static final String ROOT_ID = "root_id"; 4334d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton } 434e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 4354d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton /** 4364d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * The history table, which holds the browsing history. 4374d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton */ 4384d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton public static final class History implements CommonColumns, HistoryColumns, ImageColumns { 439e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 4404d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * This utility class cannot be instantiated. 441e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 4424d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton private History() {} 443e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 444e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 4454d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * The content:// style URI for this table 446e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 4474d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton public static final Uri CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI, "history"); 448e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 449e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 4504d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * The MIME type of {@link #CONTENT_URI} providing a directory of browser history items. 451e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 4524d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton public static final String CONTENT_TYPE = "vnd.android.cursor.dir/browser-history"; 453e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 454e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 4554d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * The MIME type of a {@link #CONTENT_URI} of a single browser history item. 456e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 4574d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/browser-history"; 458e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton } 459e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 460e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 461e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * The search history table. 462e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * @hide 463e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 464e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final class Searches { 465e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton private Searches() {} 466e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 467e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 468e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * The content:// style URI for this table 469e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 470e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final Uri CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI, "searches"); 471e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 472e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 473e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * The MIME type of {@link #CONTENT_URI} providing a directory of browser search items. 474e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 475e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final String CONTENT_TYPE = "vnd.android.cursor.dir/searches"; 476e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 477e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 478e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * The MIME type of a {@link #CONTENT_URI} of a single browser search item. 479e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 480e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/searches"; 481e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 482e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 483e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * The unique ID for a row. 484e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * <P>Type: INTEGER (long)</P> 485e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 486e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final String _ID = "_id"; 487e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 488e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 489e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * The user entered search term. 490e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 491e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final String SEARCH = "search"; 492e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 493e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 494e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * The date the search was performed, in milliseconds since the epoch. 495e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * <p>Type: NUMBER (date in milliseconds since January 1, 1970)</p> 496e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 497e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final String DATE = "date"; 498e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton } 499e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 500e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 501e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * A table provided for sync adapters to use for storing private sync state data. 502e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * 503e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * @see SyncStateContract 504b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * @hide 505e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 506e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final class SyncState implements SyncStateContract.Columns { 507e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 508e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * This utility class cannot be instantiated 509e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 510e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton private SyncState() {} 511e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 512e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final String CONTENT_DIRECTORY = 513e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton SyncStateContract.Constants.CONTENT_DIRECTORY; 514e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 515e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 516e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * The content:// style URI for this table 517e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 518e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static final Uri CONTENT_URI = 519e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton Uri.withAppendedPath(AUTHORITY_URI, CONTENT_DIRECTORY); 520e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 521e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 522e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * @see android.provider.SyncStateContract.Helpers#get 523e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 524e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static byte[] get(ContentProviderClient provider, Account account) 525e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton throws RemoteException { 526e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton return SyncStateContract.Helpers.get(provider, CONTENT_URI, account); 527e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton } 528e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 529e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 530e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * @see android.provider.SyncStateContract.Helpers#get 531e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 532e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static Pair<Uri, byte[]> getWithUri(ContentProviderClient provider, Account account) 533e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton throws RemoteException { 534e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton return SyncStateContract.Helpers.getWithUri(provider, CONTENT_URI, account); 535e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton } 536e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 537e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 538e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * @see android.provider.SyncStateContract.Helpers#set 539e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 540e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static void set(ContentProviderClient provider, Account account, byte[] data) 541e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton throws RemoteException { 542e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton SyncStateContract.Helpers.set(provider, CONTENT_URI, account, data); 543e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton } 544e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton 545e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton /** 546e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton * @see android.provider.SyncStateContract.Helpers#newSetOperation 547e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton */ 548e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton public static ContentProviderOperation newSetOperation(Account account, byte[] data) { 549e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton return SyncStateContract.Helpers.newSetOperation(CONTENT_URI, account, data); 550e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton } 551e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton } 5524d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton 5534d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton /** 554b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * <p> 555b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * Stores images for URLs. 556b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * </p> 557b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * <p> 558b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * The rows in this table can not be updated since there might have multiple URLs mapping onto 559b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * the same image. If you want to update a URL's image, you need to add the new image in this 560b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * table, then update the mapping onto the added image. 561b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * </p> 562b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * <p> 563b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * Every image should be at least associated with one URL, otherwise it will be removed after a 564b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * while. 565b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * </p> 5664d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton */ 5674d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton public static final class Images implements ImageColumns { 5684d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton /** 5694d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * This utility class cannot be instantiated 5704d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton */ 5714d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton private Images() {} 5724d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton 5734d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton /** 5744d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * The content:// style URI for this table 5754d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton */ 5764d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton public static final Uri CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI, "images"); 5774d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton 5784d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton /** 579b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * The MIME type of {@link #CONTENT_URI} providing a directory of images. 580b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai */ 581b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai public static final String CONTENT_TYPE = "vnd.android.cursor.dir/images"; 582b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai 583b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai /** 584b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * The MIME type of a {@link #CONTENT_URI} of a single image. 585b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai */ 586b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/images"; 587b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai 588b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai /** 589b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * Used in {@link Images#TYPE} column and indicats the row is a favicon. 590b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai */ 591b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai public static final int IMAGE_TYPE_FAVICON = 1; 592b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai 593b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai /** 594b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * Used in {@link Images#TYPE} column and indicats the row is a precomposed touch icon. 595b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai */ 596b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai public static final int IMAGE_TYPE_PRECOMPOSED_TOUCH_ICON = 2; 597b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai 598b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai /** 599b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * Used in {@link Images#TYPE} column and indicats the row is a touch icon. 600b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai */ 601b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai public static final int IMAGE_TYPE_TOUCH_ICON = 4; 602b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai 603b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai /** 604b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * The type of item in the table. 605b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * <P>Type: INTEGER</P> 606b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * <p>Allowed values are:</p> 607b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * <p> 608b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * <ul> 609b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * <li>{@link #IMAGE_TYPE_FAVICON}</li> 610b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * <li>{@link #IMAGE_TYPE_PRECOMPOSED_TOUCH_ICON}</li> 611b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * <li>{@link #IMAGE_TYPE_TOUCH_ICON}</li> 612b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * </ul> 613b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * </p> 614b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai */ 615b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai public static final String TYPE = "type"; 616b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai 617b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai /** 618b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * The image data. 619b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * <p>Type: BLOB (image)</p> 620b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai */ 621b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai public static final String DATA = "data"; 622b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai 623b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai /** 6244d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * The URL the images came from. 6254d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * <P>Type: TEXT (URL)</P> 626b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * @hide 6274d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton */ 6284d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton public static final String URL = "url_key"; 6294d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton } 6304d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton 6314d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton /** 632b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * <p> 633b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * A table that stores the mappings between the image and the URL. 634b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * </p> 635b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * <p> 636b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * Deleting or Updating a mapping might also deletes the mapped image if there is no other URL 637b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * maps onto it. 638b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * </p> 639b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai */ 640b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai public static final class ImageMappings implements ImageMappingColumns { 641b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai /** 642b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * This utility class cannot be instantiated 643b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai */ 644b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai private ImageMappings() {} 645b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai 646b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai /** 647b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * The content:// style URI for this table 648b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai */ 649b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai public static final Uri CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI, "image_mappings"); 650b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai 651b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai /** 652b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * The MIME type of {@link #CONTENT_URI} providing a directory of image mappings. 653b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai */ 654b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai public static final String CONTENT_TYPE = "vnd.android.cursor.dir/image_mappings"; 655b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai 656b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai /** 657b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * The MIME type of a {@link #CONTENT_URI} of a single image mapping. 658b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai */ 659b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/image_mappings"; 660b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai } 661b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai 662b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai /** 6634d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * A combined view of bookmarks and history. All bookmarks in all folders are included and 6644d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * no folders are included. 665b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * @hide 6664d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton */ 6674d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton public static final class Combined implements CommonColumns, HistoryColumns, ImageColumns { 6684d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton /** 6694d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * This utility class cannot be instantiated 6704d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton */ 6714d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton private Combined() {} 6724d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton 6734d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton /** 6744d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * The content:// style URI for this table 6754d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton */ 6764d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton public static final Uri CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI, "combined"); 6774d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton 6784d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton /** 6794d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * Flag indicating that an item is a bookmark. A value of 1 indicates a bookmark, a value 6804d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * of 0 indicates a history item. 6814d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton * <p>Type: INTEGER (boolean)</p> 6824d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton */ 6834d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton public static final String IS_BOOKMARK = "bookmark"; 6844d67ac248fd64492c71327f829b54235f8a4320cJeff Hamilton } 685a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton 686a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton /** 687a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton * A table that stores settings specific to the browser. Only support query and insert. 688b5f15e7fd9a674875053aa250b57144cf566ee4dTao Bai * @hide 689a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton */ 690a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton public static final class Settings { 691a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton /** 692a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton * This utility class cannot be instantiated 693a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton */ 694a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton private Settings() {} 695a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton 696a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton /** 697a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton * The content:// style URI for this table 698a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton */ 699a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton public static final Uri CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI, "settings"); 700a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton 701a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton /** 702a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton * Key for a setting value. 703a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton */ 704a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton public static final String KEY = "key"; 705a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton 706a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton /** 707a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton * Value for a setting. 708a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton */ 709a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton public static final String VALUE = "value"; 710a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton 711a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton /** 712a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton * If set to non-0 the user has opted into bookmark sync. 713a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton */ 714a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton public static final String KEY_SYNC_ENABLED = "sync_enabled"; 715a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton 716a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton /** 717a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton * Returns true if bookmark sync is enabled 718a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton */ 719a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton static public boolean isSyncEnabled(Context context) { 720a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton Cursor cursor = null; 721a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton try { 722a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton cursor = context.getContentResolver().query(CONTENT_URI, new String[] { VALUE }, 723a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton KEY + "=?", new String[] { KEY_SYNC_ENABLED }, null); 724a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton if (cursor == null || !cursor.moveToFirst()) { 725a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton return false; 726a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton } 727a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton return cursor.getInt(0) != 0; 728a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton } finally { 729a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton if (cursor != null) cursor.close(); 730a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton } 731a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton } 732a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton 733a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton /** 734a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton * Sets the bookmark sync enabled setting. 735a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton */ 736a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton static public void setSyncEnabled(Context context, boolean enabled) { 737a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton ContentValues values = new ContentValues(); 738a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton values.put(KEY, KEY_SYNC_ENABLED); 739a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton values.put(VALUE, enabled ? 1 : 0); 740a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton context.getContentResolver().insert(CONTENT_URI, values); 741a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton } 742a2f926607514205adff28f19546bce21a300fc8dJeff Hamilton } 743e5d0a83b12a06ff5dcb3687ed892764caa75f66bJeff Hamilton} 744