• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.provider.BaseColumns;
20 import android.net.Uri;
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 
137         /**
138          * The screen holding the favorite (if container is CONTAINER_DESKTOP)
139          * <P>Type: INTEGER</P>
140          */
141         static final String SCREEN = "screen";
142 
143         /**
144          * The X coordinate of the cell holding the favorite
145          * (if container is CONTAINER_DESKTOP or CONTAINER_DOCK)
146          * <P>Type: INTEGER</P>
147          */
148         static final String CELLX = "cellX";
149 
150         /**
151          * The Y coordinate of the cell holding the favorite
152          * (if container is CONTAINER_DESKTOP)
153          * <P>Type: INTEGER</P>
154          */
155         static final String CELLY = "cellY";
156 
157         /**
158          * The X span of the cell holding the favorite
159          * <P>Type: INTEGER</P>
160          */
161         static final String SPANX = "spanX";
162 
163         /**
164          * The Y span of the cell holding the favorite
165          * <P>Type: INTEGER</P>
166          */
167         static final String SPANY = "spanY";
168 
169         /**
170          * The favorite is a user created folder
171          */
172         static final int ITEM_TYPE_USER_FOLDER = 2;
173 
174         /**
175          * The favorite is a live folder
176          */
177         static final int ITEM_TYPE_LIVE_FOLDER = 3;
178 
179         /**
180          * The favorite is a widget
181          */
182         static final int ITEM_TYPE_APPWIDGET = 4;
183 
184         /**
185          * The favorite is a clock
186          */
187         static final int ITEM_TYPE_WIDGET_CLOCK = 1000;
188 
189         /**
190          * The favorite is a search widget
191          */
192         static final int ITEM_TYPE_WIDGET_SEARCH = 1001;
193 
194         /**
195          * The favorite is a photo frame
196          */
197         static final int ITEM_TYPE_WIDGET_PHOTO_FRAME = 1002;
198 
199         /**
200          * The appWidgetId of the widget
201          *
202          * <P>Type: INTEGER</P>
203          */
204         static final String APPWIDGET_ID = "appWidgetId";
205 
206         /**
207          * Indicates whether this favorite is an application-created shortcut or not.
208          * If the value is 0, the favorite is not an application-created shortcut, if the
209          * value is 1, it is an application-created shortcut.
210          * <P>Type: INTEGER</P>
211          */
212         @Deprecated
213         static final String IS_SHORTCUT = "isShortcut";
214 
215         /**
216          * The URI associated with the favorite. It is used, for instance, by
217          * live folders to find the content provider.
218          * <P>Type: TEXT</P>
219          */
220         static final String URI = "uri";
221 
222         /**
223          * The display mode if the item is a live folder.
224          * <P>Type: INTEGER</P>
225          *
226          * @see android.provider.LiveFolders#DISPLAY_MODE_GRID
227          * @see android.provider.LiveFolders#DISPLAY_MODE_LIST
228          */
229         static final String DISPLAY_MODE = "displayMode";
230     }
231 }
232