From 3fc247d85c3de27956a0598323226139af0af593 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Sat, 8 Jul 2023 15:37:05 -0400 Subject: [PATCH] Caches participant counting process to speed sorting up --- .../vitorpamplona/amethyst/ui/dal/DiscoverChatFeedFilter.kt | 5 ++++- .../amethyst/ui/dal/DiscoverCommunityFeedFilter.kt | 6 +++++- .../vitorpamplona/amethyst/ui/dal/DiscoverLiveFeedFilter.kt | 5 ++++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/DiscoverChatFeedFilter.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/DiscoverChatFeedFilter.kt index 0403cfa99..b5399c8e9 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/DiscoverChatFeedFilter.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/DiscoverChatFeedFilter.kt @@ -54,10 +54,13 @@ open class DiscoverChatFeedFilter(val account: Account) : AdditiveFeedFilter): List { val followingKeySet = account.selectedUsersFollowList(account.defaultDiscoveryFollowList) + val counter = ParticipantListBuilder() + val participantCounts = collection.associate { + it to counter.countFollowsThatParticipateOn(it, followingKeySet) + } return collection.sortedWith( compareBy( - { counter.countFollowsThatParticipateOn(it, followingKeySet) }, + { participantCounts[it] }, { it.createdAt() }, { it.idHex } ) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/DiscoverLiveFeedFilter.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/DiscoverLiveFeedFilter.kt index 15514754c..e9be4ea1a 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/DiscoverLiveFeedFilter.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/DiscoverLiveFeedFilter.kt @@ -57,11 +57,14 @@ open class DiscoverLiveFeedFilter(val account: Account) : AdditiveFeedFilter