diff --git a/app/src/main/java/eu/faircode/email/ActivityView.java b/app/src/main/java/eu/faircode/email/ActivityView.java index bdc6bce616..b6ed8dda40 100644 --- a/app/src/main/java/eu/faircode/email/ActivityView.java +++ b/app/src/main/java/eu/faircode/email/ActivityView.java @@ -1242,7 +1242,7 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB // Write decrypted body EntityMessage m = db.message().getMessage(id); - m.write(context, parts.getHtml()); + m.write(context, parts.getHtml(context)); // Remove previously decrypted attachments for (EntityAttachment a : attachments) diff --git a/app/src/main/java/eu/faircode/email/MessageHelper.java b/app/src/main/java/eu/faircode/email/MessageHelper.java index b9f1ce84a8..35db30066e 100644 --- a/app/src/main/java/eu/faircode/email/MessageHelper.java +++ b/app/src/main/java/eu/faircode/email/MessageHelper.java @@ -537,7 +537,7 @@ public class MessageHelper { private List attachments = new ArrayList<>(); private List warnings = new ArrayList<>(); - String getHtml() throws MessagingException { + String getHtml(Context context) throws MessagingException { if (plain == null && html == null) return null; @@ -562,12 +562,10 @@ public class MessageHelper { ContentType ct = new ContentType(part.getContentType()); String charset = ct.getParameter("charset"); - if (TextUtils.isEmpty(charset)) - warnings.add("Missing charset"); - else { + if (!TextUtils.isEmpty(charset)) { if ("US-ASCII".equals(Charset.forName(charset).name()) && !"US-ASCII".equals(charset.toUpperCase())) - warnings.add("Unknown charset " + charset); + warnings.add(context.getString(R.string.title_no_charset, charset)); } if (part.isMimeType("text/plain") || text) diff --git a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java index 4cfec61ad6..f5a8e10899 100644 --- a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java +++ b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java @@ -1963,7 +1963,7 @@ public class ServiceSynchronize extends LifecycleService { MessageHelper helper = new MessageHelper((MimeMessage) imessage); MessageHelper.MessageParts parts = helper.getMessageParts(); - String body = parts.getHtml(); + String body = parts.getHtml(this); String preview = HtmlHelper.getPreview(body); message.write(this, body); db.message().setMessageContent(message.id, true, preview); @@ -2625,7 +2625,7 @@ public class ServiceSynchronize extends LifecycleService { if (!message.content) if (!metered || (message.size != null && message.size < maxSize)) { - String body = parts.getHtml(); + String body = parts.getHtml(context); message.write(context, body); db.message().setMessageContent(message.id, true, HtmlHelper.getPreview(body)); String warnings = parts.getWarnings(); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index e169b5f9aa..2e28a31129 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -439,6 +439,7 @@ Report Do not ask this again Adobe Acrobat reader cannot open safely shared files, see the FAQ for more information + Unsupported encoding: %1$s Try FairEmail, an open source, privacy friendly email app for Android