From 01a479ccc4c8d13dc56a2eced4055a7864a7abc3 Mon Sep 17 00:00:00 2001 From: Vasu Nori Date: Mon, 10 Jan 2011 23:20:39 -0800 Subject: [PATCH] bug:3339065 enable sqlite concurrency enhancing feature on settingsprovider why is settingsprovider doing getReadbleDatabase() in onCreate() method? it shoul do getWritableDatabse() so that sqlite's WAL feature can be enabled on it. Change-Id: I60e46ce240a6474bbb50ab26fb1d979242b0c9ad --- .../com/android/providers/settings/SettingsProvider.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java index 6e2bfdbd66d80..f8809d7421e08 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java @@ -262,11 +262,8 @@ public class SettingsProvider extends ContentProvider { // Watch for external modifications to the database file, // keeping our cache in sync. - // It's kinda lame to call mOpenHelper.getReadableDatabase() - // during onCreate(), but since ensureAndroidIdIsSet has - // already done it above and initialized/upgraded the - // database, might as well just use it... - SQLiteDatabase db = mOpenHelper.getReadableDatabase(); + SQLiteDatabase db = mOpenHelper.getWritableDatabase(); + db.enableWriteAheadLogging(); sObserverInstance = new SettingsFileObserver(db.getPath()); sObserverInstance.startWatching(); startAsyncCachePopulation();