From a8e2abb6779a5d9f768db612402e04b9c53791bc Mon Sep 17 00:00:00 2001 From: M66B Date: Tue, 2 Mar 2021 17:21:44 +0100 Subject: [PATCH] Generate preview / detect language of encrypted messages --- .../eu/faircode/email/FragmentMessages.java | 44 ++++++++++++++----- 1 file changed, 34 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java index fa2a71b242..1a715ebaf5 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessages.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java @@ -6215,16 +6215,29 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. MessageHelper helper = new MessageHelper(imessage, context); parts = helper.getMessageParts(); - String subject = parts.getProtectedSubject(); - if (subject != null) - db.message().setMessageSubject(message.id, subject); + String protect_subject = parts.getProtectedSubject(); + + // Write decrypted body + String html = parts.getHtml(context); + Helper.writeText(message.getFile(context), html); + Log.i("pgp html=" + (html == null ? null : html.length())); + + String text = HtmlHelper.getFullText(html); + message.preview = HtmlHelper.getPreview(text); + message.language = HtmlHelper.getLanguage(context, message.subject, text); try { db.beginTransaction(); - // Write decrypted body - String html = parts.getHtml(context); - Helper.writeText(message.getFile(context), html); + if (protect_subject != null) + db.message().setMessageSubject(message.id, protect_subject); + + db.message().setMessageContent(message.id, + true, + message.language, + parts.isPlainOnly(), + message.preview, + message.warning); // Remove existing attachments db.attachment().deleteAttachments(message.id); @@ -6851,14 +6864,25 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. MessageHelper helper = new MessageHelper(imessage, context); MessageHelper.MessageParts parts = helper.getMessageParts(); + // Write decrypted body + String html = parts.getHtml(context); + Helper.writeText(message.getFile(context), html); + Log.i("s/mime html=" + (html == null ? null : html.length())); + + String text = HtmlHelper.getFullText(html); + message.preview = HtmlHelper.getPreview(text); + message.language = HtmlHelper.getLanguage(context, message.subject, text); + DB db = DB.getInstance(context); try { db.beginTransaction(); - // Write decrypted body - String html = parts.getHtml(context); - Helper.writeText(message.getFile(context), html); - Log.i("s/mime html=" + (html == null ? null : html.length())); + db.message().setMessageContent(message.id, + true, + message.language, + parts.isPlainOnly(), + message.preview, + message.warning); // Remove existing attachments db.attachment().deleteAttachments(message.id);