Skip to content

Commit 674852b

Browse files
committed
Feat: 추천 루틴 목록 재 조회 로직 구현
- 감정 등록 시 추천 루틴 목록을 다시 받아오도록 구현
1 parent e928a36 commit 674852b

1 file changed

Lines changed: 11 additions & 0 deletions

File tree

presentation/src/main/java/com/threegap/bitnagil/presentation/recommendroutine/RecommendRoutineViewModel.kt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package com.threegap.bitnagil.presentation.recommendroutine
22

33
import androidx.lifecycle.SavedStateHandle
44
import androidx.lifecycle.viewModelScope
5+
import com.threegap.bitnagil.domain.emotion.usecase.GetEmotionChangeEventFlowUseCase
56
import com.threegap.bitnagil.domain.recommendroutine.model.RecommendCategory
67
import com.threegap.bitnagil.domain.recommendroutine.model.RecommendLevel
78
import com.threegap.bitnagil.domain.recommendroutine.usecase.FetchRecommendRoutinesUseCase
@@ -21,13 +22,15 @@ import javax.inject.Inject
2122
class RecommendRoutineViewModel @Inject constructor(
2223
savedStateHandle: SavedStateHandle,
2324
private val fetchRecommendRoutinesUseCase: FetchRecommendRoutinesUseCase,
25+
private val getEmotionChangeEventFlowUseCase: GetEmotionChangeEventFlowUseCase,
2426
) : MviViewModel<RecommendRoutineState, RecommendRoutineSideEffect, RecommendRoutineIntent>(
2527
initState = RecommendRoutineState(),
2628
savedStateHandle = savedStateHandle,
2729
) {
2830

2931
init {
3032
loadRecommendRoutines()
33+
observeEmotionChangeEvent()
3134
}
3235

3336
private var recommendRoutines: RecommendRoutinesUiModel = RecommendRoutinesUiModel()
@@ -90,6 +93,14 @@ class RecommendRoutineViewModel @Inject constructor(
9093
}
9194
}
9295

96+
private fun observeEmotionChangeEvent() {
97+
viewModelScope.launch {
98+
getEmotionChangeEventFlowUseCase().collect {
99+
loadRecommendRoutines()
100+
}
101+
}
102+
}
103+
93104
private fun loadRecommendRoutines() {
94105
sendIntent(RecommendRoutineIntent.UpdateLoading(true))
95106
viewModelScope.launch {

0 commit comments

Comments
 (0)