From 4e681234fdc14ac160b71bbd07f51e9eb555de2e Mon Sep 17 00:00:00 2001 From: MM20 <15646950+MM2-0@users.noreply.github.com> Date: Tue, 22 Aug 2023 21:51:51 +0200 Subject: [PATCH] Add missing name column --- .../de/mm20/launcher2/database/AppDatabase.kt | 3 +++ .../mm20/launcher2/database/daos/ThemeDao.kt | 27 +++++++++++++++++++ .../database/entities/ThemeEntity.kt | 2 ++ .../database/migrations/Migration_24_25.kt | 6 ++++- 4 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 core/database/src/main/java/de/mm20/launcher2/database/daos/ThemeDao.kt diff --git a/core/database/src/main/java/de/mm20/launcher2/database/AppDatabase.kt b/core/database/src/main/java/de/mm20/launcher2/database/AppDatabase.kt index afedd858..dd9805a6 100644 --- a/core/database/src/main/java/de/mm20/launcher2/database/AppDatabase.kt +++ b/core/database/src/main/java/de/mm20/launcher2/database/AppDatabase.kt @@ -8,6 +8,7 @@ import androidx.room.Room import androidx.room.RoomDatabase import androidx.room.TypeConverters import androidx.sqlite.db.SupportSQLiteDatabase +import de.mm20.launcher2.database.daos.ThemeDao import de.mm20.launcher2.database.entities.CurrencyEntity import de.mm20.launcher2.database.entities.CustomAttributeEntity import de.mm20.launcher2.database.entities.ForecastEntity @@ -66,6 +67,8 @@ abstract class AppDatabase : RoomDatabase() { abstract fun searchActionDao(): SearchActionDao + abstract fun themeDao(): ThemeDao + companion object { private var _instance: AppDatabase? = null fun getInstance(context: Context): AppDatabase { diff --git a/core/database/src/main/java/de/mm20/launcher2/database/daos/ThemeDao.kt b/core/database/src/main/java/de/mm20/launcher2/database/daos/ThemeDao.kt new file mode 100644 index 00000000..ea350d24 --- /dev/null +++ b/core/database/src/main/java/de/mm20/launcher2/database/daos/ThemeDao.kt @@ -0,0 +1,27 @@ +package de.mm20.launcher2.database.daos + +import androidx.room.Dao +import androidx.room.Insert +import androidx.room.Query +import androidx.room.Update +import de.mm20.launcher2.database.entities.ThemeEntity +import kotlinx.coroutines.flow.Flow +import java.util.UUID + +@Dao +interface ThemeDao { + @Query("SELECT * FROM Theme") + fun getAll(): Flow> + + @Query("SELECT * FROM Theme WHERE id = :id LIMIT 1") + fun get(id: UUID): Flow + + @Insert + suspend fun insert(theme: ThemeEntity) + + @Update + suspend fun update(theme: ThemeEntity) + + @Query("DELETE FROM Theme WHERE id = :id") + suspend fun delete(id: UUID) +} \ No newline at end of file diff --git a/core/database/src/main/java/de/mm20/launcher2/database/entities/ThemeEntity.kt b/core/database/src/main/java/de/mm20/launcher2/database/entities/ThemeEntity.kt index 69099ffb..b7a5fbf1 100644 --- a/core/database/src/main/java/de/mm20/launcher2/database/entities/ThemeEntity.kt +++ b/core/database/src/main/java/de/mm20/launcher2/database/entities/ThemeEntity.kt @@ -7,6 +7,8 @@ import java.util.UUID @Entity(tableName = "Theme") data class ThemeEntity( @PrimaryKey val id: UUID, + val name: String, + val corePaletteA1: Int?, val corePaletteA2: Int?, val corePaletteA3: Int?, diff --git a/core/database/src/main/java/de/mm20/launcher2/database/migrations/Migration_24_25.kt b/core/database/src/main/java/de/mm20/launcher2/database/migrations/Migration_24_25.kt index 11143b83..ab0c649b 100644 --- a/core/database/src/main/java/de/mm20/launcher2/database/migrations/Migration_24_25.kt +++ b/core/database/src/main/java/de/mm20/launcher2/database/migrations/Migration_24_25.kt @@ -3,6 +3,7 @@ package de.mm20.launcher2.database.migrations import android.content.Context import androidx.room.migration.Migration import androidx.sqlite.db.SupportSQLiteDatabase +import de.mm20.launcher2.database.R import de.mm20.launcher2.ktx.toBytes import de.mm20.launcher2.preferences.LauncherDataStore import kotlinx.coroutines.flow.first @@ -22,6 +23,8 @@ class Migration_24_25( """ CREATE TABLE IF NOT EXISTS `Theme` ( `id` BLOB NOT NULL, + `name` TEXT NOT NULL, + `corePaletteA1` INTEGER, `corePaletteA2` INTEGER, `corePaletteA3` INTEGER, @@ -119,11 +122,12 @@ class Migration_24_25( ?,?,?,?,?,?,?,?,?,?, ?,?,?,?,?,?,?,?,?,?, ?,?,?,?,?,?,?,?,?,?, - ?,?,?,?,?,?,?,?,? + ?,?,?,?,?,?,?,?,?,? ) """.trimIndent(), arrayOf( uuid.toBytes(), + context.getString(R.string.preference_colors_custom), customColors.baseColors.accent1.toHexColor(), customColors.baseColors.accent2.toHexColor(), customColors.baseColors.accent3.toHexColor(),