Итак, вот что я пытался сделать с Flow
, я показываю ProgressBar
в onStart
и пытаюсь скрыть ProgressBar
в onCompletion
.
В классе ViewModel appDatabase.eventDao().getAllEvents()
возвращает Flow<List<EntityEvents>
@ExperimentalCoroutinesApi
val allEvents: LiveData<Outcome<List<Event>>> = _fetchEvents.switchMap { _ ->
appDatabase.eventDao().getAllEvents()
.map { eventListMapper.map(it) }
.map { sortEventsBasedOnPreference(it) }
.flowOn(Dispatchers.IO)
.map { Outcome.success(it) }
.onStart { emitLoading(true) }
.onCompletion { emitLoading(false) }
.catch { emitFailure(it, R.string.err_something_wrong) }
.asLiveData(context = viewModelScope.coroutineContext)
}
Все работает нормально, что я не могу понять, почему не вызывается onCompletion
, когда задача завершена?