mirror of https://github.com/M66B/FairEmail.git
Custom render: suppress extra newlines
This commit is contained in:
parent
7f6b935aea
commit
bfbf4dc534
|
@ -1846,8 +1846,8 @@ public class HtmlHelper {
|
||||||
|
|
||||||
if (debug) {
|
if (debug) {
|
||||||
if (block.size() > 0) {
|
if (block.size() > 0) {
|
||||||
block.get(0).text("<" + block.get(0));
|
block.get(0).text("(" + block.get(0));
|
||||||
block.get(block.size() - 1).text(block.get(block.size() - 1) + ">");
|
block.get(block.size() - 1).text(block.get(block.size() - 1) + ")");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1895,7 +1895,7 @@ public class HtmlHelper {
|
||||||
ssb.setSpan(new QuoteSpan(), start, ssb.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
ssb.setSpan(new QuoteSpan(), start, ssb.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||||
break;
|
break;
|
||||||
case "br":
|
case "br":
|
||||||
ssb.append("\n");
|
newline(ssb.length());
|
||||||
break;
|
break;
|
||||||
case "em":
|
case "em":
|
||||||
ssb.setSpan(new StyleSpan(Typeface.ITALIC), start, ssb.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
ssb.setSpan(new StyleSpan(Typeface.ITALIC), start, ssb.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||||
|
@ -1909,8 +1909,8 @@ public class HtmlHelper {
|
||||||
int level = element.tagName().charAt(1) - '1';
|
int level = element.tagName().charAt(1) - '1';
|
||||||
ssb.setSpan(new RelativeSizeSpan(HEADING_SIZES[level]), start, ssb.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
ssb.setSpan(new RelativeSizeSpan(HEADING_SIZES[level]), start, ssb.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||||
ssb.setSpan(new StyleSpan(Typeface.BOLD), start, ssb.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
ssb.setSpan(new StyleSpan(Typeface.BOLD), start, ssb.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||||
ssb.insert(start, "\n");
|
newline(start);
|
||||||
ssb.append("\n");
|
newline(ssb.length());
|
||||||
break;
|
break;
|
||||||
case "img":
|
case "img":
|
||||||
String src = element.attr("src");
|
String src = element.attr("src");
|
||||||
|
@ -1921,7 +1921,7 @@ public class HtmlHelper {
|
||||||
ssb.setSpan(new ImageSpan(d, src), start, start + 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
ssb.setSpan(new ImageSpan(d, src), start, start + 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||||
break;
|
break;
|
||||||
case "li":
|
case "li":
|
||||||
ssb.append("\n");
|
newline(ssb.length());
|
||||||
Element parent = element.parent();
|
Element parent = element.parent();
|
||||||
if (parent == null || "ul".equals(parent.tagName()))
|
if (parent == null || "ul".equals(parent.tagName()))
|
||||||
// TODO BulletSpanCompat
|
// TODO BulletSpanCompat
|
||||||
|
@ -1943,8 +1943,8 @@ public class HtmlHelper {
|
||||||
break;
|
break;
|
||||||
case "ol":
|
case "ol":
|
||||||
case "ul":
|
case "ul":
|
||||||
ssb.insert(start, "\n");
|
newline(start);
|
||||||
ssb.append("\n");
|
newline(ssb.length());
|
||||||
break;
|
break;
|
||||||
case "pre":
|
case "pre":
|
||||||
// Do nothing
|
// Do nothing
|
||||||
|
@ -1986,8 +1986,23 @@ public class HtmlHelper {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void newline(int index) {
|
||||||
|
int len = ssb.length();
|
||||||
|
if (len > 2 &&
|
||||||
|
ssb.charAt(len - 1) == '\n' &&
|
||||||
|
ssb.charAt(len - 2) == '\n')
|
||||||
|
return;
|
||||||
|
ssb.insert(index, "\n");
|
||||||
|
}
|
||||||
|
|
||||||
}, document.body());
|
}, document.body());
|
||||||
|
|
||||||
|
if (debug)
|
||||||
|
for (int i = ssb.length() - 1; i >= 0; i--)
|
||||||
|
if (ssb.charAt(i) == '\n')
|
||||||
|
ssb.insert(i, "|");
|
||||||
|
|
||||||
return reverseSpans(ssb);
|
return reverseSpans(ssb);
|
||||||
} else
|
} else
|
||||||
return fromHtml(document.html(), imageGetter, null);
|
return fromHtml(document.html(), imageGetter, null);
|
||||||
|
|
Loading…
Reference in New Issue