diff options
author | Jason Monk <jmonk@google.com> | 2014-03-21 13:32:21 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-03-21 13:32:22 +0000 |
commit | 784305b135f280d29f51b0ae7caf602248227079 (patch) | |
tree | 8ddfe5c760fbfeb93b89678eaacd080c26c1ff8b /src/com/android/launcher2/LauncherProvider.java | |
parent | efb6fe514e8f63aac7c76fbc3d2505821967edc8 (diff) | |
parent | f627f9cd1fb376c206c8a68d052fc36ebc0aaa1d (diff) | |
download | Launcher2-784305b135f280d29f51b0ae7caf602248227079.tar.gz |
Merge "Add optional flag to clear old preloaded workspace" into klp-devandroid-4.4w_r1android-4.4.4_r2.0.1android-4.4.4_r2android-4.4.4_r1.0.1android-4.4.4_r1android-4.4.3_r1.1.0.1android-4.4.3_r1.1android-4.4.3_r1.0.1android-4.4.3_r1kitkat-wearkitkat-mr2.2-releasekitkat-mr2.1-releasekitkat-mr2-releasekitkat-dev
Diffstat (limited to 'src/com/android/launcher2/LauncherProvider.java')
-rw-r--r-- | src/com/android/launcher2/LauncherProvider.java | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/src/com/android/launcher2/LauncherProvider.java b/src/com/android/launcher2/LauncherProvider.java index 8097ac99..2a485737 100644 --- a/src/com/android/launcher2/LauncherProvider.java +++ b/src/com/android/launcher2/LauncherProvider.java @@ -55,6 +55,7 @@ import com.android.launcher2.LauncherSettings.Favorites; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; +import java.io.File; import java.io.IOException; import java.net.URISyntaxException; import java.util.ArrayList; @@ -208,10 +209,13 @@ public class LauncherProvider extends ContentProvider { /** * @param workspaceResId that can be 0 to use default or non-zero for specific resource */ - synchronized public void loadDefaultFavoritesIfNecessary(int origWorkspaceResId) { + synchronized public void loadDefaultFavoritesIfNecessary(int origWorkspaceResId, + boolean overridePrevious) { String spKey = LauncherApplication.getSharedPreferencesKey(); SharedPreferences sp = getContext().getSharedPreferences(spKey, Context.MODE_PRIVATE); - if (sp.getBoolean(DB_CREATED_BUT_DEFAULT_WORKSPACE_NOT_LOADED, false)) { + boolean dbCreatedNoWorkspace = + sp.getBoolean(DB_CREATED_BUT_DEFAULT_WORKSPACE_NOT_LOADED, false); + if (dbCreatedNoWorkspace || overridePrevious) { int workspaceResId = origWorkspaceResId; // Use default workspace resource if none provided @@ -225,11 +229,27 @@ public class LauncherProvider extends ContentProvider { if (origWorkspaceResId != 0) { editor.putInt(DEFAULT_WORKSPACE_RESOURCE_ID, origWorkspaceResId); } + if (!dbCreatedNoWorkspace && overridePrevious) { + if (LOGD) Log.d(TAG, "Clearing old launcher database"); + // Workspace has already been loaded, clear the database. + deleteDatabase(); + } mOpenHelper.loadFavorites(mOpenHelper.getWritableDatabase(), workspaceResId); editor.commit(); } } + public void deleteDatabase() { + // Are you sure? (y/n) + final SQLiteDatabase db = mOpenHelper.getWritableDatabase(); + final File dbFile = new File(db.getPath()); + mOpenHelper.close(); + if (dbFile.exists()) { + SQLiteDatabase.deleteDatabase(dbFile); + } + mOpenHelper = new DatabaseHelper(getContext()); + } + private static class DatabaseHelper extends SQLiteOpenHelper { private static final String TAG_FAVORITES = "favorites"; private static final String TAG_FAVORITE = "favorite"; |