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);