diff --git a/app/src/main/java/eu/faircode/email/HtmlHelper.java b/app/src/main/java/eu/faircode/email/HtmlHelper.java index d7418b7c27..aa23f2c4cf 100644 --- a/app/src/main/java/eu/faircode/email/HtmlHelper.java +++ b/app/src/main/java/eu/faircode/email/HtmlHelper.java @@ -107,6 +107,7 @@ import java.io.InputStream; import java.io.StringReader; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -321,6 +322,10 @@ public class HtmlHelper { 0x2B02, 0x1F8AC, 0x1F8AD, 0x1F5F6, 0x2714, 0x1F5F7, 0x1F5F9, 0x0077 }; + private static final List TRACKING_HOSTS = Collections.unmodifiableList(Arrays.asList( + "www.google-analytics.com" + )); + static Document sanitizeCompose(Context context, String html, boolean show_images) { try { Document parsed = JsoupEx.parse(html); @@ -1533,6 +1538,17 @@ public class HtmlHelper { } private static boolean isTrackingPixel(Element img) { + String src = img.attr("src"); + if (!TextUtils.isEmpty(src)) + try { + Uri uri = Uri.parse(src); + String host = uri.getHost(); + if (!TextUtils.isEmpty(host) && TRACKING_HOSTS.contains(host)) + return true; + } catch (Throwable ex) { + Log.w(ex); + } + String width = img.attr("width").trim(); String height = img.attr("height").trim();