Clearing DB instead of deleting the DB file.
> Deleting a file/reinitializing the openHelper variable is not thread safe
and can cause the sqlite instance ot go in an invalid state
Change-Id: I54d992c7e3daee82e6dad38d6bfbfcbf8ede506c
diff --git a/src/com/android/launcher3/LauncherProvider.java b/src/com/android/launcher3/LauncherProvider.java
index f095a05..1390e67 100644
--- a/src/com/android/launcher3/LauncherProvider.java
+++ b/src/com/android/launcher3/LauncherProvider.java
@@ -454,14 +454,7 @@
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());
- mOpenHelper.mListener = mListener;
+ mOpenHelper.createEmptyDB(mOpenHelper.getWritableDatabase());
}
private static class DatabaseHelper extends SQLiteOpenHelper implements LayoutParserCallback {