From ed0676a5f53e199fe85f4691f98946fd161fbded Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Wed, 7 Aug 2024 18:24:35 -0400 Subject: [PATCH] Fixes the order of bookmarks (keeps the order of the event, instead of the created at) --- .../ui/dal/BookmarkPrivateFeedFilter.kt | 20 +++++++++---------- .../ui/dal/BookmarkPublicFeedFilter.kt | 20 ++++++++++--------- 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/dal/BookmarkPrivateFeedFilter.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/dal/BookmarkPrivateFeedFilter.kt index 3cae7c2e0..1be1e5b15 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/dal/BookmarkPrivateFeedFilter.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/dal/BookmarkPrivateFeedFilter.kt @@ -36,15 +36,15 @@ class BookmarkPrivateFeedFilter( val privateTags = bookmarks?.cachedPrivateTags() ?: return emptyList() - val notes = - bookmarks.filterEvents(privateTags).mapNotNull { LocalCache.checkGetOrCreateNote(it) } - - val addresses = - bookmarks.filterAddresses(privateTags).map { LocalCache.getOrCreateAddressableNote(it) } - - return notes - .plus(addresses) - .toSet() - .sortedWith(DefaultFeedOrder) + return privateTags + .mapNotNull { + if (it.size > 1 && it[0] == "e") { + LocalCache.checkGetOrCreateNote(it[1]) + } else if (it.size > 1 && it[0] == "a") { + LocalCache.checkGetOrCreateAddressableNote(it[1]) + } else { + null + } + }.reversed() } } diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/dal/BookmarkPublicFeedFilter.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/dal/BookmarkPublicFeedFilter.kt index 032c84296..6697e73e1 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/dal/BookmarkPublicFeedFilter.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/dal/BookmarkPublicFeedFilter.kt @@ -32,14 +32,16 @@ class BookmarkPublicFeedFilter( override fun feed(): List { val bookmarks = account.userProfile().latestBookmarkList - val notes = - bookmarks?.taggedEvents()?.mapNotNull { LocalCache.checkGetOrCreateNote(it) } ?: emptyList() - val addresses = - bookmarks?.taggedAddresses()?.map { LocalCache.getOrCreateAddressableNote(it) } ?: emptyList() - - return notes - .plus(addresses) - .toSet() - .sortedWith(DefaultFeedOrder) + return bookmarks + ?.tags + ?.mapNotNull { + if (it.size > 1 && it[0] == "e") { + LocalCache.checkGetOrCreateNote(it[1]) + } else if (it.size > 1 && it[0] == "a") { + LocalCache.checkGetOrCreateAddressableNote(it[1]) + } else { + null + } + }?.reversed() ?: emptyList() } }