From 1871fe6177fa4e207f0af0b319cfc022e9bfdc78 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Wed, 15 Mar 2023 13:40:26 -0400 Subject: [PATCH] Locally cache following Users in the Home & Conversations filter --- .../amethyst/ui/dal/HomeConversationsFeedFilter.kt | 5 +++-- .../vitorpamplona/amethyst/ui/dal/HomeNewThreadFeedFilter.kt | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/HomeConversationsFeedFilter.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/HomeConversationsFeedFilter.kt index 449cbd733..6f80127cb 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/HomeConversationsFeedFilter.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/HomeConversationsFeedFilter.kt @@ -11,13 +11,14 @@ object HomeConversationsFeedFilter : FeedFilter() { override fun feed(): List { val user = account.userProfile() + val followingKeySet = user.cachedFollowingKeySet() return LocalCache.notes.values .filter { (it.event is TextNoteEvent || it.event is RepostEvent) && - it.author?.pubkeyHex in user.cachedFollowingKeySet() && + it.author?.pubkeyHex in followingKeySet && // && account.isAcceptable(it) // This filter follows only. No need to check if acceptable - it.author?.let { !HomeNewThreadFeedFilter.account.isHidden(it) } ?: true && + it.author?.let { !account.isHidden(it) } ?: true && !it.isNewThread() } .sortedBy { it.createdAt() } diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/HomeNewThreadFeedFilter.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/HomeNewThreadFeedFilter.kt index 22c3d69f7..9f28ac70c 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/HomeNewThreadFeedFilter.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/HomeNewThreadFeedFilter.kt @@ -12,11 +12,12 @@ object HomeNewThreadFeedFilter : FeedFilter() { override fun feed(): List { val user = account.userProfile() + val followingKeySet = user.cachedFollowingKeySet() val notes = LocalCache.notes.values .filter { it -> (it.event is TextNoteEvent || it.event is RepostEvent || it.event is LongTextNoteEvent) && - it.author?.pubkeyHex in user.cachedFollowingKeySet() && + it.author?.pubkeyHex in followingKeySet && // && account.isAcceptable(it) // This filter follows only. No need to check if acceptable it.author?.let { !account.isHidden(it) } ?: true && it.isNewThread() @@ -25,7 +26,7 @@ object HomeNewThreadFeedFilter : FeedFilter() { val longFormNotes = LocalCache.addressables.values .filter { it -> (it.event is TextNoteEvent || it.event is RepostEvent || it.event is LongTextNoteEvent) && - it.author?.pubkeyHex in user.cachedFollowingKeySet() && + it.author?.pubkeyHex in followingKeySet && // && account.isAcceptable(it) // This filter follows only. No need to check if acceptable it.author?.let { !account.isHidden(it) } ?: true && it.isNewThread()