From 9d92976eb9b0b51d7145e4e91757f1852c69c641 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Fri, 2 Feb 2024 09:30:36 -0500 Subject: [PATCH] Optimizes memory use of the visual user and url tagger in new posts. --- .../com/vitorpamplona/amethyst/model/Note.kt | 2 +- .../ui/actions/UrlUserTagTransformation.kt | 18 +++++------------- 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/model/Note.kt b/app/src/main/java/com/vitorpamplona/amethyst/model/Note.kt index 4fae595d6..560deafa2 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/model/Note.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/model/Note.kt @@ -615,7 +615,7 @@ open class Note(val idHex: String) { // Regular Zap Receipts zaps.forEach { - val noteEvent = it?.value?.event + val noteEvent = it.value?.event if (noteEvent is LnZapEvent) { sumOfAmounts += noteEvent.amount ?: BigDecimal.ZERO } diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/UrlUserTagTransformation.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/UrlUserTagTransformation.kt index f239f4af0..d44f1f6a2 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/UrlUserTagTransformation.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/UrlUserTagTransformation.kt @@ -56,11 +56,9 @@ fun buildAnnotatedStringWithUrlHighlighting( val builderAfter = StringBuilder() // important to correctly measure Tag start and end append( text - .split('\n') - .map { paragraph: String -> + .split('\n').joinToString("\n") { paragraph: String -> paragraph - .split(' ') - .map { word: String -> + .split(' ').joinToString(" ") { word: String -> try { if (word.startsWith("@npub") && word.length >= 64) { val keyB32 = word.substring(0, 64) @@ -121,9 +119,7 @@ fun buildAnnotatedStringWithUrlHighlighting( word } } - .joinToString(" ") - } - .joinToString("\n"), + }, ) substitutions.forEach { @@ -143,9 +139,7 @@ fun buildAnnotatedStringWithUrlHighlighting( object : OffsetMapping { override fun originalToTransformed(offset: Int): Int { val inInsideRange = - substitutions - .filter { offset > it.original.start && offset < it.original.end } - .firstOrNull() + substitutions.firstOrNull { offset > it.original.start && offset < it.original.end } if (inInsideRange != null) { val percentInRange = @@ -165,9 +159,7 @@ fun buildAnnotatedStringWithUrlHighlighting( override fun transformedToOriginal(offset: Int): Int { val inInsideRange = - substitutions - .filter { offset > it.modified.start && offset < it.modified.end } - .firstOrNull() + substitutions.firstOrNull { offset > it.modified.start && offset < it.modified.end } if (inInsideRange != null) { val percentInRange =