diff --git a/app/src/main/java/eu/faircode/email/HtmlEx.java b/app/src/main/java/eu/faircode/email/HtmlEx.java index 6b9119ddd2..3b751c2235 100644 --- a/app/src/main/java/eu/faircode/email/HtmlEx.java +++ b/app/src/main/java/eu/faircode/email/HtmlEx.java @@ -29,6 +29,7 @@ import android.text.style.BulletSpan; import android.text.style.CharacterStyle; import android.text.style.ForegroundColorSpan; import android.text.style.ImageSpan; +import android.text.style.LeadingMarginSpan; import android.text.style.ParagraphStyle; import android.text.style.QuoteSpan; import android.text.style.RelativeSizeSpan; @@ -136,23 +137,25 @@ public class HtmlEx { int option) { int next; for (int i = start; i < end; i = next) { - int n1 = text.nextSpanTransition(i, end, QuoteSpan.class); - int n2 = text.nextSpanTransition(i, end, eu.faircode.email.IndentSpan.class); - Class type = (n1 < n2 ? QuoteSpan.class : eu.faircode.email.IndentSpan.class); - next = Math.min(n1, n2); - Object[] quotes = text.getSpans(i, next, type); + next = text.nextSpanTransition(i, end, LeadingMarginSpan.class); + List spans = new ArrayList<>(); + for (Object span : text.getSpans(i, next, LeadingMarginSpan.class)) + if (span instanceof QuoteSpan || + span instanceof eu.faircode.email.IndentSpan) + spans.add(span); - for (Object quote : quotes) { - if (quote instanceof QuoteSpan) - out.append("
"); - else + for (Object span : spans) { + if (span instanceof QuoteSpan) + out.append("
"); + else if (span instanceof eu.faircode.email.IndentSpan) out.append("
"); } withinBlockquote(out, text, i, next, option); - for (Object quote : quotes) { + for (Object span : spans) { out.append("
\n"); } }