diff options
author | Michael Jurka <mikejurka@google.com> | 2012-04-25 16:41:14 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-04-25 16:41:14 -0700 |
commit | d452d4d76b69438704e4ca31063f418a860a6964 (patch) | |
tree | dc1dff9f78f6e4a609159d2d7e7883ca92cb8fde /src | |
parent | 8b805b17158886035b38261eb611d8641701ae43 (diff) | |
parent | b85f8a44b51258f22938773ca30dd85845345010 (diff) | |
download | android_packages_apps_Trebuchet-d452d4d76b69438704e4ca31063f418a860a6964.tar.gz android_packages_apps_Trebuchet-d452d4d76b69438704e4ca31063f418a860a6964.tar.bz2 android_packages_apps_Trebuchet-d452d4d76b69438704e4ca31063f418a860a6964.zip |
Merge "Postpone loading default favorites" into jb-dev
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/launcher2/LauncherModel.java | 3 | ||||
-rw-r--r-- | src/com/android/launcher2/LauncherProvider.java | 27 |
2 files changed, 28 insertions, 2 deletions
diff --git a/src/com/android/launcher2/LauncherModel.java b/src/com/android/launcher2/LauncherModel.java index efe4711aa..37235e960 100644 --- a/src/com/android/launcher2/LauncherModel.java +++ b/src/com/android/launcher2/LauncherModel.java @@ -989,6 +989,9 @@ public class LauncherModel extends BroadcastReceiver { final AppWidgetManager widgets = AppWidgetManager.getInstance(context); final boolean isSafeMode = manager.isSafeMode(); + // Make sure the default workspace is loaded, if needed + mApp.getLauncherProvider().loadDefaultFavoritesIfNecessary(); + sWorkspaceItems.clear(); sAppWidgets.clear(); sFolders.clear(); diff --git a/src/com/android/launcher2/LauncherProvider.java b/src/com/android/launcher2/LauncherProvider.java index d69dd34f5..297c097e9 100644 --- a/src/com/android/launcher2/LauncherProvider.java +++ b/src/com/android/launcher2/LauncherProvider.java @@ -27,6 +27,7 @@ import android.content.ContentUris; import android.content.ContentValues; import android.content.Context; import android.content.Intent; +import android.content.SharedPreferences; import android.content.pm.ActivityInfo; import android.content.pm.PackageManager; import android.content.res.Resources; @@ -70,6 +71,8 @@ public class LauncherProvider extends ContentProvider { static final String TABLE_FAVORITES = "favorites"; static final String PARAMETER_NOTIFY = "notify"; + static final String DB_CREATED_BUT_DEFAULT_WORKSPACE_NOT_LOADED = + "DB_CREATED_BUT_DEFAULT_WORKSPACE_NOT_LOADED"; /** * {@link Uri} triggered at any registered {@link android.database.ContentObserver} when @@ -196,6 +199,18 @@ public class LauncherProvider extends ContentProvider { return mOpenHelper.generateNewId(); } + public void loadDefaultFavoritesIfNecessary() { + String spKey = LauncherApplication.getSharedPreferencesKey(); + SharedPreferences sp = getContext().getSharedPreferences(spKey, Context.MODE_PRIVATE); + if (sp.getBoolean(DB_CREATED_BUT_DEFAULT_WORKSPACE_NOT_LOADED, false)) { + // Populate favorites table with initial favorites + SharedPreferences.Editor editor = sp.edit(); + editor.remove(DB_CREATED_BUT_DEFAULT_WORKSPACE_NOT_LOADED); + mOpenHelper.loadFavorites(mOpenHelper.getWritableDatabase(), R.xml.default_workspace); + editor.commit(); + } + } + private static class DatabaseHelper extends SQLiteOpenHelper { private static final String TAG_FAVORITES = "favorites"; private static final String TAG_FAVORITE = "favorite"; @@ -266,11 +281,19 @@ public class LauncherProvider extends ContentProvider { } if (!convertDatabase(db)) { - // Populate favorites table with initial favorites - loadFavorites(db, R.xml.default_workspace); + // Set a shared pref so that we know we need to load the default workspace later + setFlagToLoadDefaultWorkspaceLater(); } } + private void setFlagToLoadDefaultWorkspaceLater() { + String spKey = LauncherApplication.getSharedPreferencesKey(); + SharedPreferences sp = mContext.getSharedPreferences(spKey, Context.MODE_PRIVATE); + SharedPreferences.Editor editor = sp.edit(); + editor.putBoolean(DB_CREATED_BUT_DEFAULT_WORKSPACE_NOT_LOADED, true); + editor.commit(); + } + private boolean convertDatabase(SQLiteDatabase db) { if (LOGD) Log.d(TAG, "converting database from an older format, but not onUpgrade"); boolean converted = false; |