From d166f22c58588c454f75c5cabbaf74c90f21fa97 Mon Sep 17 00:00:00 2001 From: Chemaclass Date: Sat, 11 Mar 2023 20:34:44 +0000 Subject: [PATCH 1/2] Extract checkIfValidHex() --- .../com/vitorpamplona/amethyst/model/LocalCache.kt | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) 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 1c06fec3e..221862b37 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/model/LocalCache.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/model/LocalCache.kt @@ -58,7 +58,7 @@ object LocalCache { fun checkGetOrCreateUser(key: String): User? { return try { - val checkHex = Hex.decode(key).toNpub() // Checks if this is a valid Hex + checkIfValidHex(key) getOrCreateUser(key) } catch (e: IllegalArgumentException) { Log.e("LocalCache", "Invalid Key to create user: $key", e) @@ -80,7 +80,7 @@ object LocalCache { return checkGetOrCreateAddressableNote(key) } return try { - val checkHex = Hex.decode(key).toNote() // Checks if this is a valid Hex + checkIfValidHex(key) getOrCreateNote(key) } catch (e: IllegalArgumentException) { Log.e("LocalCache", "Invalid Key to create note: $key", e) @@ -99,7 +99,7 @@ object LocalCache { fun checkGetOrCreateChannel(key: String): Channel? { return try { - val checkHex = Hex.decode(key).toNote() // Checks if this is a valid Hex + checkIfValidHex(key) getOrCreateChannel(key) } catch (e: IllegalArgumentException) { Log.e("LocalCache", "Invalid Key to create channel: $key", e) @@ -107,6 +107,10 @@ object LocalCache { } } + private fun checkIfValidHex(key: String) { + Hex.decode(key).toNpub() + } + @Synchronized fun getOrCreateChannel(key: String): Channel { return channels[key] ?: run { From 30f4ff9d6fa2cae9a4fe76ff5740df254842bc8f Mon Sep 17 00:00:00 2001 From: Chemaclass Date: Sat, 11 Mar 2023 20:43:46 +0000 Subject: [PATCH 2/2] Remove indentation level LocalCache.consume(ChannelCreateEvent) --- .../amethyst/model/LocalCache.kt | 24 +++++++++---------- 1 file changed, 11 insertions(+), 13 deletions(-) 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 221862b37..d6fdfcdb9 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/model/LocalCache.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/model/LocalCache.kt @@ -589,21 +589,19 @@ object LocalCache { fun consume(event: ChannelCreateEvent) { // Log.d("MT", "New Event ${event.content} ${event.id.toHex()}") - // new event val oldChannel = getOrCreateChannel(event.id) val author = getOrCreateUser(event.pubKey) - if (event.createdAt > oldChannel.updatedMetadataAt) { - if (oldChannel.creator == null || oldChannel.creator == author) { - oldChannel.updateChannelInfo(author, event.channelInfo(), event.createdAt) + if (event.createdAt <= oldChannel.updatedMetadataAt) { + return // older data, does nothing + } + if (oldChannel.creator == null || oldChannel.creator == author) { + oldChannel.updateChannelInfo(author, event.channelInfo(), event.createdAt) - val note = getOrCreateNote(event.id) - oldChannel.addNote(note) - note.loadEvent(event, author, emptyList(), emptyList()) + val note = getOrCreateNote(event.id) + oldChannel.addNote(note) + note.loadEvent(event, author, emptyList(), emptyList()) - refreshObservers() - } - } else { - // older data, does nothing + refreshObservers() } } @@ -799,7 +797,7 @@ object LocalCache { } fun pruneOldAndHiddenMessages(account: Account) { - channels.forEach { + channels.forEach { it -> val toBeRemoved = it.value.pruneOldAndHiddenMessages(account) toBeRemoved.forEach { @@ -815,7 +813,7 @@ object LocalCache { } // Counts the replies - it.replyTo?.forEach { replyingNote -> + it.replyTo?.forEach { _ -> it.removeReply(it) } }