19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* 29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright (C) 2006 The Android Open Source Project 39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you may not use this file except in compliance with the License. 69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * You may obtain a copy of the License at 79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * See the License for the specific language governing permissions and 149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * limitations under the License. 159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpackage android.provider; 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.content.ContentResolver; 206f42edc2079fcdc3ba44484e21b206a6c638a607Jeff Hamiltonimport android.content.ContentUris; 219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.content.ContentValues; 229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.content.Context; 239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.content.Intent; 249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.database.Cursor; 259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.database.DatabaseUtils; 26bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslavimport android.database.MatrixCursor; 2731d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamiltonimport android.graphics.BitmapFactory; 289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.net.Uri; 296f42edc2079fcdc3ba44484e21b206a6c638a607Jeff Hamiltonimport android.provider.BrowserContract.Bookmarks; 30ba5c41212f31b80ecfd87d1e6ae3f7c4d378746dJohn Reckimport android.provider.BrowserContract.Combined; 316f42edc2079fcdc3ba44484e21b206a6c638a607Jeff Hamiltonimport android.provider.BrowserContract.History; 3288697b5a3344215f7190b3841b2fc63dae3d0c37Jeff Hamiltonimport android.provider.BrowserContract.Searches; 339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.util.Log; 349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.webkit.WebIconDatabase; 359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpublic class Browser { 379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private static final String LOGTAG = "browser"; 3831d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton 3931d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton /** 4031d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * A table containing both bookmarks and history items. The columns of the table are defined in 41bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav * {@link BookmarkColumns}. 42bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav * @removed 4331d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton */ 4431d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton public static final Uri BOOKMARKS_URI = Uri.parse("content://browser/bookmarks"); 459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The name of extra data when starting Browser with ACTION_VIEW or 489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * ACTION_SEARCH intent. 499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <p> 509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The value should be an integer between 0 and 1000. If not set or set to 519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 0, the Browser will use default. If set to 100, the Browser will start 529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * with 100%. 539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final String INITIAL_ZOOM_LEVEL = "browser.initialZoomLevel"; 559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 56ba87e3e6c985e7175152993b5efcc7dd2f0e1c93The Android Open Source Project /** 57ba87e3e6c985e7175152993b5efcc7dd2f0e1c93The Android Open Source Project * The name of the extra data when starting the Browser from another 58ba87e3e6c985e7175152993b5efcc7dd2f0e1c93The Android Open Source Project * application. 59ba87e3e6c985e7175152993b5efcc7dd2f0e1c93The Android Open Source Project * <p> 60ba87e3e6c985e7175152993b5efcc7dd2f0e1c93The Android Open Source Project * The value is a unique identification string that will be used to 6131d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * identify the calling application. The Browser will attempt to reuse the 62ba87e3e6c985e7175152993b5efcc7dd2f0e1c93The Android Open Source Project * same window each time the application launches the Browser with the same 63ba87e3e6c985e7175152993b5efcc7dd2f0e1c93The Android Open Source Project * identifier. 64ba87e3e6c985e7175152993b5efcc7dd2f0e1c93The Android Open Source Project */ 6531d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton public static final String EXTRA_APPLICATION_ID = "com.android.browser.application_id"; 668eb241b877d78cb665e99c6412876ebb1e5c0939Mitsuru Oshima 678eb241b877d78cb665e99c6412876ebb1e5c0939Mitsuru Oshima /** 68679091849754c60bdde5670495c38493065fd308Grace Kloba * The name of the extra data in the VIEW intent. The data are key/value 69679091849754c60bdde5670495c38493065fd308Grace Kloba * pairs in the format of Bundle. They will be sent in the HTTP request 70d0d9bc2f2fe737d186c0cc8c29a325e4f2907e8eGrace Kloba * headers for the provided url. The keys can't be the standard HTTP headers 71d0d9bc2f2fe737d186c0cc8c29a325e4f2907e8eGrace Kloba * as they are set by the WebView. The url's schema must be http(s). 72d0d9bc2f2fe737d186c0cc8c29a325e4f2907e8eGrace Kloba * <p> 73d0d9bc2f2fe737d186c0cc8c29a325e4f2907e8eGrace Kloba */ 74679091849754c60bdde5670495c38493065fd308Grace Kloba public static final String EXTRA_HEADERS = "com.android.browser.headers"; 75d0d9bc2f2fe737d186c0cc8c29a325e4f2907e8eGrace Kloba 76bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav /** @removed if you change column order you must also change indices below */ 779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final String[] HISTORY_PROJECTION = new String[] { 7831d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton BookmarkColumns._ID, // 0 7931d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton BookmarkColumns.URL, // 1 8031d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton BookmarkColumns.VISITS, // 2 8131d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton BookmarkColumns.DATE, // 3 8231d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton BookmarkColumns.BOOKMARK, // 4 8331d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton BookmarkColumns.TITLE, // 5 8431d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton BookmarkColumns.FAVICON, // 6 8531d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton BookmarkColumns.THUMBNAIL, // 7 8631d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton BookmarkColumns.TOUCH_ICON, // 8 8731d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton BookmarkColumns.USER_ENTERED, // 9 8831d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton }; 899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 90bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav /** @removed these indices dependent on HISTORY_PROJECTION */ 919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int HISTORY_PROJECTION_ID_INDEX = 0; 92bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav 93bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav /** @removed */ 949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int HISTORY_PROJECTION_URL_INDEX = 1; 95bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav 96bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav /** @removed */ 979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int HISTORY_PROJECTION_VISITS_INDEX = 2; 98bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav 99bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav /** @removed */ 1009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int HISTORY_PROJECTION_DATE_INDEX = 3; 101bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav 102bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav /** @removed */ 1039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int HISTORY_PROJECTION_BOOKMARK_INDEX = 4; 104bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav 105bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav /** @removed */ 1069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int HISTORY_PROJECTION_TITLE_INDEX = 5; 107bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav 108bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav /** @removed */ 1099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int HISTORY_PROJECTION_FAVICON_INDEX = 6; 1109f53fcaacf745c1337144685cc30ad3f4740e885Leon Scroggins /** 1117e2ff1a600555accb1836e4e960d705d13e35f60Leon Scroggins * @hide 1127e2ff1a600555accb1836e4e960d705d13e35f60Leon Scroggins */ 113908baedfcf83abc8f5564aa8b427b05989f8591fLeon Scroggins public static final int HISTORY_PROJECTION_THUMBNAIL_INDEX = 7; 1142ba1262b420ef5b9abebcd818c46774b8517f244Patrick Scott /** 1152ba1262b420ef5b9abebcd818c46774b8517f244Patrick Scott * @hide 1162ba1262b420ef5b9abebcd818c46774b8517f244Patrick Scott */ 1172ba1262b420ef5b9abebcd818c46774b8517f244Patrick Scott public static final int HISTORY_PROJECTION_TOUCH_ICON_INDEX = 8; 1189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 119bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav /** @removed columns needed to determine whether to truncate history @removed */ 1209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final String[] TRUNCATE_HISTORY_PROJECTION = new String[] { 12131d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton BookmarkColumns._ID, 12231d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton BookmarkColumns.DATE, 12331d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton }; 12431d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton 125bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav /** @removed */ 1269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TRUNCATE_HISTORY_PROJECTION_ID_INDEX = 0; 1279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 128bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav /** @removed truncate this many history items at a time */ 1299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TRUNCATE_N_OLDEST = 5; 1309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 13131d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton /** 13231d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * A table containing a log of browser searches. The columns of the table are defined in 133bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav * {@link SearchColumns}. 134bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav * @removed 13531d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton */ 13631d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton public static final Uri SEARCHES_URI = Uri.parse("content://browser/searches"); 1379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 13831d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton /** 13931d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * A projection of {@link #SEARCHES_URI} that contains {@link SearchColumns#_ID}, 14031d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * {@link SearchColumns#SEARCH}, and {@link SearchColumns#DATE}. 141bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav * @removed 14231d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton */ 1439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final String[] SEARCHES_PROJECTION = new String[] { 14431d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton // if you change column order you must also change indices below 14531d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton SearchColumns._ID, // 0 14631d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton SearchColumns.SEARCH, // 1 14731d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton SearchColumns.DATE, // 2 14831d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton }; 1499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 150bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav /** @removed these indices dependent on SEARCHES_PROJECTION */ 1519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int SEARCHES_PROJECTION_SEARCH_INDEX = 1; 152bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav /** @removed */ 1539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int SEARCHES_PROJECTION_DATE_INDEX = 2; 1549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /* Set a cap on the count of history items in the history/bookmark 1569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project table, to prevent db and layout operations from dragging to a 1579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project crawl. Revisit this cap when/if db/layout performance 1589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project improvements are made. Note: this does not affect bookmark 1599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project entries -- if the user wants more bookmarks than the cap, they 1609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project get them. */ 1619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private static final int MAX_HISTORY_COUNT = 250; 1629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 16431d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * Open an activity to save a bookmark. Launch with a title 16531d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * and/or a url, both of which can be edited by the user before saving. 16631d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * 16731d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * @param c Context used to launch the activity to add a bookmark. 1689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param title Title for the bookmark. Can be null or empty string. 1699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param url Url for the bookmark. Can be null or empty string. 170bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav * @removed 1719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 172b7c39cee9ef3b6c58987128cef77c75cc2eab215Justin Koh public static final void saveBookmark(Context c, 173b7c39cee9ef3b6c58987128cef77c75cc2eab215Justin Koh String title, 1749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String url) { 1759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 177dcf19a8d34d85255184bac6ac5083d3d68ed5953Leon Scroggins /** 17831cb0bedc66b1cee4b5252df2b8e04e653358df3Leon Scroggins * Boolean extra passed along with an Intent to a browser, specifying that 17931cb0bedc66b1cee4b5252df2b8e04e653358df3Leon Scroggins * a new tab be created. Overrides EXTRA_APPLICATION_ID; if both are set, 18031cb0bedc66b1cee4b5252df2b8e04e653358df3Leon Scroggins * a new tab will be used, rather than using the same one. 181af5b406ad62af6f9d9e9f9f278683fb42015a4a2Leon Scroggins */ 182af5b406ad62af6f9d9e9f9f278683fb42015a4a2Leon Scroggins public static final String EXTRA_CREATE_NEW_TAB = "create_new_tab"; 183af5b406ad62af6f9d9e9f9f278683fb42015a4a2Leon Scroggins 184af5b406ad62af6f9d9e9f9f278683fb42015a4a2Leon Scroggins /** 185dcf19a8d34d85255184bac6ac5083d3d68ed5953Leon Scroggins * Stores a Bitmap extra in an {@link Intent} representing the screenshot of 186dcf19a8d34d85255184bac6ac5083d3d68ed5953Leon Scroggins * a page to share. When receiving an {@link Intent#ACTION_SEND} from the 187dcf19a8d34d85255184bac6ac5083d3d68ed5953Leon Scroggins * Browser, use this to access the screenshot. 188dcf19a8d34d85255184bac6ac5083d3d68ed5953Leon Scroggins * @hide 189dcf19a8d34d85255184bac6ac5083d3d68ed5953Leon Scroggins */ 190dcf19a8d34d85255184bac6ac5083d3d68ed5953Leon Scroggins public final static String EXTRA_SHARE_SCREENSHOT = "share_screenshot"; 191dcf19a8d34d85255184bac6ac5083d3d68ed5953Leon Scroggins 192dcf19a8d34d85255184bac6ac5083d3d68ed5953Leon Scroggins /** 193dcf19a8d34d85255184bac6ac5083d3d68ed5953Leon Scroggins * Stores a Bitmap extra in an {@link Intent} representing the favicon of a 194dcf19a8d34d85255184bac6ac5083d3d68ed5953Leon Scroggins * page to share. When receiving an {@link Intent#ACTION_SEND} from the 195dcf19a8d34d85255184bac6ac5083d3d68ed5953Leon Scroggins * Browser, use this to access the favicon. 196dcf19a8d34d85255184bac6ac5083d3d68ed5953Leon Scroggins * @hide 197dcf19a8d34d85255184bac6ac5083d3d68ed5953Leon Scroggins */ 198dcf19a8d34d85255184bac6ac5083d3d68ed5953Leon Scroggins public final static String EXTRA_SHARE_FAVICON = "share_favicon"; 199dcf19a8d34d85255184bac6ac5083d3d68ed5953Leon Scroggins 20031d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton /** 20131d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * Sends the given string using an Intent with {@link Intent#ACTION_SEND} and a mime type 20231d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * of text/plain. The string is put into {@link Intent#EXTRA_TEXT}. 20331d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * 20431d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * @param context the context used to start the activity 20531d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * @param string the string to send 20631d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton */ 20731d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton public static final void sendString(Context context, String string) { 20831d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton sendString(context, string, context.getString(com.android.internal.R.string.sendText)); 209354eb66673bbf7a6251583c135d13bcc2c62af0bAndrei Popescu } 210354eb66673bbf7a6251583c135d13bcc2c62af0bAndrei Popescu 211354eb66673bbf7a6251583c135d13bcc2c62af0bAndrei Popescu /** 212354eb66673bbf7a6251583c135d13bcc2c62af0bAndrei Popescu * Find an application to handle the given string and, if found, invoke 213354eb66673bbf7a6251583c135d13bcc2c62af0bAndrei Popescu * it with the given string as a parameter. 214354eb66673bbf7a6251583c135d13bcc2c62af0bAndrei Popescu * @param c Context used to launch the new activity. 215354eb66673bbf7a6251583c135d13bcc2c62af0bAndrei Popescu * @param stringToSend The string to be handled. 216354eb66673bbf7a6251583c135d13bcc2c62af0bAndrei Popescu * @param chooserDialogTitle The title of the dialog that allows the user 217354eb66673bbf7a6251583c135d13bcc2c62af0bAndrei Popescu * to select between multiple applications that are all capable of handling 218354eb66673bbf7a6251583c135d13bcc2c62af0bAndrei Popescu * the string. 219354eb66673bbf7a6251583c135d13bcc2c62af0bAndrei Popescu * @hide pending API council approval 220354eb66673bbf7a6251583c135d13bcc2c62af0bAndrei Popescu */ 221354eb66673bbf7a6251583c135d13bcc2c62af0bAndrei Popescu public static final void sendString(Context c, 222354eb66673bbf7a6251583c135d13bcc2c62af0bAndrei Popescu String stringToSend, 223354eb66673bbf7a6251583c135d13bcc2c62af0bAndrei Popescu String chooserDialogTitle) { 2249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Intent send = new Intent(Intent.ACTION_SEND); 2259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project send.setType("text/plain"); 226354eb66673bbf7a6251583c135d13bcc2c62af0bAndrei Popescu send.putExtra(Intent.EXTRA_TEXT, stringToSend); 227354eb66673bbf7a6251583c135d13bcc2c62af0bAndrei Popescu 2289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project try { 229fe026bdd3c0fd7543ceaf0732aeb824cfddb5b23Leon Scroggins Intent i = Intent.createChooser(send, chooserDialogTitle); 230fe026bdd3c0fd7543ceaf0732aeb824cfddb5b23Leon Scroggins // In case this is called from outside an Activity 231fe026bdd3c0fd7543ceaf0732aeb824cfddb5b23Leon Scroggins i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 232fe026bdd3c0fd7543ceaf0732aeb824cfddb5b23Leon Scroggins c.startActivity(i); 2339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } catch(android.content.ActivityNotFoundException ex) { 2349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // if no app handles it, do nothing 2359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 23931d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * Return a cursor pointing to a list of all the bookmarks. The cursor will have a single 24031d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * column, {@link BookmarkColumns#URL}. 24131d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * 2429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param cr The ContentResolver used to access the database. 243bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav * @removed 2449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 245b7c39cee9ef3b6c58987128cef77c75cc2eab215Justin Koh public static final Cursor getAllBookmarks(ContentResolver cr) throws 2469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IllegalStateException { 247bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav return new MatrixCursor(new String[]{Bookmarks.URL}, 0); 2489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 25131d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * Return a cursor pointing to a list of all visited site urls. The cursor will 25231d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * have a single column, {@link BookmarkColumns#URL}. 25331d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * 2549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param cr The ContentResolver used to access the database. 255bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav * @removed 2569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final Cursor getAllVisitedUrls(ContentResolver cr) throws 2589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IllegalStateException { 259bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav return new MatrixCursor(new String[]{Combined.URL}, 0); 2609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 262d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins private static final void addOrUrlEquals(StringBuilder sb) { 263d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins sb.append(" OR " + BookmarkColumns.URL + " = "); 264d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins } 265d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins 2666f42edc2079fcdc3ba44484e21b206a6c638a607Jeff Hamilton private static final Cursor getVisitedLike(ContentResolver cr, String url) { 267d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins boolean secure = false; 268d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins String compareString = url; 269d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins if (compareString.startsWith("http://")) { 270d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins compareString = compareString.substring(7); 271d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins } else if (compareString.startsWith("https://")) { 272d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins compareString = compareString.substring(8); 273d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins secure = true; 274d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins } 275d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins if (compareString.startsWith("www.")) { 276d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins compareString = compareString.substring(4); 277d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins } 278d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins StringBuilder whereClause = null; 279d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins if (secure) { 2806f42edc2079fcdc3ba44484e21b206a6c638a607Jeff Hamilton whereClause = new StringBuilder(Bookmarks.URL + " = "); 281d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins DatabaseUtils.appendEscapedSQLString(whereClause, 282d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins "https://" + compareString); 283d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins addOrUrlEquals(whereClause); 284d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins DatabaseUtils.appendEscapedSQLString(whereClause, 285d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins "https://www." + compareString); 286d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins } else { 2876f42edc2079fcdc3ba44484e21b206a6c638a607Jeff Hamilton whereClause = new StringBuilder(Bookmarks.URL + " = "); 288d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins DatabaseUtils.appendEscapedSQLString(whereClause, 289d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins compareString); 290d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins addOrUrlEquals(whereClause); 291d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins String wwwString = "www." + compareString; 292d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins DatabaseUtils.appendEscapedSQLString(whereClause, 293d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins wwwString); 294d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins addOrUrlEquals(whereClause); 295d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins DatabaseUtils.appendEscapedSQLString(whereClause, 296d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins "http://" + compareString); 297d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins addOrUrlEquals(whereClause); 298d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins DatabaseUtils.appendEscapedSQLString(whereClause, 299d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins "http://" + wwwString); 300d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins } 3016f42edc2079fcdc3ba44484e21b206a6c638a607Jeff Hamilton return cr.query(History.CONTENT_URI, new String[] { History._ID, History.VISITS }, 302d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins whereClause.toString(), null, null); 303d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins } 304d2334cb68aa4897a44ad33037c4c2e8657480466Leon Scroggins 3059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Update the visited history to acknowledge that a site has been 3079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * visited. 308bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav * 3099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param cr The ContentResolver used to access the database. 3109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param url The site being visited. 311331c7788a84fc6f625ac1bafbb33cf7da1116407Leon Scroggins * @param real If true, this is an actual visit, and should add to the 312331c7788a84fc6f625ac1bafbb33cf7da1116407Leon Scroggins * number of visits. If false, the user entered it manually. 313bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav * @removed 3149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final void updateVisitedHistory(ContentResolver cr, 3169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String url, boolean real) { 3179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3209c8d886bb776ab98fc3b8aa26134c7a2611a6076Leon Clarke * Returns all the URLs in the history. 321bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav * 3229c8d886bb776ab98fc3b8aa26134c7a2611a6076Leon Clarke * @param cr The ContentResolver used to access the database. 3239c8d886bb776ab98fc3b8aa26134c7a2611a6076Leon Clarke * @hide pending API council approval 3249c8d886bb776ab98fc3b8aa26134c7a2611a6076Leon Clarke */ 325bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav @Deprecated 3269c8d886bb776ab98fc3b8aa26134c7a2611a6076Leon Clarke public static final String[] getVisitedHistory(ContentResolver cr) { 327bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav return new String[0]; 3289c8d886bb776ab98fc3b8aa26134c7a2611a6076Leon Clarke } 3299c8d886bb776ab98fc3b8aa26134c7a2611a6076Leon Clarke 3309c8d886bb776ab98fc3b8aa26134c7a2611a6076Leon Clarke /** 3319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * If there are more than MAX_HISTORY_COUNT non-bookmark history 3329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * items in the bookmark/history table, delete TRUNCATE_N_OLDEST 3339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * of them. This is used to keep our history table to a 3349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * reasonable size. Note: it does not prune bookmarks. If the 3359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * user wants 1000 bookmarks, the user gets 1000 bookmarks. 3369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param cr The ContentResolver used to access the database. 338bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav * @removed 3399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final void truncateHistory(ContentResolver cr) { 3419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns whether there is any history to clear. 345bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav * 3469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param cr The ContentResolver used to access the database. 3479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return boolean True if the history can be cleared. 348bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav * @removed 3499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final boolean canClearHistory(ContentResolver cr) { 351bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav return false; 3529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Delete all entries from the bookmarks/history table which are 3569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * not bookmarks. Also set all visited bookmarks to unvisited. 357bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav * 3589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param cr The ContentResolver used to access the database. 359bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav * @removed 3609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final void clearHistory(ContentResolver cr) { 3629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Delete all history items from begin to end. 367bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav * 3689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param cr The ContentResolver used to access the database. 3699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param begin First date to remove. If -1, all dates before end. 3709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Inclusive. 3719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param end Last date to remove. If -1, all dates after begin. 3729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Non-inclusive. 373bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav * @removed 3749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final void deleteHistoryTimeFrame(ContentResolver cr, 3769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project long begin, long end) { 3779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Remove a specific url from the history database. 381bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav * 3829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param cr The ContentResolver used to access the database. 3839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param url url to remove. 384bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav * @removed 3859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 386b7c39cee9ef3b6c58987128cef77c75cc2eab215Justin Koh public static final void deleteFromHistory(ContentResolver cr, 3879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String url) { 3889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Add a search string to the searches database. 392bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav * 3939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param cr The ContentResolver used to access the database. 3949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param search The string to add to the searches database. 395bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav * @removed 3969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final void addSearchUrl(ContentResolver cr, String search) { 3989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 39931d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton 4009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Remove all searches from the search database. 402bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav * 4039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param cr The ContentResolver used to access the database. 404bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav * @removed 4059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final void clearSearches(ContentResolver cr) { 4079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 408b7c39cee9ef3b6c58987128cef77c75cc2eab215Justin Koh 4099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 41036acfbc2b8df6e62f2d583933eca3a49265279a6Patrick Scott * Request all icons from the database. This call must either be called 41136acfbc2b8df6e62f2d583933eca3a49265279a6Patrick Scott * in the main thread or have had Looper.prepare() invoked in the calling 41236acfbc2b8df6e62f2d583933eca3a49265279a6Patrick Scott * thread. 413bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav * 4149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param cr The ContentResolver used to access the database. 4159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param where Clause to be used to limit the query from the database. 4169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Must be an allowable string to be passed into a database query. 417b7c39cee9ef3b6c58987128cef77c75cc2eab215Justin Koh * @param listener IconListener that gets the icons once they are 4189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * retrieved. 419bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav * @removed 4209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final void requestAllIcons(ContentResolver cr, String where, 4229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project WebIconDatabase.IconListener listener) { 423b7c39cee9ef3b6c58987128cef77c75cc2eab215Justin Koh // Do nothing: this is no longer used. 4249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 42631d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton /** 42731d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * Column definitions for the mixed bookmark and history items available 42831d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * at {@link #BOOKMARKS_URI}. 429bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav * @removed 43031d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton */ 4319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static class BookmarkColumns implements BaseColumns { 43231d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton /** 43331d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * The URL of the bookmark or history item. 43431d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * <p>Type: TEXT (URL)</p> 43531d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton */ 4369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final String URL = "url"; 43731d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton 43831d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton /** 43931d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * The number of time the item has been visited. 44031d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * <p>Type: NUMBER</p> 44131d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton */ 4429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final String VISITS = "visits"; 44331d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton 44431d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton /** 44531d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * The date the item was last visited, in milliseconds since the epoch. 44631d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * <p>Type: NUMBER (date in milliseconds since January 1, 1970)</p> 44731d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton */ 4489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final String DATE = "date"; 44931d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton 45031d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton /** 45131d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * Flag indicating that an item is a bookmark. A value of 1 indicates a bookmark, a value 45231d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * of 0 indicates a history item. 45331d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * <p>Type: INTEGER (boolean)</p> 45431d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton */ 4559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final String BOOKMARK = "bookmark"; 45631d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton 45731d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton /** 45831d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * The user visible title of the bookmark or history item. 45931d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * <p>Type: TEXT</p> 46031d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton */ 4619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final String TITLE = "title"; 46231d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton 46331d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton /** 46431d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * The date the item created, in milliseconds since the epoch. 46531d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * <p>Type: NUMBER (date in milliseconds since January 1, 1970)</p> 46631d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton */ 4679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final String CREATED = "created"; 46831d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton 46931d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton /** 47031d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * The favicon of the bookmark. Must decode via {@link BitmapFactory#decodeByteArray}. 47131d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * <p>Type: BLOB (image)</p> 47231d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton */ 4739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final String FAVICON = "favicon"; 47431d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton 4759f53fcaacf745c1337144685cc30ad3f4740e885Leon Scroggins /** 4767e2ff1a600555accb1836e4e960d705d13e35f60Leon Scroggins * @hide 4777e2ff1a600555accb1836e4e960d705d13e35f60Leon Scroggins */ 478908baedfcf83abc8f5564aa8b427b05989f8591fLeon Scroggins public static final String THUMBNAIL = "thumbnail"; 47931d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton 4802ba1262b420ef5b9abebcd818c46774b8517f244Patrick Scott /** 4812ba1262b420ef5b9abebcd818c46774b8517f244Patrick Scott * @hide 4822ba1262b420ef5b9abebcd818c46774b8517f244Patrick Scott */ 4832ba1262b420ef5b9abebcd818c46774b8517f244Patrick Scott public static final String TOUCH_ICON = "touch_icon"; 48431d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton 485331c7788a84fc6f625ac1bafbb33cf7da1116407Leon Scroggins /** 486331c7788a84fc6f625ac1bafbb33cf7da1116407Leon Scroggins * @hide 487331c7788a84fc6f625ac1bafbb33cf7da1116407Leon Scroggins */ 488331c7788a84fc6f625ac1bafbb33cf7da1116407Leon Scroggins public static final String USER_ENTERED = "user_entered"; 4899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 49131d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton /** 49231d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * Column definitions for the search history table, available at {@link #SEARCHES_URI}. 493bfa216ac261dd3c5035ad38795650ce5f4ce6fb7Svetoslav * @removed 49431d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton */ 4959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static class SearchColumns implements BaseColumns { 49631d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton /** 497b5503c168a49f0f2b1372678f87d874e7d82aaadKristian Monsen * @deprecated Not used. 49831d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton */ 49931d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton @Deprecated 5009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final String URL = "url"; 50131d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton 50231d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton /** 50331d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * The user entered search term. 50431d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton */ 5059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final String SEARCH = "search"; 50631d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton 50731d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton /** 50831d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * The date the search was performed, in milliseconds since the epoch. 50931d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton * <p>Type: NUMBER (date in milliseconds since January 1, 1970)</p> 51031d95db2cc0ef2ce777cc7f4d3cc560d3f7e6e42Jeff Hamilton */ 5119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final String DATE = "date"; 5129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 514