Skip to content

Commit bd5c749

Browse files
Use onStart in usecase 1
1 parent 5f50826 commit bd5c749

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

app/src/main/java/com/lukaslechner/coroutineusecasesonandroid/usecases/flow/usecase1/FlowUseCase1ViewModel.kt

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@ import androidx.lifecycle.MutableLiveData
44
import androidx.lifecycle.viewModelScope
55
import com.lukaslechner.coroutineusecasesonandroid.base.BaseViewModel
66
import kotlinx.coroutines.flow.launchIn
7+
import kotlinx.coroutines.flow.map
78
import kotlinx.coroutines.flow.onEach
9+
import kotlinx.coroutines.flow.onStart
810

911
class FlowUseCase1ViewModel(
1012
stockPriceDataSource: StockPriceDataSource
@@ -15,8 +17,14 @@ class FlowUseCase1ViewModel(
1517
init {
1618
stockPriceDataSource
1719
.latestStockList
18-
.onEach { stockList ->
19-
currentStockPriceAsLiveData.value = UiState.Success(stockList)
20+
.map { stockList ->
21+
UiState.Success(stockList) as UiState
22+
}
23+
.onStart {
24+
emit(UiState.Loading)
25+
}
26+
.onEach { uiState ->
27+
currentStockPriceAsLiveData.value = uiState
2028
}
2129
.launchIn(viewModelScope)
2230
}

0 commit comments

Comments
 (0)