@@ -5,15 +5,17 @@ import androidx.lifecycle.viewModelScope
55import com.yapp.core.common.android.record
66import com.yapp.core.ui.mvi.MviIntentStore
77import com.yapp.core.ui.mvi.mviIntentStore
8+ import com.yapp.dataapi.UserRepository
89import dagger.hilt.android.lifecycle.HiltViewModel
910import kotlinx.coroutines.flow.catch
1011import kotlinx.coroutines.flow.launchIn
12+ import kotlinx.coroutines.flow.map
1113import kotlinx.coroutines.flow.onEach
1214import javax.inject.Inject
1315
1416@HiltViewModel
1517internal class PreviousHistoryViewModel @Inject constructor(
16- private val previousHistoryUseCase : PreviousHistoryUseCase
18+ private val userRepository : UserRepository
1719): ViewModel() {
1820
1921 val store: MviIntentStore <PreviousHistoryState , PreviousHistoryIntent , PreviousHistorySideEffect > = mviIntentStore(
@@ -32,13 +34,24 @@ internal class PreviousHistoryViewModel @Inject constructor(
3234 sideEffect(PreviousHistorySideEffect .Finish )
3335 }
3436 PreviousHistoryIntent .OnEntryScreen -> {
35- previousHistoryUseCase.invoke()
36- .catch { it.record() }
37- .onEach { result ->
38- reduce {
39- copy(items = result.items)
37+ userRepository.getUserActivityHistories().map { result ->
38+ PreviousHistoryState (
39+ items = result.activityUnits.map { unit ->
40+ PreviousHistoryState .History (
41+ generation = unit.generation,
42+ position = unit.position,
43+ activityStartDate = unit.activityStartDate,
44+ activityEndDate = unit.activityEndDate
45+ )
4046 }
41- }.launchIn(viewModelScope)
47+ )
48+ }.catch {
49+ it.record()
50+ }.onEach { result ->
51+ reduce {
52+ copy(items = result.items)
53+ }
54+ }.launchIn(viewModelScope)
4255 }
4356 }
4457 }
0 commit comments