summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/LauncherProvider.java
diff options
context:
space:
mode:
authorChris Wren <cwren@android.com>2013-12-20 17:22:11 -0500
committerDanesh M <daneshm90@gmail.com>2014-06-06 22:54:25 -0700
commit60f748d669be4794afb2b41add3a399973553429 (patch)
tree4d79c6fa1d8790658f07ce6d0afc1b09c3936b98 /src/com/android/launcher3/LauncherProvider.java
parent03aec6cf90e244fb88b1b01a3543d4da56742a39 (diff)
downloadandroid_packages_apps_Trebuchet-60f748d669be4794afb2b41add3a399973553429.tar.gz
android_packages_apps_Trebuchet-60f748d669be4794afb2b41add3a399973553429.tar.bz2
android_packages_apps_Trebuchet-60f748d669be4794afb2b41add3a399973553429.zip
restore app favorites and screens
version 0: restore assuming apps are already installed. Bug: 10779035 Change-Id: I7f9aa418a7d3d5460a79a229c0fbc80305b5eb5c
Diffstat (limited to 'src/com/android/launcher3/LauncherProvider.java')
-rw-r--r--src/com/android/launcher3/LauncherProvider.java13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/com/android/launcher3/LauncherProvider.java b/src/com/android/launcher3/LauncherProvider.java
index 78ad84ecf..e689b2e4c 100644
--- a/src/com/android/launcher3/LauncherProvider.java
+++ b/src/com/android/launcher3/LauncherProvider.java
@@ -141,9 +141,10 @@ public class LauncherProvider extends ContentProvider {
if (values == null) {
throw new RuntimeException("Error: attempting to insert null values");
}
- if (!values.containsKey(LauncherSettings.Favorites._ID)) {
+ if (!values.containsKey(LauncherSettings.BaseLauncherColumns._ID)) {
throw new RuntimeException("Error: attempting to add item without specifying an id");
}
+ helper.checkId(table, values);
return db.insert(table, nullColumnHack, values);
}
@@ -274,6 +275,7 @@ public class LauncherProvider extends ContentProvider {
SharedPreferences sp = getContext().getSharedPreferences(spKey, Context.MODE_PRIVATE);
if (sp.getBoolean(EMPTY_DATABASE_CREATED, false)) {
+ Log.d(TAG, "loading default workspace");
int workspaceResId = origWorkspaceResId;
// Use default workspace resource if none provided
@@ -960,6 +962,15 @@ public class LauncherProvider extends ContentProvider {
mMaxItemId = id + 1;
}
+ public void checkId(String table, ContentValues values) {
+ long id = values.getAsLong(LauncherSettings.BaseLauncherColumns._ID);
+ if (table == LauncherProvider.TABLE_WORKSPACE_SCREENS) {
+ mMaxScreenId = Math.max(id, mMaxScreenId);
+ } else {
+ mMaxItemId = Math.max(id, mMaxItemId);
+ }
+ }
+
private long initializeMaxItemId(SQLiteDatabase db) {
Cursor c = db.rawQuery("SELECT MAX(_id) FROM favorites", null);