summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher2/LauncherProvider.java
diff options
context:
space:
mode:
authorMichael Jurka <mikejurka@google.com>2012-04-25 15:48:32 -0700
committerMichael Jurka <mikejurka@google.com>2012-04-25 16:14:16 -0700
commitb85f8a44b51258f22938773ca30dd85845345010 (patch)
tree9b2fdc818df6386f3add58b9c46140b3c2d9948f /src/com/android/launcher2/LauncherProvider.java
parent58039d634cb36da561501ccfafc266e1d83d0b4f (diff)
downloadandroid_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.java27
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;