LauncherSettings.java revision 7eb9e5e9257635cee5609ed633eb575fda93dd5a
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 17package com.android.launcher2; 18 19import android.provider.BaseColumns; 20import android.net.Uri; 21 22/** 23 * Settings related utilities. 24 */ 25class 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. When changing these values, be sure to update 95 * {@link com.android.settings.LauncherAppWidgetBinder} as needed. 96 */ 97 static final class Favorites implements BaseLauncherColumns { 98 /** 99 * The content:// style URL for this table 100 */ 101 static final Uri CONTENT_URI = Uri.parse("content://" + 102 LauncherProvider.AUTHORITY + "/" + LauncherProvider.TABLE_FAVORITES + 103 "?" + LauncherProvider.PARAMETER_NOTIFY + "=true"); 104 105 /** 106 * The content:// style URL for this table. When this Uri is used, no notification is 107 * sent if the content changes. 108 */ 109 static final Uri CONTENT_URI_NO_NOTIFICATION = Uri.parse("content://" + 110 LauncherProvider.AUTHORITY + "/" + LauncherProvider.TABLE_FAVORITES + 111 "?" + LauncherProvider.PARAMETER_NOTIFY + "=false"); 112 113 /** 114 * The content:// style URL for a given row, identified by its id. 115 * 116 * @param id The row id. 117 * @param notify True to send a notification is the content changes. 118 * 119 * @return The unique content URL for the specified row. 120 */ 121 static Uri getContentUri(long id, boolean notify) { 122 return Uri.parse("content://" + LauncherProvider.AUTHORITY + 123 "/" + LauncherProvider.TABLE_FAVORITES + "/" + id + "?" + 124 LauncherProvider.PARAMETER_NOTIFY + "=" + notify); 125 } 126 127 /** 128 * The container holding the favorite 129 * <P>Type: INTEGER</P> 130 */ 131 static final String CONTAINER = "container"; 132 133 /** 134 * The icon is a resource identified by a package name and an integer id. 135 */ 136 static final int CONTAINER_DESKTOP = -100; 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_DESKTOP or CONTAINER_DOCK) 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 favorite is a user created folder 172 */ 173 static final int ITEM_TYPE_USER_FOLDER = 2; 174 175 /** 176 * The favorite is a live folder 177 */ 178 static final int ITEM_TYPE_LIVE_FOLDER = 3; 179 180 /** 181 * The favorite is a widget 182 */ 183 static final int ITEM_TYPE_APPWIDGET = 4; 184 185 /** 186 * The favorite is a clock 187 */ 188 static final int ITEM_TYPE_WIDGET_CLOCK = 1000; 189 190 /** 191 * The favorite is a search widget 192 */ 193 static final int ITEM_TYPE_WIDGET_SEARCH = 1001; 194 195 /** 196 * The favorite is a photo frame 197 */ 198 static final int ITEM_TYPE_WIDGET_PHOTO_FRAME = 1002; 199 200 /** 201 * The appWidgetId of the widget 202 * 203 * <P>Type: INTEGER</P> 204 */ 205 static final String APPWIDGET_ID = "appWidgetId"; 206 207 /** 208 * Indicates whether this favorite is an application-created shortcut or not. 209 * If the value is 0, the favorite is not an application-created shortcut, if the 210 * value is 1, it is an application-created shortcut. 211 * <P>Type: INTEGER</P> 212 */ 213 @Deprecated 214 static final String IS_SHORTCUT = "isShortcut"; 215 216 /** 217 * The URI associated with the favorite. It is used, for instance, by 218 * live folders to find the content provider. 219 * <P>Type: TEXT</P> 220 */ 221 static final String URI = "uri"; 222 223 /** 224 * The display mode if the item is a live folder. 225 * <P>Type: INTEGER</P> 226 * 227 * @see android.provider.LiveFolders#DISPLAY_MODE_GRID 228 * @see android.provider.LiveFolders#DISPLAY_MODE_LIST 229 */ 230 static final String DISPLAY_MODE = "displayMode"; 231 } 232} 233