diff --git a/app/src/main/java/me/ash/reader/ui/page/home/reading/ReadingViewModel.kt b/app/src/main/java/me/ash/reader/ui/page/home/reading/ReadingViewModel.kt index d312078d..61b571c1 100644 --- a/app/src/main/java/me/ash/reader/ui/page/home/reading/ReadingViewModel.kt +++ b/app/src/main/java/me/ash/reader/ui/page/home/reading/ReadingViewModel.kt @@ -48,6 +48,8 @@ class ReadingViewModel @Inject constructor( private val currentFeed: Feed? get() = readingUiState.value.articleWithFeed?.feed + private var initialArticleItems: List = emptyList() + fun initData(articleId: String) { setLoading() viewModelScope.launch(ioDispatcher) { @@ -151,7 +153,11 @@ class ReadingViewModel @Inject constructor( } fun prefetchArticleId(pagingItems: ItemSnapshotList) { - val items = pagingItems.items + if (initialArticleItems.isEmpty()) { + initialArticleItems = pagingItems.items + } + + val items = initialArticleItems val currentId = currentArticle?.id val index = items.indexOfFirst { item -> item is ArticleFlowItem.Article && item.articleWithFeed.article.id == currentId