Slackbot
07/10/2020, 7:56 AMMayank
07/10/2020, 12:41 PMprivate val refreshChannel = ConflatedBroadcastChannel<Unit>()
private val coinsFlow: Flow<Resource<List<Coin>>> = refreshChannel.asFlow().transformLatest { emitAll(loadCoins()) }
val coins = coinsFlow.asLiveData()
fun onSwipeRefresh() {
refreshChannel.offer(Unit)
}
You can also use live data for refresh
private val refreshLiveData = MutableLiveData<Unit>(Unit)
val coins: LiveData<Resource<List<Coin>>> = refreshLiveData.switchMap { loadCoins().asLiveData() }
fun onSwipeRefresh() {
refreshLiveData.value = Unit
}