Ensure paragraph quotes

pull/184/head
M66B 4 years ago
parent 0920c4ee2a
commit 6308069ce8

@ -485,7 +485,8 @@ public class FragmentCompose extends FragmentBase {
if (activity != null) if (activity != null)
activity.onUserInteraction(); activity.onUserInteraction();
if (before == 0 && count == 1 && start > 0 && text.charAt(start) == '\n') { if (before == 0 && count == 1 && start > 0 &&
text.charAt(start) == '\n' && text.charAt(start - 1) == '\n') {
// break block quotes // break block quotes
boolean qbroken = false; boolean qbroken = false;
SpannableStringBuilder ssb = new SpannableStringBuilder(text); SpannableStringBuilder ssb = new SpannableStringBuilder(text);
@ -493,7 +494,7 @@ public class FragmentCompose extends FragmentBase {
for (QuoteSpan span : spans) { for (QuoteSpan span : spans) {
int s = ssb.getSpanStart(span); int s = ssb.getSpanStart(span);
int e = ssb.getSpanEnd(span); int e = ssb.getSpanEnd(span);
int f = ssb.getSpanFlags(span); int f = ssb.getSpanFlags(span) | Spanned.SPAN_PARAGRAPH;
Log.i("Span " + s + "..." + e + " start=" + start); Log.i("Span " + s + "..." + e + " start=" + start);
if (s > 0 && start - s > 0 && e - (start + 1) > 0 && if (s > 0 && start - s > 0 && e - (start + 1) > 0 &&

@ -2043,16 +2043,15 @@ public class HtmlHelper {
ssb.setSpan(new RelativeSizeSpan(FONT_LARGE), start, ssb.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); ssb.setSpan(new RelativeSizeSpan(FONT_LARGE), start, ssb.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
break; break;
case "blockquote": case "blockquote":
if (start > 0 && ssb.charAt(start - 1) != '\n') if (start == 0 || ssb.charAt(start - 1) != '\n')
ssb.insert(start++, "\n"); ssb.insert(start++, "\n");
if (ssb.length() == 0 || ssb.charAt(ssb.length() - 1) != '\n')
ssb.append("\n");
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.P) if (Build.VERSION.SDK_INT < Build.VERSION_CODES.P)
ssb.setSpan(new QuoteSpan(colorPrimary), start, ssb.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE); ssb.setSpan(new QuoteSpan(colorPrimary), start, ssb.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
else else
ssb.setSpan(new QuoteSpan(colorPrimary, dp3, dp6), start, ssb.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE); ssb.setSpan(new QuoteSpan(colorPrimary, dp3, dp6), start, ssb.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
if (ssb.length() > 1 && ssb.charAt(ssb.length() - 1) != '\n')
ssb.append("\n");
break; break;
case "br": case "br":
newline(ssb.length()); newline(ssb.length());
@ -2096,7 +2095,11 @@ 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":
newline(ssb.length()); if (start == 0 || ssb.charAt(start - 1) != '\n')
ssb.insert(start++, "\n");
if (ssb.length() == 0 || ssb.charAt(ssb.length() - 1) != '\n')
ssb.append("\n");
Element parent = element.parent(); Element parent = element.parent();
if (parent == null || "ul".equals(parent.tagName())) if (parent == null || "ul".equals(parent.tagName()))
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.P) if (Build.VERSION.SDK_INT < Build.VERSION_CODES.P)

Loading…
Cancel
Save