diff --git a/app/src/main/java/eu/faircode/email/DnsBlockList.java b/app/src/main/java/eu/faircode/email/DnsBlockList.java index bdb240f000..588e9f29cd 100644 --- a/app/src/main/java/eu/faircode/email/DnsBlockList.java +++ b/app/src/main/java/eu/faircode/email/DnsBlockList.java @@ -162,6 +162,10 @@ public class DnsBlockList { return (hasDomain ? false : null); } + static Boolean isJunk(Context context, String domain) { + return isJunk(context, domain, false, BLOCK_LISTS); + } + private static boolean isJunk(Context context, String host, boolean numeric, List blocklists) { synchronized (cache) { CacheEntry entry = cache.get(host); diff --git a/app/src/main/java/eu/faircode/email/FragmentDialogOpenLink.java b/app/src/main/java/eu/faircode/email/FragmentDialogOpenLink.java index 73e240e225..33af42aa2b 100644 --- a/app/src/main/java/eu/faircode/email/FragmentDialogOpenLink.java +++ b/app/src/main/java/eu/faircode/email/FragmentDialogOpenLink.java @@ -403,6 +403,31 @@ public class FragmentDialogOpenLink extends FragmentDialogBase { tvSuspicious.setVisibility(Helper.isSingleScript(host) ? View.GONE : View.VISIBLE); } + if (BuildConfig.DEBUG && + tvSuspicious.getVisibility() != View.VISIBLE) { + Bundle args = new Bundle(); + args.putString("host", host); + + new SimpleTask() { + @Override + protected Boolean onExecute(Context context, Bundle args) throws Throwable { + String host = args.getString("host"); + return DnsBlockList.isJunk(context, host); + } + + @Override + protected void onExecuted(Bundle args, Boolean blocklist) { + if (blocklist != null && blocklist) + tvSuspicious.setVisibility(View.VISIBLE); + } + + @Override + protected void onException(Bundle args, Throwable ex) { + // Ignored + } + }.execute(this, args, "link:blocklist"); + } + grpDifferent.setVisibility( host == null || thost == null || host.equalsIgnoreCase(thost) ? View.GONE : View.VISIBLE);