From a6963da515af46be158f2724896219e29c78c1c6 Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 30 Jun 2019 09:59:03 +0200 Subject: [PATCH] Show image description when not showing images --- .../java/eu/faircode/email/ActivityEml.java | 2 +- .../eu/faircode/email/AdapterMessage.java | 2 +- .../eu/faircode/email/FragmentCompose.java | 2 +- .../java/eu/faircode/email/HtmlHelper.java | 30 ++++++++++++------- 4 files changed, 22 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/ActivityEml.java b/app/src/main/java/eu/faircode/email/ActivityEml.java index b62cdffaff..d074ed25c0 100644 --- a/app/src/main/java/eu/faircode/email/ActivityEml.java +++ b/app/src/main/java/eu/faircode/email/ActivityEml.java @@ -127,7 +127,7 @@ public class ActivityEml extends ActivityBase { result.html = parts.getHtml(context); if (result.html != null) - result.body = HtmlHelper.fromHtml(HtmlHelper.sanitize(context, result.html)); + result.body = HtmlHelper.fromHtml(HtmlHelper.sanitize(context, result.html, false)); ByteArrayOutputStream bos = new ByteArrayOutputStream(); mmessage.writeTo(bos); diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index c027b44aef..ac8fcd090b 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -2054,7 +2054,7 @@ public class AdapterMessage extends RecyclerView.Adapter"; diff --git a/app/src/main/java/eu/faircode/email/FragmentCompose.java b/app/src/main/java/eu/faircode/email/FragmentCompose.java index 837f765191..0eddd9b716 100644 --- a/app/src/main/java/eu/faircode/email/FragmentCompose.java +++ b/app/src/main/java/eu/faircode/email/FragmentCompose.java @@ -2868,7 +2868,7 @@ public class FragmentCompose extends FragmentBase { Spanned spannedRef = null; File refFile = draft.getRefFile(context); if (refFile.exists()) { - String quote = HtmlHelper.sanitize(context, Helper.readText(refFile)); + String quote = HtmlHelper.sanitize(context, Helper.readText(refFile), show_images); Spanned spannedQuote = HtmlHelper.fromHtml(quote, new Html.ImageGetter() { @Override diff --git a/app/src/main/java/eu/faircode/email/HtmlHelper.java b/app/src/main/java/eu/faircode/email/HtmlHelper.java index 220f31af1f..4a64917171 100644 --- a/app/src/main/java/eu/faircode/email/HtmlHelper.java +++ b/app/src/main/java/eu/faircode/email/HtmlHelper.java @@ -84,7 +84,7 @@ public class HtmlHelper { private static final ExecutorService executor = Executors.newSingleThreadExecutor(Helper.backgroundThreadFactory); - static String sanitize(Context context, String html) { + static String sanitize(Context context, String html, boolean show_images) { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); boolean paranoid = prefs.getBoolean("paranoid", true); @@ -224,17 +224,25 @@ public class HtmlHelper { else table.tagName("div"); - // Remove link tracking pixels - if (paranoid) - for (Element img : document.select("img")) - if (isTrackingPixel(img)) { - String src = img.attr("src"); - img.removeAttr("src"); - img.tagName("a"); - img.attr("href", src); - img.appendText(context.getString(R.string.title_hint_tracking_image, - img.attr("width"), img.attr("height"))); + // Images + for (Element img : document.select("img")) { + // Remove link tracking pixels + if (paranoid && isTrackingPixel(img)) { + String src = img.attr("src"); + img.removeAttr("src"); + img.tagName("a"); + img.attr("href", src); + img.appendText(context.getString(R.string.title_hint_tracking_image, + img.attr("width"), img.attr("height"))); + } + + if (!show_images) { + String alt = img.attr("alt"); + if (!TextUtils.isEmpty(alt)) { + img.appendText(alt); } + } + } // Autolink final Pattern pattern = Pattern.compile(