diff --git a/app/src/main/java/com/vitorpamplona/amethyst/model/LocalCache.kt b/app/src/main/java/com/vitorpamplona/amethyst/model/LocalCache.kt index 24f8c8ce4..dafbfd0f9 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/model/LocalCache.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/model/LocalCache.kt @@ -209,13 +209,13 @@ object LocalCache { } as LatestByKindAndAuthor } - fun updateObservables(event: Event) { - val observablesOfKind = observablesByKindAndETag[event.kind()] ?: return + private fun updateObservables(event: Event) { + val observablesOfKind = observablesByKindAndETag[event.kind] ?: return event.forEachTaggedEvent { observablesOfKind[it]?.updateIfMatches(event) } - observablesByKindAndAuthor[event.kind()]?.get(event.pubKey)?.updateIfMatches(event) + observablesByKindAndAuthor[event.kind]?.get(event.pubKey)?.updateIfMatches(event) } fun checkGetOrCreateUser(key: String): User? { diff --git a/app/src/main/java/com/vitorpamplona/amethyst/service/relays/Relay.kt b/app/src/main/java/com/vitorpamplona/amethyst/service/relays/Relay.kt index ac6407850..8bb9f95f6 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/service/relays/Relay.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/service/relays/Relay.kt @@ -30,8 +30,8 @@ import com.vitorpamplona.quartz.encoders.HexKey import com.vitorpamplona.quartz.events.Event import com.vitorpamplona.quartz.events.EventInterface import com.vitorpamplona.quartz.events.RelayAuthEvent -import com.vitorpamplona.quartz.events.bytesUsedInMemory import com.vitorpamplona.quartz.utils.TimeUtils +import com.vitorpamplona.quartz.utils.bytesUsedInMemory import kotlinx.coroutines.CancellationException import okhttp3.Request import okhttp3.Response diff --git a/quartz/src/main/java/com/vitorpamplona/quartz/events/BaseTextNoteEvent.kt b/quartz/src/main/java/com/vitorpamplona/quartz/events/BaseTextNoteEvent.kt index 7d297eb9b..39c15752a 100644 --- a/quartz/src/main/java/com/vitorpamplona/quartz/events/BaseTextNoteEvent.kt +++ b/quartz/src/main/java/com/vitorpamplona/quartz/events/BaseTextNoteEvent.kt @@ -193,8 +193,7 @@ open class BaseTextNoteEvent( val repliesTo = replyTos() val tagAddresses = taggedAddresses().filter { - it.kind != CommunityDefinitionEvent.KIND && - (kind != WikiNoteEvent.KIND || it.kind != WikiNoteEvent.KIND) + it.kind != CommunityDefinitionEvent.KIND && (kind != WikiNoteEvent.KIND || it.kind != WikiNoteEvent.KIND) // removes forks from itself. }.map { it.toTag() } if (repliesTo.isEmpty() && tagAddresses.isEmpty()) return emptyList() diff --git a/quartz/src/main/java/com/vitorpamplona/quartz/events/Event.kt b/quartz/src/main/java/com/vitorpamplona/quartz/events/Event.kt index 1e169bff3..4756382e4 100644 --- a/quartz/src/main/java/com/vitorpamplona/quartz/events/Event.kt +++ b/quartz/src/main/java/com/vitorpamplona/quartz/events/Event.kt @@ -43,6 +43,7 @@ import com.vitorpamplona.quartz.encoders.Nip19Bech32 import com.vitorpamplona.quartz.encoders.toHexKey import com.vitorpamplona.quartz.signers.NostrSigner import com.vitorpamplona.quartz.utils.TimeUtils +import com.vitorpamplona.quartz.utils.bytesUsedInMemory import java.math.BigDecimal import java.security.MessageDigest @@ -564,10 +565,6 @@ open class BaseAddressableEvent( override fun addressTag() = ATag.assembleATag(kind, pubKey, dTag()) } -fun String.bytesUsedInMemory(): Int { - return (8 * ((((this.length) * 2) + 45) / 8)) -} - data class ZapSplitSetup( val lnAddressOrPubKeyHex: String, val relay: String?, diff --git a/quartz/src/main/java/com/vitorpamplona/quartz/utils/StringUtils.kt b/quartz/src/main/java/com/vitorpamplona/quartz/utils/StringUtils.kt index 5bf3e568a..0682eccfb 100644 --- a/quartz/src/main/java/com/vitorpamplona/quartz/utils/StringUtils.kt +++ b/quartz/src/main/java/com/vitorpamplona/quartz/utils/StringUtils.kt @@ -22,6 +22,10 @@ package com.vitorpamplona.quartz.utils import kotlin.math.min +fun String.bytesUsedInMemory(): Int { + return (8 * ((((this.length) * 2) + 45) / 8)) +} + fun String.containsIgnoreCase(term: String): Boolean { if (term.isEmpty()) return true // Empty string is contained