diff options
author | Chris Wren <cwren@android.com> | 2013-12-20 17:22:11 -0500 |
---|---|---|
committer | Chris Wren <cwren@android.com> | 2014-01-14 11:23:07 -0500 |
commit | 5dee7aff5fa8774d37977d12df7ce8986752321d (patch) | |
tree | 3efba04873c5bf5121737ec4918a8c8c65ed3f56 /src/com/android/launcher3/LauncherProvider.java | |
parent | 1ae293c647fa44f458625774e2ea119a61814e63 (diff) | |
download | android_packages_apps_Trebuchet-5dee7aff5fa8774d37977d12df7ce8986752321d.tar.gz android_packages_apps_Trebuchet-5dee7aff5fa8774d37977d12df7ce8986752321d.tar.bz2 android_packages_apps_Trebuchet-5dee7aff5fa8774d37977d12df7ce8986752321d.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.java | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/com/android/launcher3/LauncherProvider.java b/src/com/android/launcher3/LauncherProvider.java index 7adbadea1..5676a9adb 100644 --- a/src/com/android/launcher3/LauncherProvider.java +++ b/src/com/android/launcher3/LauncherProvider.java @@ -138,9 +138,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); } @@ -271,6 +272,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 @@ -882,6 +884,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); |