131dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project/* 231dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * Copyright (C) 2008 The Android Open Source Project 331dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * 431dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 531dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * you may not use this file except in compliance with the License. 631dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * You may obtain a copy of the License at 731dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * 831dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 931dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * 1031dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 1131dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 1231dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1331dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * See the License for the specific language governing permissions and 1431dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * limitations under the License. 1531dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project */ 1631dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project 17325dc23624160689e59fbac708cf6f222b20d025Daniel Sandlerpackage com.android.launcher3; 1831dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project 19d249748abf357925b326d57ab68eb6c2b23c4ef6Sunny Goyalimport android.content.ContentResolver; 20c190dbfb784c0bca629b6966ce314d735cf98db3Sunny Goyalimport android.database.sqlite.SQLiteDatabase; 2131dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Projectimport android.net.Uri; 22d249748abf357925b326d57ab68eb6c2b23c4ef6Sunny Goyalimport android.os.Bundle; 23df2cc41acbfacd576f99483a4af1cda32ebd3d09Adam Cohenimport android.provider.BaseColumns; 2431dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project 2518b640c3710723df8a8528a667c373474e0a06eeSunny Goyalimport com.android.launcher3.config.ProviderConfig; 2618b640c3710723df8a8528a667c373474e0a06eeSunny Goyal 2731dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project/** 2831dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * Settings related utilities. 2931dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project */ 303f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Songpublic class LauncherSettings { 311ada10d5950f45aba998a7722bfde2e529201f48Chris Wren /** Columns required on table staht will be subject to backup and restore. */ 321ada10d5950f45aba998a7722bfde2e529201f48Chris Wren static interface ChangeLogColumns extends BaseColumns { 331ada10d5950f45aba998a7722bfde2e529201f48Chris Wren /** 341ada10d5950f45aba998a7722bfde2e529201f48Chris Wren * The time of the last update to this row. 351ada10d5950f45aba998a7722bfde2e529201f48Chris Wren * <P>Type: INTEGER</P> 361ada10d5950f45aba998a7722bfde2e529201f48Chris Wren */ 372fb2f0bcfcd25eeaf423660fa30be7a2d4ace5b7Sunny Goyal public static final String MODIFIED = "modified"; 381ada10d5950f45aba998a7722bfde2e529201f48Chris Wren } 391ada10d5950f45aba998a7722bfde2e529201f48Chris Wren 401ada10d5950f45aba998a7722bfde2e529201f48Chris Wren static interface BaseLauncherColumns extends ChangeLogColumns { 4173b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy /** 4273b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy * Descriptive name of the gesture that can be displayed to the user. 4373b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy * <P>Type: TEXT</P> 4473b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy */ 452fb2f0bcfcd25eeaf423660fa30be7a2d4ace5b7Sunny Goyal public static final String TITLE = "title"; 4673b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy 4731dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project /** 4873b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy * The Intent URL of the gesture, describing what it points to. This 491ce1a24cba4dc41bccfeab6fccb2f3355423841aRomain Guy * value is given to {@link android.content.Intent#parseUri(String, int)} to create 5073b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy * an Intent that can be launched. 5173b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy * <P>Type: TEXT</P> 5273b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy */ 5318b640c3710723df8a8528a667c373474e0a06eeSunny Goyal public static final String INTENT = "intent"; 5473b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy 5573b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy /** 5673b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy * The type of the gesture 5773b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy * 5873b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy * <P>Type: INTEGER</P> 5973b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy */ 602fb2f0bcfcd25eeaf423660fa30be7a2d4ace5b7Sunny Goyal public static final String ITEM_TYPE = "itemType"; 6173b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy 6273b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy /** 6373b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy * The gesture is an application 6473b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy */ 652fb2f0bcfcd25eeaf423660fa30be7a2d4ace5b7Sunny Goyal public static final int ITEM_TYPE_APPLICATION = 0; 6673b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy 6773b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy /** 6873b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy * The gesture is an application created shortcut 6973b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy */ 702fb2f0bcfcd25eeaf423660fa30be7a2d4ace5b7Sunny Goyal public static final int ITEM_TYPE_SHORTCUT = 1; 7173b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy 7273b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy /** 73eb4b79935e9f75dda72e4953f45e616e252d7b03Sunny Goyal * The icon package name in Intent.ShortcutIconResource 7473b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy * <P>Type: TEXT</P> 7573b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy */ 762fb2f0bcfcd25eeaf423660fa30be7a2d4ace5b7Sunny Goyal public static final String ICON_PACKAGE = "iconPackage"; 7773b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy 7873b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy /** 79eb4b79935e9f75dda72e4953f45e616e252d7b03Sunny Goyal * The icon resource name in Intent.ShortcutIconResource 8073b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy * <P>Type: TEXT</P> 8173b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy */ 822fb2f0bcfcd25eeaf423660fa30be7a2d4ace5b7Sunny Goyal public static final String ICON_RESOURCE = "iconResource"; 8373b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy 8473b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy /** 85eb4b79935e9f75dda72e4953f45e616e252d7b03Sunny Goyal * The custom icon bitmap. 8673b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy * <P>Type: BLOB</P> 8773b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy */ 882fb2f0bcfcd25eeaf423660fa30be7a2d4ace5b7Sunny Goyal public static final String ICON = "icon"; 8973b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy } 9073b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy 9173b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy /** 92dcd297f05a866e07090d6e2af8fb4b15f28cb555Adam Cohen * Workspace Screens. 93dcd297f05a866e07090d6e2af8fb4b15f28cb555Adam Cohen * 94dcd297f05a866e07090d6e2af8fb4b15f28cb555Adam Cohen * Tracks the order of workspace screens. 95dcd297f05a866e07090d6e2af8fb4b15f28cb555Adam Cohen */ 9618b640c3710723df8a8528a667c373474e0a06eeSunny Goyal public static final class WorkspaceScreens implements ChangeLogColumns { 9718b640c3710723df8a8528a667c373474e0a06eeSunny Goyal 9818b640c3710723df8a8528a667c373474e0a06eeSunny Goyal public static final String TABLE_NAME = "workspaceScreens"; 9918b640c3710723df8a8528a667c373474e0a06eeSunny Goyal 100dcd297f05a866e07090d6e2af8fb4b15f28cb555Adam Cohen /** 101dcd297f05a866e07090d6e2af8fb4b15f28cb555Adam Cohen * The content:// style URL for this table 102dcd297f05a866e07090d6e2af8fb4b15f28cb555Adam Cohen */ 103f076eae0cab10f035f7b187c72a680cd220acf1bSunny Goyal public static final Uri CONTENT_URI = Uri.parse("content://" + 10418b640c3710723df8a8528a667c373474e0a06eeSunny Goyal ProviderConfig.AUTHORITY + "/" + TABLE_NAME); 105dcd297f05a866e07090d6e2af8fb4b15f28cb555Adam Cohen 106dcd297f05a866e07090d6e2af8fb4b15f28cb555Adam Cohen /** 107dcd297f05a866e07090d6e2af8fb4b15f28cb555Adam Cohen * The rank of this screen -- ie. how it is ordered relative to the other screens. 108dcd297f05a866e07090d6e2af8fb4b15f28cb555Adam Cohen * <P>Type: INTEGER</P> 109dcd297f05a866e07090d6e2af8fb4b15f28cb555Adam Cohen */ 11018b640c3710723df8a8528a667c373474e0a06eeSunny Goyal public static final String SCREEN_RANK = "screenRank"; 111dcd297f05a866e07090d6e2af8fb4b15f28cb555Adam Cohen } 112dcd297f05a866e07090d6e2af8fb4b15f28cb555Adam Cohen 113dcd297f05a866e07090d6e2af8fb4b15f28cb555Adam Cohen /** 11493c45765cc5f4dbc0f1742a70854845f876c7ddcBjorn Bringert * Favorites. 11573b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy */ 1163f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song public static final class Favorites implements BaseLauncherColumns { 11718b640c3710723df8a8528a667c373474e0a06eeSunny Goyal 11818b640c3710723df8a8528a667c373474e0a06eeSunny Goyal public static final String TABLE_NAME = "favorites"; 11918b640c3710723df8a8528a667c373474e0a06eeSunny Goyal 12031dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project /** 12173b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy * The content:// style URL for this table 12231dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project */ 12318b640c3710723df8a8528a667c373474e0a06eeSunny Goyal public static final Uri CONTENT_URI = Uri.parse("content://" + 12418b640c3710723df8a8528a667c373474e0a06eeSunny Goyal ProviderConfig.AUTHORITY + "/" + TABLE_NAME); 12531dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project 12631dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project /** 12773b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy * The content:// style URL for a given row, identified by its id. 12873b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy * 12973b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy * @param id The row id. 13073b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy * 13173b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy * @return The unique content URL for the specified row. 13231dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project */ 133e5bb705fb79f18df8680958dcf2c5460e16c90b6Sunny Goyal public static Uri getContentUri(long id) { 13418b640c3710723df8a8528a667c373474e0a06eeSunny Goyal return Uri.parse("content://" + ProviderConfig.AUTHORITY + 13518b640c3710723df8a8528a667c373474e0a06eeSunny Goyal "/" + TABLE_NAME + "/" + id); 13673b979d8c141c7ceac82dad7c5b271a6a42afa67Romain Guy } 13731dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project 13831dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project /** 13931dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * The container holding the favorite 14031dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * <P>Type: INTEGER</P> 14131dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project */ 14218b640c3710723df8a8528a667c373474e0a06eeSunny Goyal public static final String CONTAINER = "container"; 14331dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project 14431dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project /** 14531dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * The icon is a resource identified by a package name and an integer id. 14631dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project */ 14718b640c3710723df8a8528a667c373474e0a06eeSunny Goyal public static final int CONTAINER_DESKTOP = -100; 14818b640c3710723df8a8528a667c373474e0a06eeSunny Goyal public static final int CONTAINER_HOTSEAT = -101; 14931dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project 150ab5fa3a06ad7203a7bdab899f1951d9e9dc92d5fDan Sandler static final String containerToString(int container) { 151ab5fa3a06ad7203a7bdab899f1951d9e9dc92d5fDan Sandler switch (container) { 152ab5fa3a06ad7203a7bdab899f1951d9e9dc92d5fDan Sandler case CONTAINER_DESKTOP: return "desktop"; 153ab5fa3a06ad7203a7bdab899f1951d9e9dc92d5fDan Sandler case CONTAINER_HOTSEAT: return "hotseat"; 154ab5fa3a06ad7203a7bdab899f1951d9e9dc92d5fDan Sandler default: return String.valueOf(container); 155ab5fa3a06ad7203a7bdab899f1951d9e9dc92d5fDan Sandler } 156ab5fa3a06ad7203a7bdab899f1951d9e9dc92d5fDan Sandler } 157ab5fa3a06ad7203a7bdab899f1951d9e9dc92d5fDan Sandler 15831dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project /** 15931dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * The screen holding the favorite (if container is CONTAINER_DESKTOP) 16031dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * <P>Type: INTEGER</P> 16131dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project */ 16218b640c3710723df8a8528a667c373474e0a06eeSunny Goyal public static final String SCREEN = "screen"; 16331dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project 16431dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project /** 16531dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * The X coordinate of the cell holding the favorite 166c51934bfdfed6a5011c6d6c5b7b70f2d75613d41Adam Cohen * (if container is CONTAINER_HOTSEAT or CONTAINER_HOTSEAT) 16731dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * <P>Type: INTEGER</P> 16831dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project */ 1692fb2f0bcfcd25eeaf423660fa30be7a2d4ace5b7Sunny Goyal public static final String CELLX = "cellX"; 17031dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project 17131dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project /** 17231dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * The Y coordinate of the cell holding the favorite 17331dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * (if container is CONTAINER_DESKTOP) 17431dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * <P>Type: INTEGER</P> 17531dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project */ 1762fb2f0bcfcd25eeaf423660fa30be7a2d4ace5b7Sunny Goyal public static final String CELLY = "cellY"; 17731dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project 17831dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project /** 17931dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * The X span of the cell holding the favorite 18031dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * <P>Type: INTEGER</P> 18131dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project */ 1822fb2f0bcfcd25eeaf423660fa30be7a2d4ace5b7Sunny Goyal public static final String SPANX = "spanX"; 18331dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project 18431dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project /** 18531dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * The Y span of the cell holding the favorite 18631dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * <P>Type: INTEGER</P> 18731dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project */ 1882fb2f0bcfcd25eeaf423660fa30be7a2d4ace5b7Sunny Goyal public static final String SPANY = "spanY"; 18931dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project 19031dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project /** 191ed13187a745866483139e2878037e1f8427ce567Kenny Guy * The profile id of the item in the cell. 192ed13187a745866483139e2878037e1f8427ce567Kenny Guy * <P> 193ed13187a745866483139e2878037e1f8427ce567Kenny Guy * Type: INTEGER 194ed13187a745866483139e2878037e1f8427ce567Kenny Guy * </P> 195ed13187a745866483139e2878037e1f8427ce567Kenny Guy */ 1962fb2f0bcfcd25eeaf423660fa30be7a2d4ace5b7Sunny Goyal public static final String PROFILE_ID = "profileId"; 197ed13187a745866483139e2878037e1f8427ce567Kenny Guy 198ed13187a745866483139e2878037e1f8427ce567Kenny Guy /** 19931dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * The favorite is a user created folder 20031dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project */ 2012fb2f0bcfcd25eeaf423660fa30be7a2d4ace5b7Sunny Goyal public static final int ITEM_TYPE_FOLDER = 2; 20231dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project 20331dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project /** 2047376faefbbcbe30cc4e3f706ab95c254a4707d98The Android Open Source Project * The favorite is a widget 20531dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project */ 2063f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song public static final int ITEM_TYPE_APPWIDGET = 4; 20731dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project 20831dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project /** 2095940042d39b576553c2499bcf3d0641281e6ad52Adam Cohen * The favorite is a custom widget provided by the launcher 2105940042d39b576553c2499bcf3d0641281e6ad52Adam Cohen */ 2113f471440a8b6b71d4c15501a96befd3b715c9e8fHyunyoung Song public static final int ITEM_TYPE_CUSTOM_APPWIDGET = 5; 2125940042d39b576553c2499bcf3d0641281e6ad52Adam Cohen 2135940042d39b576553c2499bcf3d0641281e6ad52Adam Cohen /** 214bfbf7f9f4a0b300613f0ff27a4eb592d88c08325Tony Wickham * The gesture is an application created deep shortcut 215bfbf7f9f4a0b300613f0ff27a4eb592d88c08325Tony Wickham */ 216bfbf7f9f4a0b300613f0ff27a4eb592d88c08325Tony Wickham public static final int ITEM_TYPE_DEEP_SHORTCUT = 6; 217bfbf7f9f4a0b300613f0ff27a4eb592d88c08325Tony Wickham 218bfbf7f9f4a0b300613f0ff27a4eb592d88c08325Tony Wickham /** 2197376faefbbcbe30cc4e3f706ab95c254a4707d98The Android Open Source Project * The appWidgetId of the widget 22031dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * 22131dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * <P>Type: INTEGER</P> 22231dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project */ 2232fb2f0bcfcd25eeaf423660fa30be7a2d4ace5b7Sunny Goyal public static final String APPWIDGET_ID = "appWidgetId"; 224d5e66bfca1dc4fdbab7513d88c6568bc4d17bca8Chris Wren 225d5e66bfca1dc4fdbab7513d88c6568bc4d17bca8Chris Wren /** 226d5e66bfca1dc4fdbab7513d88c6568bc4d17bca8Chris Wren * The ComponentName of the widget provider 227d5e66bfca1dc4fdbab7513d88c6568bc4d17bca8Chris Wren * 228d5e66bfca1dc4fdbab7513d88c6568bc4d17bca8Chris Wren * <P>Type: STRING</P> 229d5e66bfca1dc4fdbab7513d88c6568bc4d17bca8Chris Wren */ 230d5e66bfca1dc4fdbab7513d88c6568bc4d17bca8Chris Wren public static final String APPWIDGET_PROVIDER = "appWidgetProvider"; 231f4d081107f5984bfb92cb1a627667fea5bf1498cChris Wren 232f4d081107f5984bfb92cb1a627667fea5bf1498cChris Wren /** 233f4d081107f5984bfb92cb1a627667fea5bf1498cChris Wren * Boolean indicating that his item was restored and not yet successfully bound. 234f4d081107f5984bfb92cb1a627667fea5bf1498cChris Wren * <P>Type: INTEGER</P> 235f4d081107f5984bfb92cb1a627667fea5bf1498cChris Wren */ 2362fb2f0bcfcd25eeaf423660fa30be7a2d4ace5b7Sunny Goyal public static final String RESTORED = "restored"; 23708f7261d11a53ae4b330ad4fa897b8519de3d750Sunny Goyal 23808f7261d11a53ae4b330ad4fa897b8519de3d750Sunny Goyal /** 23908f7261d11a53ae4b330ad4fa897b8519de3d750Sunny Goyal * Indicates the position of the item inside an auto-arranged view like folder or hotseat. 24008f7261d11a53ae4b330ad4fa897b8519de3d750Sunny Goyal * <p>Type: INTEGER</p> 24108f7261d11a53ae4b330ad4fa897b8519de3d750Sunny Goyal */ 2422fb2f0bcfcd25eeaf423660fa30be7a2d4ace5b7Sunny Goyal public static final String RANK = "rank"; 2435d85c44fd873c740dc191b28424c2ee367d730a2Sunny Goyal 2445d85c44fd873c740dc191b28424c2ee367d730a2Sunny Goyal /** 2455d85c44fd873c740dc191b28424c2ee367d730a2Sunny Goyal * Stores general flag based options for {@link ItemInfo}s. 2465d85c44fd873c740dc191b28424c2ee367d730a2Sunny Goyal * <p>Type: INTEGER</p> 2475d85c44fd873c740dc191b28424c2ee367d730a2Sunny Goyal */ 2482fb2f0bcfcd25eeaf423660fa30be7a2d4ace5b7Sunny Goyal public static final String OPTIONS = "options"; 249c190dbfb784c0bca629b6966ce314d735cf98db3Sunny Goyal 250c190dbfb784c0bca629b6966ce314d735cf98db3Sunny Goyal public static void addTableToDb(SQLiteDatabase db, long myProfileId, boolean optional) { 251c190dbfb784c0bca629b6966ce314d735cf98db3Sunny Goyal String ifNotExists = optional ? " IF NOT EXISTS " : ""; 252c190dbfb784c0bca629b6966ce314d735cf98db3Sunny Goyal db.execSQL("CREATE TABLE " + ifNotExists + TABLE_NAME + " (" + 253c190dbfb784c0bca629b6966ce314d735cf98db3Sunny Goyal "_id INTEGER PRIMARY KEY," + 254c190dbfb784c0bca629b6966ce314d735cf98db3Sunny Goyal "title TEXT," + 255c190dbfb784c0bca629b6966ce314d735cf98db3Sunny Goyal "intent TEXT," + 256c190dbfb784c0bca629b6966ce314d735cf98db3Sunny Goyal "container INTEGER," + 257c190dbfb784c0bca629b6966ce314d735cf98db3Sunny Goyal "screen INTEGER," + 258c190dbfb784c0bca629b6966ce314d735cf98db3Sunny Goyal "cellX INTEGER," + 259c190dbfb784c0bca629b6966ce314d735cf98db3Sunny Goyal "cellY INTEGER," + 260c190dbfb784c0bca629b6966ce314d735cf98db3Sunny Goyal "spanX INTEGER," + 261c190dbfb784c0bca629b6966ce314d735cf98db3Sunny Goyal "spanY INTEGER," + 262c190dbfb784c0bca629b6966ce314d735cf98db3Sunny Goyal "itemType INTEGER," + 263c190dbfb784c0bca629b6966ce314d735cf98db3Sunny Goyal "appWidgetId INTEGER NOT NULL DEFAULT -1," + 264c190dbfb784c0bca629b6966ce314d735cf98db3Sunny Goyal "iconPackage TEXT," + 265c190dbfb784c0bca629b6966ce314d735cf98db3Sunny Goyal "iconResource TEXT," + 266c190dbfb784c0bca629b6966ce314d735cf98db3Sunny Goyal "icon BLOB," + 267c190dbfb784c0bca629b6966ce314d735cf98db3Sunny Goyal "appWidgetProvider TEXT," + 268c190dbfb784c0bca629b6966ce314d735cf98db3Sunny Goyal "modified INTEGER NOT NULL DEFAULT 0," + 269c190dbfb784c0bca629b6966ce314d735cf98db3Sunny Goyal "restored INTEGER NOT NULL DEFAULT 0," + 270c190dbfb784c0bca629b6966ce314d735cf98db3Sunny Goyal "profileId INTEGER DEFAULT " + myProfileId + "," + 271c190dbfb784c0bca629b6966ce314d735cf98db3Sunny Goyal "rank INTEGER NOT NULL DEFAULT 0," + 272c190dbfb784c0bca629b6966ce314d735cf98db3Sunny Goyal "options INTEGER NOT NULL DEFAULT 0" + 273c190dbfb784c0bca629b6966ce314d735cf98db3Sunny Goyal ");"); 274c190dbfb784c0bca629b6966ce314d735cf98db3Sunny Goyal } 27531dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project } 2767779d62308b87ca26e3be47df836893f6f7693ecSunny Goyal 2777779d62308b87ca26e3be47df836893f6f7693ecSunny Goyal /** 2787779d62308b87ca26e3be47df836893f6f7693ecSunny Goyal * Launcher settings 2797779d62308b87ca26e3be47df836893f6f7693ecSunny Goyal */ 2807779d62308b87ca26e3be47df836893f6f7693ecSunny Goyal public static final class Settings { 2817779d62308b87ca26e3be47df836893f6f7693ecSunny Goyal 2827779d62308b87ca26e3be47df836893f6f7693ecSunny Goyal public static final Uri CONTENT_URI = Uri.parse("content://" + 2837779d62308b87ca26e3be47df836893f6f7693ecSunny Goyal ProviderConfig.AUTHORITY + "/settings"); 2847779d62308b87ca26e3be47df836893f6f7693ecSunny Goyal 285d249748abf357925b326d57ab68eb6c2b23c4ef6Sunny Goyal public static final String METHOD_CLEAR_EMPTY_DB_FLAG = "clear_empty_db_flag"; 286a5c8a9eb666da16bc4c9ea4412868e22ace8d1f0Sunny Goyal public static final String METHOD_WAS_EMPTY_DB_CREATED = "get_empty_db_flag"; 287d249748abf357925b326d57ab68eb6c2b23c4ef6Sunny Goyal 288d249748abf357925b326d57ab68eb6c2b23c4ef6Sunny Goyal public static final String METHOD_DELETE_EMPTY_FOLDERS = "delete_empty_folders"; 289d249748abf357925b326d57ab68eb6c2b23c4ef6Sunny Goyal 290d249748abf357925b326d57ab68eb6c2b23c4ef6Sunny Goyal public static final String METHOD_NEW_ITEM_ID = "generate_new_item_id"; 291d249748abf357925b326d57ab68eb6c2b23c4ef6Sunny Goyal public static final String METHOD_NEW_SCREEN_ID = "generate_new_screen_id"; 292d249748abf357925b326d57ab68eb6c2b23c4ef6Sunny Goyal 293d249748abf357925b326d57ab68eb6c2b23c4ef6Sunny Goyal public static final String METHOD_CREATE_EMPTY_DB = "create_empty_db"; 294d249748abf357925b326d57ab68eb6c2b23c4ef6Sunny Goyal public static final String METHOD_DELETE_DB = "delete_db"; 295d249748abf357925b326d57ab68eb6c2b23c4ef6Sunny Goyal 296d249748abf357925b326d57ab68eb6c2b23c4ef6Sunny Goyal public static final String METHOD_LOAD_DEFAULT_FAVORITES = "load_default_favorites"; 2977779d62308b87ca26e3be47df836893f6f7693ecSunny Goyal 298827cef203f386cb548b98a7fa9888b75478c8e20Tony Wickham public static final String METHOD_SET_EXTRACTED_COLORS_AND_WALLPAPER_ID = 299827cef203f386cb548b98a7fa9888b75478c8e20Tony Wickham "set_extracted_colors_and_wallpaper_id_setting"; 300827cef203f386cb548b98a7fa9888b75478c8e20Tony Wickham public static final String EXTRA_EXTRACTED_COLORS = "extra_extractedColors"; 301827cef203f386cb548b98a7fa9888b75478c8e20Tony Wickham public static final String EXTRA_WALLPAPER_ID = "extra_wallpaperId"; 302827cef203f386cb548b98a7fa9888b75478c8e20Tony Wickham 3037779d62308b87ca26e3be47df836893f6f7693ecSunny Goyal public static final String EXTRA_VALUE = "value"; 304d249748abf357925b326d57ab68eb6c2b23c4ef6Sunny Goyal 305d249748abf357925b326d57ab68eb6c2b23c4ef6Sunny Goyal public static Bundle call(ContentResolver cr, String method) { 306d249748abf357925b326d57ab68eb6c2b23c4ef6Sunny Goyal return cr.call(CONTENT_URI, method, null, null); 307d249748abf357925b326d57ab68eb6c2b23c4ef6Sunny Goyal } 3087779d62308b87ca26e3be47df836893f6f7693ecSunny Goyal } 30931dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project} 310