diff --git a/app/src/main/java/com/duckduckgo/app/di/DatabaseModule.kt b/app/src/main/java/com/duckduckgo/app/di/DatabaseModule.kt index 0eb4b89c59c8..3d91801ff8db 100644 --- a/app/src/main/java/com/duckduckgo/app/di/DatabaseModule.kt +++ b/app/src/main/java/com/duckduckgo/app/di/DatabaseModule.kt @@ -19,6 +19,7 @@ package com.duckduckgo.app.di import android.content.Context import android.webkit.WebViewDatabase import androidx.room.Room +import androidx.room.RoomDatabase import com.duckduckgo.app.browser.addtohome.AddToHomeCapabilityDetector import com.duckduckgo.app.browser.httpauth.RealWebViewHttpAuthStore import com.duckduckgo.app.browser.httpauth.WebViewHttpAuthStore @@ -53,6 +54,8 @@ class DatabaseModule { return Room.databaseBuilder(context, AppDatabase::class.java, "app.db") .addMigrations(*migrationsProvider.ALL_MIGRATIONS.toTypedArray()) .addCallback(migrationsProvider.BOOKMARKS_DB_ON_CREATE) + .addCallback(migrationsProvider.CHANGE_JOURNAL_ON_OPEN) + .setJournalMode(RoomDatabase.JournalMode.TRUNCATE) .build() } diff --git a/app/src/main/java/com/duckduckgo/app/global/db/AppDatabase.kt b/app/src/main/java/com/duckduckgo/app/global/db/AppDatabase.kt index c4ede9a905be..7172bc74b375 100644 --- a/app/src/main/java/com/duckduckgo/app/global/db/AppDatabase.kt +++ b/app/src/main/java/com/duckduckgo/app/global/db/AppDatabase.kt @@ -403,6 +403,12 @@ class MigrationsProvider( } } + val CHANGE_JOURNAL_ON_OPEN = object : RoomDatabase.Callback() { + override fun onOpen(db: SupportSQLiteDatabase) { + db.query("PRAGMA journal_mode=DELETE;").use { cursor -> cursor.moveToFirst() } + } + } + val ALL_MIGRATIONS: List get() = listOf( MIGRATION_1_TO_2,