From eaddfe200162794d76d5a13a04805b9882a6d7b3 Mon Sep 17 00:00:00 2001 From: M66B Date: Wed, 19 Jan 2022 18:59:12 +0100 Subject: [PATCH] Invalidate headers on change/sync --- app/src/main/java/eu/faircode/email/HtmlHelper.java | 8 ++++++++ .../main/java/eu/faircode/email/ServiceSynchronize.java | 6 +++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/eu/faircode/email/HtmlHelper.java b/app/src/main/java/eu/faircode/email/HtmlHelper.java index 74a20122b4..af0b318c56 100644 --- a/app/src/main/java/eu/faircode/email/HtmlHelper.java +++ b/app/src/main/java/eu/faircode/email/HtmlHelper.java @@ -2221,6 +2221,10 @@ public class HtmlHelper { return "border-" + dir + ":3px solid #ccc; padding-" + dir + ":3px;margin-top:0; margin-bottom:0;"; } + static String getIndentStyle(CharSequence quoted, int start, int end) { + return "margin-top:0; margin-bottom:0;"; + } + static boolean hasBorder(Element e) { if ("true".equals(e.attr("x-border"))) return true; @@ -3273,8 +3277,10 @@ public class HtmlHelper { } static String toHtml(Spanned spanned, Context context) { + Log.i("MMM text=" + spanned.toString().replace("\n", "|")); HtmlEx converter = new HtmlEx(context); String html = converter.toHtml(spanned, TO_HTML_PARAGRAPH_LINES_INDIVIDUAL); + Log.i("MMM html=" + html.replace("\n", "|")); Document doc = JsoupEx.parse(html); @@ -3354,6 +3360,8 @@ public class HtmlHelper { last.remove(); } + Log.i("MMM fixed=" + doc.html().replace("\n", "|")); + return doc.html(); } diff --git a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java index 865fb31382..5b76aefc79 100644 --- a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java +++ b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java @@ -53,6 +53,7 @@ import com.sun.mail.iap.Argument; import com.sun.mail.iap.ProtocolException; import com.sun.mail.iap.Response; import com.sun.mail.imap.IMAPFolder; +import com.sun.mail.imap.IMAPMessage; import com.sun.mail.imap.IMAPStore; import com.sun.mail.imap.protocol.IMAPProtocol; import com.sun.mail.imap.protocol.IMAPResponse; @@ -1654,7 +1655,10 @@ public class ServiceSynchronize extends ServiceBase implements SharedPreferences public void messageChanged(MessageChangedEvent e) { try { wlMessage.acquire(); - fetch(folder, ifolder, new Message[]{e.getMessage()}, false, "changed"); + Message imessage = e.getMessage(); + if (imessage instanceof IMAPMessage) + ((IMAPMessage) imessage).invalidateHeaders(); + fetch(folder, ifolder, new Message[]{imessage}, false, "changed"); Thread.sleep(FETCH_YIELD_DURATION); } catch (Throwable ex) { Log.e(folder.name, ex);