diff options
author | Michael Jurka <mikejurka@google.com> | 2012-04-25 15:48:32 -0700 |
---|---|---|
committer | Michael Jurka <mikejurka@google.com> | 2012-04-25 16:14:16 -0700 |
commit | b85f8a44b51258f22938773ca30dd85845345010 (patch) | |
tree | 9b2fdc818df6386f3add58b9c46140b3c2d9948f /src/com/android/launcher2/LauncherProvider.java | |
parent | 58039d634cb36da561501ccfafc266e1d83d0b4f (diff) | |
download | android_packages_apps_Trebuchet-b85f8a44b51258f22938773ca30dd85845345010.tar.gz android_packages_apps_Trebuchet-b85f8a44b51258f22938773ca30dd85845345010.tar.bz2 android_packages_apps_Trebuchet-b85f8a44b51258f22938773ca30dd85845345010.zip |
Postpone loading default favorites
- postpone until Launcher activity is created
- gives setup wizard time to set flags before
we load the default workspace
Diffstat (limited to 'src/com/android/launcher2/LauncherProvider.java')
-rw-r--r-- | src/com/android/launcher2/LauncherProvider.java | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/src/com/android/launcher2/LauncherProvider.java b/src/com/android/launcher2/LauncherProvider.java index c8fb09e58..b89d632c2 100644 --- a/src/com/android/launcher2/LauncherProvider.java +++ b/src/com/android/launcher2/LauncherProvider.java @@ -34,6 +34,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; @@ -71,6 +72,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 @@ -197,6 +200,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"; @@ -267,11 +282,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; |