From b4de86b84eb831b38fc86dc73d2a37f8184fd5c1 Mon Sep 17 00:00:00 2001 From: sowjanyakch Date: Tue, 20 May 2025 11:32:24 +0200 Subject: [PATCH] add database migration Signed-off-by: sowjanyakch --- .../data/database/model/ConversationEntity.kt | 2 +- .../talk/data/source/local/Migrations.kt | 19 +++++++++++++++++++ .../talk/data/source/local/TalkDatabase.kt | 5 +++-- 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/data/database/model/ConversationEntity.kt b/app/src/main/java/com/nextcloud/talk/data/database/model/ConversationEntity.kt index 2eeeea549..d37691981 100644 --- a/app/src/main/java/com/nextcloud/talk/data/database/model/ConversationEntity.kt +++ b/app/src/main/java/com/nextcloud/talk/data/database/model/ConversationEntity.kt @@ -95,7 +95,7 @@ data class ConversationEntity( @ColumnInfo(name = "unreadMentionDirect") var unreadMentionDirect: Boolean, @ColumnInfo(name = "unreadMessages") var unreadMessages: Int = 0, @ColumnInfo(name = "hasArchived") var hasArchived: Boolean = false, - @ColumnInfo(name = "isSensitive") var isSensitive:Boolean = false + @ColumnInfo(name = "isSensitive") var isSensitive: Boolean = false // missing/not needed: attendeeId // missing/not needed: attendeePin // missing/not needed: attendeePermissions diff --git a/app/src/main/java/com/nextcloud/talk/data/source/local/Migrations.kt b/app/src/main/java/com/nextcloud/talk/data/source/local/Migrations.kt index af8089edf..5bef18556 100644 --- a/app/src/main/java/com/nextcloud/talk/data/source/local/Migrations.kt +++ b/app/src/main/java/com/nextcloud/talk/data/source/local/Migrations.kt @@ -62,6 +62,13 @@ object Migrations { } } + val MIGRATION_14_15 = object : Migration(14, 15) { + override fun migrate(db: SupportSQLiteDatabase) { + Log.i("Migrations", "Migrating 14 to 15") + addisSensitive(db) + } + } + fun migrateToRoom(db: SupportSQLiteDatabase) { db.execSQL( "CREATE TABLE User_new (" + @@ -283,6 +290,18 @@ object Migrations { } } + + fun addisSensitive(db: SupportSQLiteDatabase) { + try { + db.execSQL( + "ALTER TABLE Conversations " + + "ADD COLUMN isSensitive INTEGER NOT NULL DEFAULT 0;" + ) + } catch (e: SQLException) { + Log.i("Migrations", "Something went wrong when adding column isSensitive to table Conversations") + } + } + fun addTempMessagesSupport(db: SupportSQLiteDatabase) { try { db.execSQL( diff --git a/app/src/main/java/com/nextcloud/talk/data/source/local/TalkDatabase.kt b/app/src/main/java/com/nextcloud/talk/data/source/local/TalkDatabase.kt index d86a9f4c0..96f192511 100644 --- a/app/src/main/java/com/nextcloud/talk/data/source/local/TalkDatabase.kt +++ b/app/src/main/java/com/nextcloud/talk/data/source/local/TalkDatabase.kt @@ -49,7 +49,7 @@ import java.util.Locale ChatMessageEntity::class, ChatBlockEntity::class ], - version = 14, + version = 15, autoMigrations = [ AutoMigration(from = 9, to = 10) ], @@ -116,7 +116,8 @@ abstract class TalkDatabase : RoomDatabase() { Migrations.MIGRATION_10_11, Migrations.MIGRATION_11_12, Migrations.MIGRATION_12_13, - Migrations.MIGRATION_13_14 + Migrations.MIGRATION_13_14, + Migrations.MIGRATION_14_15 ) .allowMainThreadQueries() .addCallback(