From 0446fe7cd987668aed322b56c2a1028e205aaaaa Mon Sep 17 00:00:00 2001 From: M66B Date: Sat, 12 Sep 2020 12:25:10 +0200 Subject: [PATCH] Experiment: message sections --- .../java/eu/faircode/email/HtmlHelper.java | 23 ++++++++++++++++++- 1 file changed, 22 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 49f143da7e..bfcb5a808d 100644 --- a/app/src/main/java/eu/faircode/email/HtmlHelper.java +++ b/app/src/main/java/eu/faircode/email/HtmlHelper.java @@ -792,7 +792,7 @@ public class HtmlHelper { if (hasVisibleContent(row.childNodes())) { Element next = row.nextElementSibling(); if (next != null && "tr".equals(next.tagName())) - row.appendElement("br"); + row.appendElement("hr"); } } @@ -2099,6 +2099,27 @@ public class HtmlHelper { newline(ssb.length()); break; case "hr": + int lhr = 0; + for (LineSpan ls : ssb.getSpans(0, ssb.length(), LineSpan.class)) { + int end = ssb.getSpanEnd(ls); + if (end > lhr) + lhr = end; + } + + boolean nls = true; + for (int i = lhr; i < ssb.length(); i++) + if (ssb.charAt(i) != '\n') { + nls = false; + break; + } + if (nls) + break; + + while (ssb.length() > 1 && + ssb.charAt(ssb.length() - 2) == '\n' && + ssb.charAt(ssb.length() - 1) == '\n') + ssb.delete(ssb.length() - 1, ssb.length()); + ssb.append("\n" + LINE + "\n"); float stroke = context.getResources().getDisplayMetrics().density; ssb.setSpan(new LineSpan(colorSeparator, stroke),