From ead4965247aa23ed5e89dc9a8ae40d95f3df6648 Mon Sep 17 00:00:00 2001 From: sanjeok77 <1+sanjeok77@noreply.localhost> Date: Thu, 20 Aug 2026 23:16:34 +0000 Subject: [PATCH] =?UTF-8?q?v0.2.4:=20Add=20ArcaLive=20(=EC=95=84=EC=B9=B4?= =?UTF-8?q?=EB=9D=BC=EC=9D=B4=EB=B8=8C)=20hotdeal=20support=20&=20settings?= =?UTF-8?q?=20toggle=20&=20main=20filter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../alarm/presentation/main/MainViewModel.kt | 28 +++++++++++-------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/hotdeal/alarm/presentation/main/MainViewModel.kt b/app/src/main/java/com/hotdeal/alarm/presentation/main/MainViewModel.kt index cba5f56..186eb7d 100644 --- a/app/src/main/java/com/hotdeal/alarm/presentation/main/MainViewModel.kt +++ b/app/src/main/java/com/hotdeal/alarm/presentation/main/MainViewModel.kt @@ -48,19 +48,23 @@ class MainViewModel @Inject constructor( private suspend fun initializeDefaultSiteConfigs() { val existingConfigs = siteConfigDao.getAllConfigs() - if (existingConfigs.isEmpty()) { - val defaultConfigs = SiteType.entries.flatMap { site -> - site.boards.map { board -> - SiteConfigEntity( - siteBoardKey = "${site.name}_${board.id}", - siteName = site.name, - boardName = board.id, - displayName = "${site.displayName} - ${board.displayName}", - isEnabled = false - ) - } + val existingKeys = existingConfigs.map { it.siteBoardKey }.toSet() + + val allDefaultConfigs = SiteType.entries.flatMap { site -> + site.boards.map { board -> + SiteConfigEntity( + siteBoardKey = "${site.name}_${board.id}", + siteName = site.name, + boardName = board.id, + displayName = "${site.displayName} - ${board.displayName}", + isEnabled = false + ) } - siteConfigDao.insertConfigs(defaultConfigs) + } + + val missingConfigs = allDefaultConfigs.filter { it.siteBoardKey !in existingKeys } + if (missingConfigs.isNotEmpty()) { + siteConfigDao.insertConfigs(missingConfigs) } }