From ab8b0beb02773c68c2af10dbfc3d47872669aa99 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Sat, 8 Jul 2023 16:35:07 -0400 Subject: [PATCH] Making sure multi-threading doesn't duplicate notes in the screen. --- .../com/vitorpamplona/amethyst/ui/screen/CardFeedViewModel.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/CardFeedViewModel.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/CardFeedViewModel.kt index 3ca882e59..0b7def101 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/CardFeedViewModel.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/CardFeedViewModel.kt @@ -99,6 +99,7 @@ open class CardFeedViewModel(val localFilter: FeedFilter) : ViewModel() { lastAccount = (localFilter as? NotificationFeedFilter)?.account val updatedCards = (oldNotesState.feed.value + newCards) + .distinctBy { it.id() } .sortedWith(compareBy({ it.createdAt() }, { it.id() })) .reversed() .take(localFilter.limit()) @@ -251,6 +252,7 @@ open class CardFeedViewModel(val localFilter: FeedFilter) : ViewModel() { lastAccount = (localFilter as? NotificationFeedFilter)?.account val updatedCards = (oldNotesState.feed.value + newCards) + .distinctBy { it.id() } .sortedWith(compareBy({ it.createdAt() }, { it.id() })) .reversed() .take(localFilter.limit())