From c2092a4049f4cd7ea163ddbc8a8a9fe6071ff9e6 Mon Sep 17 00:00:00 2001 From: M66B Date: Wed, 23 Nov 2022 09:08:12 +0100 Subject: [PATCH] Fixed images in signatures/templates --- .../main/java/eu/faircode/email/ActivitySignature.java | 3 +-- app/src/main/java/eu/faircode/email/FragmentAnswer.java | 3 +-- app/src/main/java/eu/faircode/email/FragmentCompose.java | 9 +++------ app/src/main/java/eu/faircode/email/HtmlHelper.java | 6 +++++- 4 files changed, 10 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/ActivitySignature.java b/app/src/main/java/eu/faircode/email/ActivitySignature.java index 9e36728ecd..4323ab0036 100644 --- a/app/src/main/java/eu/faircode/email/ActivitySignature.java +++ b/app/src/main/java/eu/faircode/email/ActivitySignature.java @@ -290,8 +290,7 @@ public class ActivitySignature extends ActivityBase { else if (etText.isRaw()) etText.setText(html); else { - Document d = JsoupEx.parse(html); - d = HtmlHelper.sanitizeView(this, d, true); + Document d = HtmlHelper.sanitizeCompose(this, html, true); Spanned signature = HtmlHelper.fromDocument(this, d, new HtmlHelper.ImageGetterEx() { @Override public Drawable getDrawable(Element element) { diff --git a/app/src/main/java/eu/faircode/email/FragmentAnswer.java b/app/src/main/java/eu/faircode/email/FragmentAnswer.java index 8c06bd31ea..baaba020ae 100644 --- a/app/src/main/java/eu/faircode/email/FragmentAnswer.java +++ b/app/src/main/java/eu/faircode/email/FragmentAnswer.java @@ -229,8 +229,7 @@ public class FragmentAnswer extends FragmentBase { String html = (answer == null ? args.getString("html") : answer.text); if (html != null) { - Document d = JsoupEx.parse(html); - d = HtmlHelper.sanitizeView(context, d, true); + Document d = HtmlHelper.sanitizeCompose(context, html, true); Spanned spanned = HtmlHelper.fromDocument(context, d, new HtmlHelper.ImageGetterEx() { @Override public Drawable getDrawable(Element element) { diff --git a/app/src/main/java/eu/faircode/email/FragmentCompose.java b/app/src/main/java/eu/faircode/email/FragmentCompose.java index 47edeb5a6b..58486fc32f 100644 --- a/app/src/main/java/eu/faircode/email/FragmentCompose.java +++ b/app/src/main/java/eu/faircode/email/FragmentCompose.java @@ -2437,8 +2437,7 @@ public class FragmentCompose extends FragmentBase { String html = EntityAnswer.replacePlaceholders(context, answer.text, tos); - Document d = JsoupEx.parse(html); - d = HtmlHelper.sanitizeView(context, d, true); + Document d = HtmlHelper.sanitizeCompose(context, html, true); Spanned spanned = HtmlHelper.fromDocument(context, d, new HtmlHelper.ImageGetterEx() { @Override public Drawable getDrawable(Element element) { @@ -3393,8 +3392,7 @@ public class FragmentCompose extends FragmentBase { Helper.writeText(file, doc.html()); } - Document d = JsoupEx.parse(html); - d = HtmlHelper.sanitizeView(context, d, true); + Document d = HtmlHelper.sanitizeCompose(context, html, true); return HtmlHelper.fromDocument(context, d, new HtmlHelper.ImageGetterEx() { @Override public Drawable getDrawable(Element element) { @@ -7302,8 +7300,7 @@ public class FragmentCompose extends FragmentBase { Spanned signature = null; if (identity != null && !TextUtils.isEmpty(identity.signature)) { - Document d = JsoupEx.parse(identity.signature); - d = HtmlHelper.sanitizeView(getContext(), d, show_images); + Document d = HtmlHelper.sanitizeCompose(getContext(), identity.signature, show_images); signature = HtmlHelper.fromDocument(getContext(), d, new HtmlHelper.ImageGetterEx() { @Override public Drawable getDrawable(Element element) { diff --git a/app/src/main/java/eu/faircode/email/HtmlHelper.java b/app/src/main/java/eu/faircode/email/HtmlHelper.java index bfd0ecac90..a67441ee35 100644 --- a/app/src/main/java/eu/faircode/email/HtmlHelper.java +++ b/app/src/main/java/eu/faircode/email/HtmlHelper.java @@ -415,8 +415,12 @@ public class HtmlHelper { } static Document sanitizeCompose(Context context, String html, boolean show_images) { + return sanitizeCompose(context, JsoupEx.parse(html), show_images); + } + + static Document sanitizeCompose(Context context, Document parsed, boolean show_images) { try { - return sanitize(context, JsoupEx.parse(html), false, show_images); + return sanitize(context, parsed, false, show_images); } catch (Throwable ex) { // OutOfMemoryError Log.e(ex);