From abf77d7640ccb91e238d1d0a962ebb04dff94996 Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 15 Mar 2020 13:49:17 +0100 Subject: [PATCH] Fixed signature location --- .../main/java/eu/faircode/email/HtmlHelper.java | 14 ++++++++++++++ .../java/eu/faircode/email/MessageHelper.java | 15 ++------------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/HtmlHelper.java b/app/src/main/java/eu/faircode/email/HtmlHelper.java index db6da8469d..952371beb0 100644 --- a/app/src/main/java/eu/faircode/email/HtmlHelper.java +++ b/app/src/main/java/eu/faircode/email/HtmlHelper.java @@ -1264,6 +1264,20 @@ public class HtmlHelper { static void convertLists(Document document) { for (Element p : document.select("p")) { + // Skip signature and referenced message + boolean body = true; + Element parent = p.parent(); + while (parent != null) { + if ("div".equals(parent.tagName()) && + !TextUtils.isEmpty(parent.attr("fairemail"))) { + body = false; + break; + } + parent = parent.parent(); + } + if (!body) + continue; + Element list = null; for (int i = 0; i < p.childNodeSize(); i++) { boolean item = false; diff --git a/app/src/main/java/eu/faircode/email/MessageHelper.java b/app/src/main/java/eu/faircode/email/MessageHelper.java index 138dd25a56..bf4b67dcc7 100644 --- a/app/src/main/java/eu/faircode/email/MessageHelper.java +++ b/app/src/main/java/eu/faircode/email/MessageHelper.java @@ -36,7 +36,6 @@ import com.sun.mail.util.QDecoderStream; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; -import org.jsoup.select.Elements; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; @@ -516,20 +515,10 @@ public class MessageHelper { // When sending message if (identity != null) { - Elements sig = document.select("div[fairemail=signature]"); - Elements ref = document.select("div[fairemail=reference]"); - sig.remove(); - ref.remove(); - HtmlHelper.convertLists(document); - sig.removeAttr("fairemail"); - ref.removeAttr("fairemail"); - - for (Element e : sig) - document.body().appendChild(e); - for (Element e : ref) - document.body().appendChild(e); + document.select("div[fairemail=signature]").removeAttr("fairemail"); + document.select("div[fairemail=reference]").removeAttr("fairemail"); DB db = DB.getInstance(context); try {