blob: 844abb5190e8495e76c265b87b0439f458a73bdf [file] [log] [blame]
The Android Open Source Project31dd5032009-03-03 19:32:27 -08001/*
2 * Copyright (C) 2009 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
Joe Onoratoa5902522009-07-30 13:37:37 -070017package com.android.launcher2;
The Android Open Source Project31dd5032009-03-03 19:32:27 -080018
The Android Open Source Project7376fae2009-03-11 12:11:58 -070019import android.appwidget.AppWidgetHostView;
Michael Jurkaaf442092010-06-10 17:01:57 -070020import android.content.ComponentName;
The Android Open Source Project31dd5032009-03-03 19:32:27 -080021import android.content.ContentValues;
The Android Open Source Project31dd5032009-03-03 19:32:27 -080022
23/**
Patrick Dubroy6569f2c2010-07-12 14:25:18 -070024 * Represents a widget (either instantiated or about to be) in the Launcher.
The Android Open Source Project31dd5032009-03-03 19:32:27 -080025 */
The Android Open Source Project7376fae2009-03-11 12:11:58 -070026class LauncherAppWidgetInfo extends ItemInfo {
The Android Open Source Project31dd5032009-03-03 19:32:27 -080027
28 /**
Patrick Dubroy6569f2c2010-07-12 14:25:18 -070029 * Indicates that the widget hasn't been instantiated yet.
30 */
31 static final int NO_ID = -1;
32
33 /**
Romain Guy629de3e2010-01-13 12:20:59 -080034 * Identifier for this widget when talking with
35 * {@link android.appwidget.AppWidgetManager} for updates.
The Android Open Source Project31dd5032009-03-03 19:32:27 -080036 */
Patrick Dubroy6569f2c2010-07-12 14:25:18 -070037 int appWidgetId = NO_ID;
38
Michael Jurkaaf442092010-06-10 17:01:57 -070039 ComponentName providerName;
Adam Cohended9f8d2010-11-03 13:25:16 -070040
Patrick Dubroy6569f2c2010-07-12 14:25:18 -070041 // TODO: Are these necessary here?
42 int minWidth = -1;
43 int minHeight = -1;
44
The Android Open Source Project31dd5032009-03-03 19:32:27 -080045 /**
The Android Open Source Project7376fae2009-03-11 12:11:58 -070046 * View that holds this widget after it's been created. This view isn't created
The Android Open Source Project31dd5032009-03-03 19:32:27 -080047 * until Launcher knows it's needed.
48 */
The Android Open Source Project7376fae2009-03-11 12:11:58 -070049 AppWidgetHostView hostView = null;
The Android Open Source Project31dd5032009-03-03 19:32:27 -080050
Patrick Dubroy6569f2c2010-07-12 14:25:18 -070051 /**
52 * Constructor for use with AppWidgets that haven't been instantiated yet.
53 */
54 LauncherAppWidgetInfo(ComponentName providerName) {
55 itemType = LauncherSettings.Favorites.ITEM_TYPE_APPWIDGET;
56 this.providerName = providerName;
57
58 // Since the widget isn't instantiated yet, we don't know these values. Set them to -1
59 // to indicate that they should be calculated based on the layout and minWidth/minHeight
60 spanX = -1;
61 spanY = -1;
62 }
63
The Android Open Source Project7376fae2009-03-11 12:11:58 -070064 LauncherAppWidgetInfo(int appWidgetId) {
65 itemType = LauncherSettings.Favorites.ITEM_TYPE_APPWIDGET;
66 this.appWidgetId = appWidgetId;
The Android Open Source Project31dd5032009-03-03 19:32:27 -080067 }
Adam Cohended9f8d2010-11-03 13:25:16 -070068
The Android Open Source Project31dd5032009-03-03 19:32:27 -080069 @Override
70 void onAddToDatabase(ContentValues values) {
71 super.onAddToDatabase(values);
The Android Open Source Project7376fae2009-03-11 12:11:58 -070072 values.put(LauncherSettings.Favorites.APPWIDGET_ID, appWidgetId);
The Android Open Source Project31dd5032009-03-03 19:32:27 -080073 }
74
75 @Override
76 public String toString() {
Daniel Sandler8802e962010-05-26 16:28:16 -040077 return "AppWidget(id=" + Integer.toString(appWidgetId) + ")";
The Android Open Source Project31dd5032009-03-03 19:32:27 -080078 }
Joe Onorato9c1289c2009-08-17 11:03:03 -040079
Joe Onorato9c1289c2009-08-17 11:03:03 -040080 @Override
81 void unbind() {
82 super.unbind();
83 hostView = null;
84 }
The Android Open Source Project31dd5032009-03-03 19:32:27 -080085}