From 828c3995c955c2d84c40e4cd0297592b692afab1 Mon Sep 17 00:00:00 2001 From: M66B Date: Fri, 15 Jan 2021 12:54:22 +0100 Subject: [PATCH] Small improvement --- .../java/eu/faircode/email/MessageHelper.java | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/MessageHelper.java b/app/src/main/java/eu/faircode/email/MessageHelper.java index ca2aceeb6d..26b72b8dad 100644 --- a/app/src/main/java/eu/faircode/email/MessageHelper.java +++ b/app/src/main/java/eu/faircode/email/MessageHelper.java @@ -1645,6 +1645,15 @@ public class MessageHelper { boolean isPlainText() { return "text/plain".equalsIgnoreCase(contentType.getBaseType()); } + + boolean isHtml() { + return "text/html".equalsIgnoreCase(contentType.getBaseType()); + } + + boolean isDSN() { + return ("message/delivery-status".equalsIgnoreCase(contentType.getBaseType()) || + "message/disposition-notification".equalsIgnoreCase(contentType.getBaseType())); + } } class MessageParts { @@ -1758,7 +1767,7 @@ public class MessageHelper { if ((TextUtils.isEmpty(charset) || charset.equalsIgnoreCase(StandardCharsets.US_ASCII.name()))) charset = null; - if (h.contentType.getBaseType().equalsIgnoreCase("text/plain")) { + if (h.isPlainText()) { Charset cs = null; try { if (charset != null) @@ -1788,7 +1797,7 @@ public class MessageHelper { if ("flowed".equalsIgnoreCase(h.contentType.getParameter("format"))) result = HtmlHelper.flow(result); result = "
" + HtmlHelper.formatPre(result) + "
"; - } else if (h.contentType.getBaseType().equalsIgnoreCase("text/html")) { + } else if (h.isHtml()) { // Fix incorrect UTF16 if (charset != null) try { @@ -1860,8 +1869,7 @@ public class MessageHelper { } } } - } else if (h.contentType.getBaseType().equalsIgnoreCase("message/delivery-status") || - h.contentType.getBaseType().equalsIgnoreCase("message/disposition-notification")) { + } else if (h.isDSN()) { StringBuilder report = new StringBuilder(); report.append("
"); for (String line : result.split("\\r?\\n")) { @@ -1883,7 +1891,8 @@ public class MessageHelper { } report.append("
"); result = report.toString(); - } + } else + Log.w("Unexpected content type=" + h.contentType); sb.append(result); }