From 798fd32c1986ab35de41129b0ffffb5608ee476b Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 24 Dec 2023 16:34:58 +0100 Subject: [PATCH] Refactoring --- .../java/eu/faircode/email/UriHelper.java | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/UriHelper.java b/app/src/main/java/eu/faircode/email/UriHelper.java index 9f0662c100..80dcfc24b6 100644 --- a/app/src/main/java/eu/faircode/email/UriHelper.java +++ b/app/src/main/java/eu/faircode/email/UriHelper.java @@ -336,18 +336,6 @@ public class UriHelper { Uri result = (s > 0 ? Uri.parse(path.substring(s + 1)) : null); changed = (result != null && isHyperLink(result)); url = (changed ? result : uri); - } else if (uri.getQueryParameter("redirectUrl") != null) { - // https://.../link-tracker?redirectUrl=&sig=...&iat=...&a=...&account=...&email=...&s=...&i=... - Uri result = null; - try { - byte[] bytes = Base64.decode(uri.getQueryParameter("redirectUrl"), Base64.URL_SAFE); - String u = URLDecoder.decode(new String(bytes), StandardCharsets.UTF_8.name()); - result = Uri.parse(u); - } catch (Throwable ex) { - Log.i(ex); - } - changed = (result != null && isHyperLink(result)); - url = (changed ? result : uri); } else { Uri result = null; @@ -408,6 +396,17 @@ public class UriHelper { Log.e(ex); } + if (result == null && + uri.getQueryParameter("redirectUrl") != null) + // https://.../link-tracker?redirectUrl=&sig=...&iat=...&a=...&account=...&email=...&s=...&i=... + try { + byte[] bytes = Base64.decode(uri.getQueryParameter("redirectUrl"), Base64.URL_SAFE); + String u = URLDecoder.decode(new String(bytes), StandardCharsets.UTF_8.name()); + result = Uri.parse(u); + } catch (Throwable ex) { + Log.i(ex); + } + changed = (result != null && isHyperLink(result)); url = (changed ? result : uri); }