Как снова запустить (Flow of PagingData), если вначале нет интернета
Я пытаюсь сделать приложение с бесплатными ошибками, но замечаю, что
Поток <PagingData>
если я попаду в него в первый раз без интернета, я не смогу попасть в него снова.
Итак, мой вопрос в том, как повторно попасть в поток в любое время, когда я захочу,
вот часть моего кода:-
Мой фрагмент:
override fun setBindingVariables() {
binding.viewModel = viewModel
// I have a fotter to keep loading the data in the recycler
// when the internet comes back BUT the first hit SHOULD be with Internet
binding.adapter.adapter = redditPostsAdapter.withLoadStateFooter(
footer = SampleLoadStateAdapter { redditPostsAdapter.retry() }
)
}
override fun setUpViewAndActions() {
lifecycleScope.launch(Dispatchers.Main) {
viewModel.state.collect {
redditPostsAdapter.apply {
submitData(it)
}
}
}
Моя модель просмотра:
var state: Flow<PagingData<ServicesProviderModel>> =
repository.getServicesProviders().cachedIn(viewModelScope)
и наконец
Мое репо:
override fun getServicesProviders(): Flow<PagingData<ServicesProviderModel>> =
Pager(
PagingConfig(pageSize = 5),
pagingSourceFactory = { homeRemotePageSource },
).flow