Как снова запустить (поток данных по страницам), если в начале нет Интернета

#android #kotlin #kotlin-coroutines #kotlinx.coroutines.flow

Вопрос:

Я пытаюсь сделать приложение с бесплатными ошибками, но я замечаю, что

Поток<Данные по страницам>

если я нажму на него в первый раз без Интернета, я не смогу нажать на него снова.

Поэтому мой вопрос в том, как снова включиться в поток в любое время, когда я захочу,

вот некоторые из моих кодов:-

Мой Фрагмент:

 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