This commit is contained in:
Horis
2022-10-25 15:40:37 +08:00
parent d93c8f1d21
commit c0528dc0b5
2 changed files with 5 additions and 9 deletions
@@ -125,11 +125,9 @@ class RssArticlesFragment() : VMBaseFragment<RssArticlesViewModel>(R.layout.frag
viewModel.loadErrorLiveData.observe(viewLifecycleOwner) {
loadMoreView.error(it)
}
viewModel.loadFinallyLiveData.observe(viewLifecycleOwner) {
viewModel.loadFinallyLiveData.observe(viewLifecycleOwner) { hasMore ->
binding.refreshLayout.isRefreshing = false
if (it) {
loadMoreView.stopLoad()
} else {
if (!hasMore) {
loadMoreView.noMore()
}
}
@@ -35,6 +35,7 @@ class RssArticlesViewModel(application: Application) : BaseViewModel(application
fun loadContent(rssSource: RssSource) {
isLoading = true
page = 1
order = System.currentTimeMillis()
Rss.getArticles(viewModelScope, sortName, sortUrl, rssSource, page)
.onSuccess(Dispatchers.IO) {
nextPageUrl = it.second
@@ -45,12 +46,9 @@ class RssArticlesViewModel(application: Application) : BaseViewModel(application
appDb.rssArticleDao.insert(*list.toTypedArray())
if (!rssSource.ruleNextPage.isNullOrEmpty()) {
appDb.rssArticleDao.clearOld(rssSource.sourceUrl, sortName, order)
loadFinallyLiveData.postValue(true)
} else {
withContext(Dispatchers.Main) {
loadFinallyLiveData.postValue(false)
}
}
val hasMore = list.isNotEmpty() && !rssSource.ruleNextPage.isNullOrEmpty()
loadFinallyLiveData.postValue(hasMore)
isLoading = false
}
}.onError {