Skip to content

Commit df78e0b

Browse files
committed
NR-130 HintViewModel에서 SharedViewModel의 데이터를 바로 꺼내 사용하도록 수정
왜? 기존에는 Fragment가 collect해서 세팅해주었으나 assistedInject 받았으므로 바로 값을 꺼내 사용하도록 해준다.
1 parent 4232668 commit df78e0b

File tree

2 files changed

+4
-20
lines changed

2 files changed

+4
-20
lines changed

presentation/src/main/java/com/nextroom/nextroom/presentation/ui/hint/HintFragment.kt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -85,12 +85,6 @@ class HintFragment : ComposeBaseViewModelFragment<HintViewModel>() {
8585

8686
override fun initSubscribe() {
8787
viewLifecycleOwner.repeatOnStarted {
88-
launch {
89-
gameSharedViewModel.state.collect { gameSharedState ->
90-
gameSharedState.currentHint?.let { viewModel.setHint(it) }
91-
viewModel.setSubscribeStatus(gameSharedState.subscribeStatus)
92-
}
93-
}
9488
launch {
9589
viewModel.uiEvent.collect(::handleEvent)
9690
}

presentation/src/main/java/com/nextroom/nextroom/presentation/ui/hint/HintViewModel.kt

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
package com.nextroom.nextroom.presentation.ui.hint
22

3-
import com.nextroom.nextroom.domain.model.SubscribeStatus
43
import com.nextroom.nextroom.domain.repository.DataStoreRepository
54
import com.nextroom.nextroom.domain.repository.TimerRepository
65
import com.nextroom.nextroom.presentation.base.NewBaseViewModel
7-
import com.nextroom.nextroom.presentation.model.Hint
86
import com.nextroom.nextroom.presentation.ui.main.GameSharedViewModel
97
import dagger.assisted.Assisted
108
import dagger.assisted.AssistedFactory
@@ -29,8 +27,10 @@ class HintViewModel @AssistedInject constructor(
2927
gameSharedViewModel.state
3028
) { state, gameSharedState ->
3129
state.copy(
32-
isHintOpened = state.hint.id in gameSharedState.openedHintIds,
33-
isAnswerOpened = state.hint.id in gameSharedState.openedAnswerIds,
30+
hint = gameSharedState.currentHint ?: state.hint,
31+
userSubscribeStatus = gameSharedState.subscribeStatus,
32+
isHintOpened = (gameSharedState.currentHint?.id ?: state.hint.id) in gameSharedState.openedHintIds,
33+
isAnswerOpened = (gameSharedState.currentHint?.id ?: state.hint.id) in gameSharedState.openedAnswerIds,
3434
totalHintCount = gameSharedState.totalHintCount
3535
)
3636
}.stateIn(
@@ -58,16 +58,6 @@ class HintViewModel @AssistedInject constructor(
5858
_uiState.value = _uiState.value.copy(networkDisconnectedCount = count)
5959
}
6060

61-
fun setHint(hint: Hint) {
62-
_uiState.value = _uiState.value.copy(
63-
hint = hint
64-
)
65-
}
66-
67-
fun setSubscribeStatus(subscribeStatus: SubscribeStatus) {
68-
_uiState.value = _uiState.value.copy(userSubscribeStatus = subscribeStatus)
69-
}
70-
7161
fun tryOpenHint(hintId: Int) {
7262
val openedCount = gameSharedViewModel.getOpenedHintCount()
7363
val openableHintCount = uiState.value.totalHintCount

0 commit comments

Comments
 (0)