1 /* 2 * Copyright (C) 2008 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.android.launcher2; 18 19 import android.net.Uri; 20 import android.provider.BaseColumns; 21 22 /** 23 * Settings related utilities. 24 */ 25 class LauncherSettings { 26 static interface BaseLauncherColumns extends BaseColumns { 27 /** 28 * Descriptive name of the gesture that can be displayed to the user. 29 * <P>Type: TEXT</P> 30 */ 31 static final String TITLE = "title"; 32 33 /** 34 * The Intent URL of the gesture, describing what it points to. This 35 * value is given to {@link android.content.Intent#parseUri(String, int)} to create 36 * an Intent that can be launched. 37 * <P>Type: TEXT</P> 38 */ 39 static final String INTENT = "intent"; 40 41 /** 42 * The type of the gesture 43 * 44 * <P>Type: INTEGER</P> 45 */ 46 static final String ITEM_TYPE = "itemType"; 47 48 /** 49 * The gesture is an application 50 */ 51 static final int ITEM_TYPE_APPLICATION = 0; 52 53 /** 54 * The gesture is an application created shortcut 55 */ 56 static final int ITEM_TYPE_SHORTCUT = 1; 57 58 /** 59 * The icon type. 60 * <P>Type: INTEGER</P> 61 */ 62 static final String ICON_TYPE = "iconType"; 63 64 /** 65 * The icon is a resource identified by a package name and an integer id. 66 */ 67 static final int ICON_TYPE_RESOURCE = 0; 68 69 /** 70 * The icon is a bitmap. 71 */ 72 static final int ICON_TYPE_BITMAP = 1; 73 74 /** 75 * The icon package name, if icon type is ICON_TYPE_RESOURCE. 76 * <P>Type: TEXT</P> 77 */ 78 static final String ICON_PACKAGE = "iconPackage"; 79 80 /** 81 * The icon resource id, if icon type is ICON_TYPE_RESOURCE. 82 * <P>Type: TEXT</P> 83 */ 84 static final String ICON_RESOURCE = "iconResource"; 85 86 /** 87 * The custom icon bitmap, if icon type is ICON_TYPE_BITMAP. 88 * <P>Type: BLOB</P> 89 */ 90 static final String ICON = "icon"; 91 } 92 93 /** 94 * Favorites. 95 */ 96 static final class Favorites implements BaseLauncherColumns { 97 /** 98 * The content:// style URL for this table 99 */ 100 static final Uri CONTENT_URI = Uri.parse("content://" + 101 LauncherProvider.AUTHORITY + "/" + LauncherProvider.TABLE_FAVORITES + 102 "?" + LauncherProvider.PARAMETER_NOTIFY + "=true"); 103 104 /** 105 * The content:// style URL for this table. When this Uri is used, no notification is 106 * sent if the content changes. 107 */ 108 static final Uri CONTENT_URI_NO_NOTIFICATION = Uri.parse("content://" + 109 LauncherProvider.AUTHORITY + "/" + LauncherProvider.TABLE_FAVORITES + 110 "?" + LauncherProvider.PARAMETER_NOTIFY + "=false"); 111 112 /** 113 * The content:// style URL for a given row, identified by its id. 114 * 115 * @param id The row id. 116 * @param notify True to send a notification is the content changes. 117 * 118 * @return The unique content URL for the specified row. 119 */ getContentUri(long id, boolean notify)120 static Uri getContentUri(long id, boolean notify) { 121 return Uri.parse("content://" + LauncherProvider.AUTHORITY + 122 "/" + LauncherProvider.TABLE_FAVORITES + "/" + id + "?" + 123 LauncherProvider.PARAMETER_NOTIFY + "=" + notify); 124 } 125 126 /** 127 * The container holding the favorite 128 * <P>Type: INTEGER</P> 129 */ 130 static final String CONTAINER = "container"; 131 132 /** 133 * The icon is a resource identified by a package name and an integer id. 134 */ 135 static final int CONTAINER_DESKTOP = -100; 136 static final int CONTAINER_HOTSEAT = -101; 137 138 /** 139 * The screen holding the favorite (if container is CONTAINER_DESKTOP) 140 * <P>Type: INTEGER</P> 141 */ 142 static final String SCREEN = "screen"; 143 144 /** 145 * The X coordinate of the cell holding the favorite 146 * (if container is CONTAINER_HOTSEAT or CONTAINER_HOTSEAT) 147 * <P>Type: INTEGER</P> 148 */ 149 static final String CELLX = "cellX"; 150 151 /** 152 * The Y coordinate of the cell holding the favorite 153 * (if container is CONTAINER_DESKTOP) 154 * <P>Type: INTEGER</P> 155 */ 156 static final String CELLY = "cellY"; 157 158 /** 159 * The X span of the cell holding the favorite 160 * <P>Type: INTEGER</P> 161 */ 162 static final String SPANX = "spanX"; 163 164 /** 165 * The Y span of the cell holding the favorite 166 * <P>Type: INTEGER</P> 167 */ 168 static final String SPANY = "spanY"; 169 170 /** 171 * The profile id of the item in the cell. 172 * <P> 173 * Type: INTEGER 174 * </P> 175 */ 176 static final String PROFILE_ID = "profileId"; 177 178 /** 179 * The favorite is a user created folder 180 */ 181 static final int ITEM_TYPE_FOLDER = 2; 182 183 /** 184 * The favorite is a live folder 185 * 186 * Note: live folders can no longer be added to Launcher, and any live folders which 187 * exist within the launcher database will be ignored when loading. That said, these 188 * entries in the database may still exist, and are not automatically stripped. 189 */ 190 static final int ITEM_TYPE_LIVE_FOLDER = 3; 191 192 /** 193 * The favorite is a widget 194 */ 195 static final int ITEM_TYPE_APPWIDGET = 4; 196 197 /** 198 * The favorite is a clock 199 */ 200 static final int ITEM_TYPE_WIDGET_CLOCK = 1000; 201 202 /** 203 * The favorite is a search widget 204 */ 205 static final int ITEM_TYPE_WIDGET_SEARCH = 1001; 206 207 /** 208 * The favorite is a photo frame 209 */ 210 static final int ITEM_TYPE_WIDGET_PHOTO_FRAME = 1002; 211 212 /** 213 * The appWidgetId of the widget 214 * 215 * <P>Type: INTEGER</P> 216 */ 217 static final String APPWIDGET_ID = "appWidgetId"; 218 219 /** 220 * Indicates whether this favorite is an application-created shortcut or not. 221 * If the value is 0, the favorite is not an application-created shortcut, if the 222 * value is 1, it is an application-created shortcut. 223 * <P>Type: INTEGER</P> 224 */ 225 @Deprecated 226 static final String IS_SHORTCUT = "isShortcut"; 227 228 /** 229 * The URI associated with the favorite. It is used, for instance, by 230 * live folders to find the content provider. 231 * <P>Type: TEXT</P> 232 */ 233 static final String URI = "uri"; 234 235 /** 236 * The display mode if the item is a live folder. 237 * <P>Type: INTEGER</P> 238 * 239 * @see android.provider.LiveFolders#DISPLAY_MODE_GRID 240 * @see android.provider.LiveFolders#DISPLAY_MODE_LIST 241 */ 242 static final String DISPLAY_MODE = "displayMode"; 243 } 244 } 245