From b1543cbcba8af0b8c15ce8c1f2dc35ca5c5f7017 Mon Sep 17 00:00:00 2001 From: David Gonzalez Date: Tue, 30 Mar 2021 16:41:00 +0200 Subject: [PATCH 1/6] changed journal mode when creating db --- .../com/duckduckgo/app/di/DatabaseModule.kt | 3 +++ .../duckduckgo/app/global/db/AppDatabase.kt | 18 ++++++++++++------ 2 files changed, 15 insertions(+), 6 deletions(-) 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..e566ce73d96f 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 @@ -289,7 +289,7 @@ class MigrationsProvider( val userStage = UserStage(appStage = appStage) database.execSQL( "CREATE TABLE IF NOT EXISTS `$USER_STAGE_TABLE_NAME` " + - "(`key` INTEGER NOT NULL, `appStage` TEXT NOT NULL, PRIMARY KEY(`key`))" + "(`key` INTEGER NOT NULL, `appStage` TEXT NOT NULL, PRIMARY KEY(`key`))" ) database.execSQL( "INSERT INTO $USER_STAGE_TABLE_NAME VALUES (${userStage.key}, \"${userStage.appStage}\") " @@ -334,14 +334,14 @@ class MigrationsProvider( // SQLite does not support Alter table operations like Foreign keys database.execSQL( "CREATE TABLE IF NOT EXISTS tabs_new " + - "(tabId TEXT NOT NULL, url TEXT, title TEXT, skipHome INTEGER NOT NULL, viewed INTEGER NOT NULL, position INTEGER NOT NULL, tabPreviewFile TEXT, sourceTabId TEXT," + - " PRIMARY KEY(tabId)," + - " FOREIGN KEY(sourceTabId) REFERENCES tabs(tabId) ON UPDATE SET NULL ON DELETE SET NULL )" + "(tabId TEXT NOT NULL, url TEXT, title TEXT, skipHome INTEGER NOT NULL, viewed INTEGER NOT NULL, position INTEGER NOT NULL, tabPreviewFile TEXT, sourceTabId TEXT," + + " PRIMARY KEY(tabId)," + + " FOREIGN KEY(sourceTabId) REFERENCES tabs(tabId) ON UPDATE SET NULL ON DELETE SET NULL )" ) database.execSQL( "INSERT INTO tabs_new (tabId, url, title, skipHome, viewed, position, tabPreviewFile) " + - "SELECT tabId, url, title, skipHome, viewed, position, tabPreviewFile " + - "FROM tabs" + "SELECT tabId, url, title, skipHome, viewed, position, tabPreviewFile " + + "FROM tabs" ) database.execSQL("DROP TABLE tabs") database.execSQL("ALTER TABLE tabs_new RENAME TO tabs") @@ -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, From 5d6a2c9d8c2d863bc4056500c8c1a5d46f3c7d43 Mon Sep 17 00:00:00 2001 From: David Gonzalez Date: Thu, 1 Apr 2021 10:07:43 +0200 Subject: [PATCH 2/6] updated version for internal release --- app/version/version.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/version/version.properties b/app/version/version.properties index fd08e0b0edd5..eb994e40775b 100644 --- a/app/version/version.properties +++ b/app/version/version.properties @@ -1 +1 @@ -VERSION=5.79.0 \ No newline at end of file +VERSION=5.80.0 \ No newline at end of file From eee2732da1b913417bb499153f33b3e4d329f374 Mon Sep 17 00:00:00 2001 From: David Gonzalez Date: Thu, 1 Apr 2021 10:18:28 +0200 Subject: [PATCH 3/6] rollback version update --- app/version/version.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/version/version.properties b/app/version/version.properties index eb994e40775b..fd08e0b0edd5 100644 --- a/app/version/version.properties +++ b/app/version/version.properties @@ -1 +1 @@ -VERSION=5.80.0 \ No newline at end of file +VERSION=5.79.0 \ No newline at end of file From 0f813758b9d6e56160719c285334530ddb150824 Mon Sep 17 00:00:00 2001 From: David Gonzalez Date: Thu, 1 Apr 2021 10:51:16 +0200 Subject: [PATCH 4/6] made app debuggable for testing --- app/build.gradle | 1 + app/version/version.properties | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index d5f75aff4631..ac40879e5f81 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -55,6 +55,7 @@ android { } release { minifyEnabled false + debuggable true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release manifestPlaceholders = [ diff --git a/app/version/version.properties b/app/version/version.properties index fd08e0b0edd5..eb994e40775b 100644 --- a/app/version/version.properties +++ b/app/version/version.properties @@ -1 +1 @@ -VERSION=5.79.0 \ No newline at end of file +VERSION=5.80.0 \ No newline at end of file From 285afe7ebb2599f7bec02790b0885a5907e9779d Mon Sep 17 00:00:00 2001 From: David Gonzalez Date: Thu, 1 Apr 2021 10:59:34 +0200 Subject: [PATCH 5/6] spotless check --- .../java/com/duckduckgo/app/global/db/AppDatabase.kt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) 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 e566ce73d96f..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 @@ -289,7 +289,7 @@ class MigrationsProvider( val userStage = UserStage(appStage = appStage) database.execSQL( "CREATE TABLE IF NOT EXISTS `$USER_STAGE_TABLE_NAME` " + - "(`key` INTEGER NOT NULL, `appStage` TEXT NOT NULL, PRIMARY KEY(`key`))" + "(`key` INTEGER NOT NULL, `appStage` TEXT NOT NULL, PRIMARY KEY(`key`))" ) database.execSQL( "INSERT INTO $USER_STAGE_TABLE_NAME VALUES (${userStage.key}, \"${userStage.appStage}\") " @@ -334,14 +334,14 @@ class MigrationsProvider( // SQLite does not support Alter table operations like Foreign keys database.execSQL( "CREATE TABLE IF NOT EXISTS tabs_new " + - "(tabId TEXT NOT NULL, url TEXT, title TEXT, skipHome INTEGER NOT NULL, viewed INTEGER NOT NULL, position INTEGER NOT NULL, tabPreviewFile TEXT, sourceTabId TEXT," + - " PRIMARY KEY(tabId)," + - " FOREIGN KEY(sourceTabId) REFERENCES tabs(tabId) ON UPDATE SET NULL ON DELETE SET NULL )" + "(tabId TEXT NOT NULL, url TEXT, title TEXT, skipHome INTEGER NOT NULL, viewed INTEGER NOT NULL, position INTEGER NOT NULL, tabPreviewFile TEXT, sourceTabId TEXT," + + " PRIMARY KEY(tabId)," + + " FOREIGN KEY(sourceTabId) REFERENCES tabs(tabId) ON UPDATE SET NULL ON DELETE SET NULL )" ) database.execSQL( "INSERT INTO tabs_new (tabId, url, title, skipHome, viewed, position, tabPreviewFile) " + - "SELECT tabId, url, title, skipHome, viewed, position, tabPreviewFile " + - "FROM tabs" + "SELECT tabId, url, title, skipHome, viewed, position, tabPreviewFile " + + "FROM tabs" ) database.execSQL("DROP TABLE tabs") database.execSQL("ALTER TABLE tabs_new RENAME TO tabs") From b89e157f534317938d601428a2fe8a565a55eaf4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Gonz=C3=A1lez?= Date: Fri, 2 Apr 2021 11:18:52 +0200 Subject: [PATCH 6/6] rollback unnecessary changes --- app/build.gradle | 1 - app/version/version.properties | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index ac40879e5f81..d5f75aff4631 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -55,7 +55,6 @@ android { } release { minifyEnabled false - debuggable true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release manifestPlaceholders = [ diff --git a/app/version/version.properties b/app/version/version.properties index eb994e40775b..fd08e0b0edd5 100644 --- a/app/version/version.properties +++ b/app/version/version.properties @@ -1 +1 @@ -VERSION=5.80.0 \ No newline at end of file +VERSION=5.79.0 \ No newline at end of file