diff --git a/app/src/main/java/eu/faircode/email/UriHelper.java b/app/src/main/java/eu/faircode/email/UriHelper.java index fb3a90788d..bd45ec0a17 100644 --- a/app/src/main/java/eu/faircode/email/UriHelper.java +++ b/app/src/main/java/eu/faircode/email/UriHelper.java @@ -344,9 +344,12 @@ public class UriHelper { url = (changed ? result : uri); } else if (uri.getHost() != null && uri.getHost().endsWith(".awstrack.me")) { // https://docs.aws.amazon.com/ses/latest/dg/configure-custom-open-click-domains.html - String path = uri.getPath(); + String path = uri.getEncodedPath(); int s = (path == null ? -1 : path.indexOf('/', 1)); - Uri result = (s > 0 ? Uri.parse(path.substring(s + 1)) : null); + int e = (path == null ? -1 : path.indexOf('/', s + 1)); + if (e < 0 && path != null) + e = path.length(); + Uri result = (s > 0 && e > s ? Uri.parse(Uri.decode(path.substring(s + 1, e))) : null); changed = (result != null && isHyperLink(result)); url = (changed ? result : uri); } else {