summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChris Wren <cwren@android.com>2013-09-16 14:02:29 -0400
committerChris Wren <cwren@android.com>2013-09-17 08:45:08 -0400
commitd5e66bfca1dc4fdbab7513d88c6568bc4d17bca8 (patch)
tree6710a7dc5d73fc4fdf2139159eb491026388ab49 /src
parentc639f8cdab11c603e25b5ae38282dddcb939d401 (diff)
downloadandroid_packages_apps_Trebuchet-d5e66bfca1dc4fdbab7513d88c6568bc4d17bca8.tar.gz
android_packages_apps_Trebuchet-d5e66bfca1dc4fdbab7513d88c6568bc4d17bca8.tar.bz2
android_packages_apps_Trebuchet-d5e66bfca1dc4fdbab7513d88c6568bc4d17bca8.zip
remember the provider path when creating a widget.
Bug: 10779026 Change-Id: I4f5b619087868a8f637c433c29e3aa6856ccc97d
Diffstat (limited to 'src')
-rw-r--r--src/com/android/launcher3/LauncherAppWidgetInfo.java1
-rw-r--r--src/com/android/launcher3/LauncherProvider.java22
-rw-r--r--src/com/android/launcher3/LauncherSettings.java7
3 files changed, 28 insertions, 2 deletions
diff --git a/src/com/android/launcher3/LauncherAppWidgetInfo.java b/src/com/android/launcher3/LauncherAppWidgetInfo.java
index 3fc67cb5f..28df90fb0 100644
--- a/src/com/android/launcher3/LauncherAppWidgetInfo.java
+++ b/src/com/android/launcher3/LauncherAppWidgetInfo.java
@@ -65,6 +65,7 @@ class LauncherAppWidgetInfo extends ItemInfo {
void onAddToDatabase(ContentValues values) {
super.onAddToDatabase(values);
values.put(LauncherSettings.Favorites.APPWIDGET_ID, appWidgetId);
+ values.put(LauncherSettings.Favorites.APPWIDGET_PROVIDER, providerName.flattenToString());
}
/**
diff --git a/src/com/android/launcher3/LauncherProvider.java b/src/com/android/launcher3/LauncherProvider.java
index 5e8a619cf..fa61b1185 100644
--- a/src/com/android/launcher3/LauncherProvider.java
+++ b/src/com/android/launcher3/LauncherProvider.java
@@ -65,7 +65,7 @@ public class LauncherProvider extends ContentProvider {
private static final String DATABASE_NAME = "launcher.db";
- private static final int DATABASE_VERSION = 13;
+ private static final int DATABASE_VERSION = 14;
static final String OLD_AUTHORITY = "com.android.launcher2.settings";
static final String AUTHORITY = "com.android.launcher3.settings";
@@ -342,7 +342,8 @@ public class LauncherProvider extends ContentProvider {
"iconResource TEXT," +
"icon BLOB," +
"uri TEXT," +
- "displayMode INTEGER" +
+ "displayMode INTEGER," +
+ "appWidgetProvider TEXT" +
");");
addWorkspacesTable(db);
@@ -626,6 +627,22 @@ public class LauncherProvider extends ContentProvider {
version = 13;
}
+ if (version < 14) {
+ db.beginTransaction();
+ try {
+ // Insert new column for holding widget provider name
+ db.execSQL("ALTER TABLE favorites " +
+ "ADD COLUMN appWidgetProvider TEXT;");
+ db.setTransactionSuccessful();
+ version = 14;
+ } catch (SQLException ex) {
+ // Old version remains, which means we wipe old data
+ Log.e(TAG, ex.getMessage(), ex);
+ } finally {
+ db.endTransaction();
+ }
+ }
+
if (version != DATABASE_VERSION) {
Log.w(TAG, "Destroying all old data.");
db.execSQL("DROP TABLE IF EXISTS " + TABLE_FAVORITES);
@@ -1244,6 +1261,7 @@ public class LauncherProvider extends ContentProvider {
values.put(Favorites.SPANX, spanX);
values.put(Favorites.SPANY, spanY);
values.put(Favorites.APPWIDGET_ID, appWidgetId);
+ values.put(Favorites.APPWIDGET_PROVIDER, cn.flattenToString());
values.put(Favorites._ID, generateNewItemId());
dbInsertAndCheck(this, db, TABLE_FAVORITES, null, values);
diff --git a/src/com/android/launcher3/LauncherSettings.java b/src/com/android/launcher3/LauncherSettings.java
index a2b9c8143..ada09e9b8 100644
--- a/src/com/android/launcher3/LauncherSettings.java
+++ b/src/com/android/launcher3/LauncherSettings.java
@@ -234,6 +234,13 @@ class LauncherSettings {
* <P>Type: INTEGER</P>
*/
static final String APPWIDGET_ID = "appWidgetId";
+
+ /**
+ * The ComponentName of the widget provider
+ *
+ * <P>Type: STRING</P>
+ */
+ public static final String APPWIDGET_PROVIDER = "appWidgetProvider";
/**
* Indicates whether this favorite is an application-created shortcut or not.