From f4d081107f5984bfb92cb1a627667fea5bf1498c Mon Sep 17 00:00:00 2001 From: Chris Wren Date: Thu, 16 Jan 2014 18:13:56 -0500 Subject: handle shortcut restore for missing packages Bug: 10778992 Change-Id: I8766b8d4dd9c0269d52a7ec3da58dd408bc5f09f --- src/com/android/launcher3/LauncherProvider.java | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) (limited to 'src/com/android/launcher3/LauncherProvider.java') diff --git a/src/com/android/launcher3/LauncherProvider.java b/src/com/android/launcher3/LauncherProvider.java index 52bcf98e7..cec9167f3 100644 --- a/src/com/android/launcher3/LauncherProvider.java +++ b/src/com/android/launcher3/LauncherProvider.java @@ -68,7 +68,7 @@ public class LauncherProvider extends ContentProvider { private static final String DATABASE_NAME = "launcher.db"; - private static final int DATABASE_VERSION = 15; + private static final int DATABASE_VERSION = 16; static final String OLD_AUTHORITY = "com.android.launcher2.settings"; static final String AUTHORITY = ProviderConfig.AUTHORITY; @@ -409,7 +409,8 @@ public class LauncherProvider extends ContentProvider { "uri TEXT," + "displayMode INTEGER," + "appWidgetProvider TEXT," + - "modified INTEGER NOT NULL DEFAULT 0" + + "modified INTEGER NOT NULL DEFAULT 0," + + "restored INTEGER NOT NULL DEFAULT 0" + ");"); addWorkspacesTable(db); @@ -716,7 +717,6 @@ public class LauncherProvider extends ContentProvider { } } - if (version < 15) { db.beginTransaction(); try { @@ -735,6 +735,23 @@ public class LauncherProvider extends ContentProvider { } } + + if (version < 16) { + db.beginTransaction(); + try { + // Insert new column for holding restore status + db.execSQL("ALTER TABLE favorites " + + "ADD COLUMN restored INTEGER NOT NULL DEFAULT 0;"); + db.setTransactionSuccessful(); + version = 16; + } 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); -- cgit v1.2.3