From 33f90e7b55abbaf110bfb2728ded8949c08b8134 Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Mon, 30 Nov 2015 10:59:35 -0800 Subject: [PATCH] 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 --- src/com/android/launcher3/LauncherProvider.java | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/com/android/launcher3/LauncherProvider.java b/src/com/android/launcher3/LauncherProvider.java index f095a054e..1390e67ad 100644 --- a/src/com/android/launcher3/LauncherProvider.java +++ b/src/com/android/launcher3/LauncherProvider.java @@ -454,14 +454,7 @@ public class LauncherProvider extends ContentProvider { 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 { -- 2.11.0