diff --git a/app/src/main/java/com/vitorpamplona/amethyst/service/NostrSingleEventDataSource.kt b/app/src/main/java/com/vitorpamplona/amethyst/service/NostrSingleEventDataSource.kt index 2e3123c31..e1b663965 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/service/NostrSingleEventDataSource.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/service/NostrSingleEventDataSource.kt @@ -152,22 +152,30 @@ object NostrSingleEventDataSource : NostrDataSource("SingleEventFeed") { } fun add(eventId: Note) { - eventsToWatch = eventsToWatch.plus(eventId) - invalidateFilters() + if (!eventsToWatch.contains(eventId)) { + eventsToWatch = eventsToWatch.plus(eventId) + invalidateFilters() + } } fun remove(eventId: Note) { - eventsToWatch = eventsToWatch.minus(eventId) - invalidateFilters() + if (eventsToWatch.contains(eventId)) { + eventsToWatch = eventsToWatch.minus(eventId) + invalidateFilters() + } } fun addAddress(aTag: Note) { - addressesToWatch = addressesToWatch.plus(aTag) - invalidateFilters() + if (!addressesToWatch.contains(aTag)) { + addressesToWatch = addressesToWatch.plus(aTag) + invalidateFilters() + } } fun removeAddress(aTag: Note) { - addressesToWatch = addressesToWatch.minus(aTag) - invalidateFilters() + if (addressesToWatch.contains(aTag)) { + addressesToWatch = addressesToWatch.minus(aTag) + invalidateFilters() + } } } diff --git a/app/src/main/java/com/vitorpamplona/amethyst/service/NostrSingleUserDataSource.kt b/app/src/main/java/com/vitorpamplona/amethyst/service/NostrSingleUserDataSource.kt index ba5457280..d6991c53f 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/service/NostrSingleUserDataSource.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/service/NostrSingleUserDataSource.kt @@ -64,12 +64,16 @@ object NostrSingleUserDataSource : NostrDataSource("SingleUserFeed") { } fun add(user: User) { - usersToWatch = usersToWatch.plus(user) - invalidateFilters() + if (!usersToWatch.contains(user)) { + usersToWatch = usersToWatch.plus(user) + invalidateFilters() + } } fun remove(user: User) { - usersToWatch = usersToWatch.minus(user) - invalidateFilters() + if (usersToWatch.contains(user)) { + usersToWatch = usersToWatch.minus(user) + invalidateFilters() + } } }