From a4a6492945c4a91e5c82e0fd1abee4e8d3e28278 Mon Sep 17 00:00:00 2001 From: sanjeok77 <1+sanjeok77@noreply.localhost> Date: Mon, 24 Aug 2026 23:02:06 +0000 Subject: [PATCH] v0.3.3: fix dead code in initializeApp - split coroutines --- .../hotdeal/alarm/presentation/main/MainViewModel.kt | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 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 c19c8c2..574abe7 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 @@ -44,11 +44,18 @@ class MainViewModel @Inject constructor( } private fun initializeApp() { + // 1. 사이트 설정 초기화 후 DB Flow 구독 (별도 코루틴 — collect는 영원히 suspend) viewModelScope.launch { initializeDefaultSiteConfigs() - loadState() + loadState() // combine().collect — 이 코루틴은 영원히 살아있음 + } + + // 2. 백그라운드 폴링 등록 + 즉시 1회 스크래핑 (별도 코루틴) + viewModelScope.launch { val savedInterval = appSettings.pollingInterval.first() - startPolling(savedInterval.toLong()) + workerScheduler.schedulePeriodicPolling(savedInterval.toLong()) + // 앱 시작 시 즉시 1회 실행하여 최신 데이터 갱신 + workerScheduler.executeOnce() } }