From 81e31319c7e209e3540d91d4d3f01d3edd36f152 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Fri, 17 Mar 2023 10:22:58 -0400 Subject: [PATCH] Making tags case insensitive --- .../main/java/com/vitorpamplona/amethyst/model/Account.kt | 2 +- app/src/main/java/com/vitorpamplona/amethyst/model/User.kt | 6 ++++++ .../amethyst/ui/screen/loggedIn/HashtagScreen.kt | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/model/Account.kt b/app/src/main/java/com/vitorpamplona/amethyst/model/Account.kt index 10e947798..1d5bed891 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/model/Account.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/model/Account.kt @@ -330,7 +330,7 @@ class Account( if (contactList != null && (followingUsers.isNotEmpty() || followingTags.isNotEmpty())) { val event = ContactListEvent.create( followingUsers, - followingTags.filter { it != tag }, + followingTags.filter { !it.equals(tag, ignoreCase = true) }, contactList.relays(), loggedIn.privKey!! ) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/model/User.kt b/app/src/main/java/com/vitorpamplona/amethyst/model/User.kt index ada5bdde8..938810f21 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/model/User.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/model/User.kt @@ -257,6 +257,12 @@ class User(val pubkeyHex: String) { } ?: false } + fun isFollowingHashtagCached(tag: String): Boolean { + return latestContactList?.verifiedFollowTagSet?.let { + return tag.lowercase() in it + } ?: false + } + fun isFollowingCached(user: User): Boolean { return latestContactList?.verifiedFollowKeySet?.let { return user.pubkeyHex in it diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/HashtagScreen.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/HashtagScreen.kt index e374d6a89..addf0827e 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/HashtagScreen.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/HashtagScreen.kt @@ -107,7 +107,7 @@ fun HashtagHeader(tag: String, account: Account) { modifier = Modifier.weight(1f) ) - if (userFollows.isFollowingHashtag(tag)) { + if (userFollows.isFollowingHashtagCached(tag)) { UnfollowButton { coroutineScope.launch(Dispatchers.IO) { account.unfollow(tag) } } } else { FollowButton { coroutineScope.launch(Dispatchers.IO) { account.follow(tag) } }