Merge pull request #5989 from Bnyro/master

fix: crash when trying to dearrow feed items
This commit is contained in:
Bnyro 2024-05-07 12:28:57 +02:00 committed by GitHub
commit 22ddf00518
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -212,17 +212,19 @@ class SubscriptionsFragment : DynamicLayoutManagerFragment() {
if (viewModel.videoFeed.value != null && !isCurrentTabSubChannels && !binding.subRefresh.isRefreshing && hasMore) { if (viewModel.videoFeed.value != null && !isCurrentTabSubChannels && !binding.subRefresh.isRefreshing && hasMore) {
binding.subRefresh.isRefreshing = true binding.subRefresh.isRefreshing = true
lifecycleScope.launch(Dispatchers.IO) { lifecycleScope.launch {
val toIndex = minOf(feedAdapter.itemCount + 10, sortedFeed.size) val toIndex = minOf(feedAdapter.itemCount + 10, sortedFeed.size)
val streamItemsToInsert = sortedFeed var streamItemsToInsert = sortedFeed
.subList(feedAdapter.itemCount, toIndex) .subList(feedAdapter.itemCount, toIndex)
.deArrow() .toList()
withContext(Dispatchers.Main) { withContext(Dispatchers.IO) {
feedAdapter.insertItems(streamItemsToInsert) runCatching { streamItemsToInsert = streamItemsToInsert.deArrow() }
binding.subRefresh.isRefreshing = false
} }
feedAdapter.insertItems(streamItemsToInsert)
binding.subRefresh.isRefreshing = false
} }
} }
} }