From 9a8cdb8e7b4e21dde1f5d68cd52e42a5860c47b8 Mon Sep 17 00:00:00 2001 From: Mojtaba Chenani Date: Mon, 25 Sep 2023 15:30:51 +0200 Subject: [PATCH] fix(links): embedded links with escaped chars [e.g. plus] (WPB-4402) (#2268) Co-authored-by: Oussama Hassine (cherry picked from commit 9311af3ad7ba7be8ea52b310307cde877c7b097a) --- app/src/main/kotlin/com/wire/android/util/UriUtil.kt | 9 +++------ app/src/test/kotlin/com/wire/android/util/UriUtilTest.kt | 7 +++++++ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/app/src/main/kotlin/com/wire/android/util/UriUtil.kt b/app/src/main/kotlin/com/wire/android/util/UriUtil.kt index e62e5f5cf8e..f1de47a5b28 100644 --- a/app/src/main/kotlin/com/wire/android/util/UriUtil.kt +++ b/app/src/main/kotlin/com/wire/android/util/UriUtil.kt @@ -18,7 +18,6 @@ package com.wire.android.util import java.net.URI -import java.net.URLDecoder fun containsSchema(url: String): Boolean { return try { @@ -29,11 +28,9 @@ fun containsSchema(url: String): Boolean { } fun normalizeLink(url: String): String { - val normalizedUrl = URLDecoder.decode(url, "UTF-8") // Decode URL to human-readable format - - return if (containsSchema(normalizedUrl)) { - normalizedUrl + return if (containsSchema(url)) { + url } else { - "https://$normalizedUrl" + "https://$url" } } diff --git a/app/src/test/kotlin/com/wire/android/util/UriUtilTest.kt b/app/src/test/kotlin/com/wire/android/util/UriUtilTest.kt index b47a6016d55..1da9666562e 100644 --- a/app/src/test/kotlin/com/wire/android/util/UriUtilTest.kt +++ b/app/src/test/kotlin/com/wire/android/util/UriUtilTest.kt @@ -79,4 +79,11 @@ class UriUtilTest { val actual = normalizeLink(input) assertEquals(expected, actual) } + + @Test + fun givenEncodedLink_whenTheLinkIsValidWithSchema_thenReturnsTheSameLink() { + val input = "https://google.com/this+is+a+link+with+space" + val actual = normalizeLink(input) + assertEquals(input, actual) + } }