From 34bbd0b656aa50c25dd43bed05501b44b44e410d Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 8 Jan 2023 09:29:00 +0100 Subject: [PATCH] Debug: preamble --- .../java/eu/faircode/email/MessageHelper.java | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/eu/faircode/email/MessageHelper.java b/app/src/main/java/eu/faircode/email/MessageHelper.java index f1bd11ce13..960e77e4aa 100644 --- a/app/src/main/java/eu/faircode/email/MessageHelper.java +++ b/app/src/main/java/eu/faircode/email/MessageHelper.java @@ -3159,7 +3159,7 @@ public class MessageHelper { } String getHtml(Context context, boolean plain_text, String override) throws MessagingException, IOException { - if (text.size() == 0) { + if (text.size() + extra.size() == 0) { Log.i("No body part"); return null; } @@ -3196,6 +3196,16 @@ public class MessageHelper { return null; } + if (BuildConfig.DEBUG) { + String preamble = h.contentType.getParameter("preamble"); + if (Boolean.parseBoolean(preamble)) { + String text = ((MimeMultipart) h.part.getContent()).getPreamble(); + String html = "

Preamble

" + HtmlHelper.formatPlainText(text) + "
"; + sb.append(html); + continue; + } + } + // Check character set String charset = h.contentType.getParameter("charset"); if (UnknownCharsetProvider.charsetForMime(charset) == null) @@ -4463,6 +4473,15 @@ public class MessageHelper { Log.w(ex); parts.warnings.add(Log.formatThrowable(ex, false)); } + + if (BuildConfig.DEBUG && multipart instanceof MimeMultipart) { + String preamble = ((MimeMultipart) multipart).getPreamble(); + if (!TextUtils.isEmpty(preamble)) { + ContentType plain = new ContentType("text/plain; preamble=\"true\""); + parts.extra.add(new PartHolder(part, plain)); + } + } + return; } else { String msg = "Expected multipart/* got " + content.getClass().getName();