From bc9f5e5328a07f8dfc457207b13862a9f23437c3 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Sat, 12 Aug 2023 21:31:49 -0400 Subject: [PATCH] Moves HTTP regex compilation to outside the inner method --- .../vitorpamplona/amethyst/service/CachedRichTextParser.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/service/CachedRichTextParser.kt b/app/src/main/java/com/vitorpamplona/amethyst/service/CachedRichTextParser.kt index bcd03d5a8..3683221a1 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/service/CachedRichTextParser.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/service/CachedRichTextParser.kt @@ -59,6 +59,8 @@ val noProtocolUrlValidator = try { Pattern.compile("(([\\w\\d-]+\\.)*[a-zA-Z][\\w-]+[\\.\\:]\\w+([\\/\\?\\=\\&\\#\\.]?[\\w-]+)*\\/?)(.*)") } +val HTTPRegex = "^((http|https)://)?([A-Za-z0-9-]+(\\.[A-Za-z0-9]+)+)(:[0-9]+)?(/[^?#]*)?(\\?[^#]*)?(#.*)?".toRegex(RegexOption.IGNORE_CASE) + class RichTextParser() { fun parseText( content: String, @@ -75,8 +77,7 @@ class RichTextParser() { } else if (it.originalUrl.contains("。")) { null } else { - val pattern = "^((http|https)://)?([A-Za-z0-9-]+(\\.[A-Za-z0-9]+)+)(:[0-9]+)?(/[^?#]*)?(\\?[^#]*)?(#.*)?".toRegex(RegexOption.IGNORE_CASE) - if (pattern.matches(it.originalUrl)) { + if (HTTPRegex.matches(it.originalUrl)) { it.originalUrl } else { null