File tree Expand file tree Collapse file tree 2 files changed +6
-6
lines changed
app/src/main/java/com/lukaslechner/coroutineusecasesonandroid/usecases/flow/usecase4 Expand file tree Collapse file tree 2 files changed +6
-6
lines changed Original file line number Diff line number Diff line change @@ -2,12 +2,14 @@ package com.lukaslechner.coroutineusecasesonandroid.usecases.flow.usecase4
22
33import android.os.Bundle
44import androidx.activity.viewModels
5+ import androidx.lifecycle.lifecycleScope
56import com.lukaslechner.coroutineusecasesonandroid.base.BaseActivity
67import com.lukaslechner.coroutineusecasesonandroid.base.flowUseCase4Description
78import com.lukaslechner.coroutineusecasesonandroid.databinding.ActivityFlowUsecase1Binding
89import com.lukaslechner.coroutineusecasesonandroid.utils.setGone
910import com.lukaslechner.coroutineusecasesonandroid.utils.setVisible
1011import com.lukaslechner.coroutineusecasesonandroid.utils.toast
12+ import kotlinx.coroutines.launch
1113import org.joda.time.LocalDateTime
1214import org.joda.time.format.DateTimeFormat
1315
@@ -25,8 +27,8 @@ class FlowUseCase4Activity : BaseActivity() {
2527 setContentView(binding.root)
2628 binding.recyclerView.adapter = adapter
2729
28- viewModel.currentStockPriceAsLiveData.observe( this ) { uiState ->
29- if ( uiState != null ) {
30+ lifecycleScope.launch {
31+ viewModel.currentStockPriceAsFlow.collect { uiState ->
3032 render(uiState)
3133 }
3234 }
Original file line number Diff line number Diff line change 11package com.lukaslechner.coroutineusecasesonandroid.usecases.flow.usecase4
22
3- import androidx.lifecycle.LiveData
4- import androidx.lifecycle.asLiveData
53import com.lukaslechner.coroutineusecasesonandroid.base.BaseViewModel
4+ import kotlinx.coroutines.flow.Flow
65import kotlinx.coroutines.flow.map
76import kotlinx.coroutines.flow.onCompletion
87import kotlinx.coroutines.flow.onStart
@@ -12,7 +11,7 @@ class FlowUseCase4ViewModel(
1211 stockPriceDataSource : StockPriceDataSource
1312) : BaseViewModel<UiState>() {
1413
15- val currentStockPriceAsLiveData : LiveData <UiState > = stockPriceDataSource
14+ val currentStockPriceAsFlow : Flow <UiState > = stockPriceDataSource
1615 .latestStockList
1716 .map { stockList ->
1817 UiState .Success (stockList) as UiState
@@ -23,5 +22,4 @@ class FlowUseCase4ViewModel(
2322 .onCompletion {
2423 Timber .tag(" Flow" ).d(" Flow has completed." )
2524 }
26- .asLiveData()
2725}
You can’t perform that action at this time.
0 commit comments