Как снова запустить (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

0 ответов

Другие вопросы по тегам