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,20 +212,22 @@ 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.IO) {
runCatching { streamItemsToInsert = streamItemsToInsert.deArrow() }
}
withContext(Dispatchers.Main) {
feedAdapter.insertItems(streamItemsToInsert) feedAdapter.insertItems(streamItemsToInsert)
binding.subRefresh.isRefreshing = false binding.subRefresh.isRefreshing = false
} }
} }
} }
}
private fun setupSortAndFilter() { private fun setupSortAndFilter() {
binding.filterSort.setOnClickListener { binding.filterSort.setOnClickListener {