diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/GlobalFeedFilter.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/GlobalFeedFilter.kt index ce61b747c..be7e83f5e 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/GlobalFeedFilter.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/GlobalFeedFilter.kt @@ -10,20 +10,25 @@ import com.vitorpamplona.amethyst.service.model.TextNoteEvent object GlobalFeedFilter : FeedFilter() { lateinit var account: Account - override fun feed() = LocalCache.notes.values - .asSequence() - .filter { - (it.event is TextNoteEvent || it.event is LongTextNoteEvent || it.event is ChannelMessageEvent) && - it.replyTo.isNullOrEmpty() - } - .filter { - // does not show events already in the public chat list - (it.channel() == null || it.channel() !in account.followingChannels()) && - // does not show people the user already follows - (it.author?.pubkeyHex !in account.followingKeySet()) - } - .filter { account.isAcceptable(it) } - .sortedBy { it.createdAt() } - .toList() - .reversed() + override fun feed(): List { + val followChannels = account.followingChannels() + val followUsers = account.followingKeySet() + + return LocalCache.notes.values + .asSequence() + .filter { + (it.event is TextNoteEvent || it.event is LongTextNoteEvent || it.event is ChannelMessageEvent) && + it.replyTo.isNullOrEmpty() + } + .filter { + // does not show events already in the public chat list + (it.channel() == null || it.channel() !in followChannels) && + // does not show people the user already follows + (it.author?.pubkeyHex !in followUsers) + } + .filter { account.isAcceptable(it) } + .sortedBy { it.createdAt() } + .toList() + .reversed() + } }