Fixed erroneously removing spans

pull/184/head
M66B 5 years ago
parent 01abec9568
commit 87d0919284

@ -536,20 +536,18 @@ public class FragmentCompose extends FragmentBase {
int f = text.getSpanFlags(span); int f = text.getSpanFlags(span);
Log.i("Style span " + s + "..." + e + " start=" + added); Log.i("Style span " + s + "..." + e + " start=" + added);
if (s <= added) { if (s <= added && added + 1 <= e) {
CharacterStyle s1 = CharacterStyle.wrap(span); CharacterStyle s1 = CharacterStyle.wrap(span);
text.setSpan(s1, s, added, f); text.setSpan(s1, s, added, f);
Log.i("Style span " + s + "..." + added); Log.i("Style span " + s + "..." + added);
}
if (added + 1 <= e) {
CharacterStyle s2 = CharacterStyle.wrap(span); CharacterStyle s2 = CharacterStyle.wrap(span);
text.setSpan(s2, added + 1, e, f); text.setSpan(s2, added + 1, e, f);
Log.i("Style span " + (added + 1) + "..." + e); Log.i("Style span " + (added + 1) + "..." + e);
}
text.removeSpan(span); text.removeSpan(span);
} }
}
etBody.setSelection(added); etBody.setSelection(added);
} }
@ -565,7 +563,6 @@ public class FragmentCompose extends FragmentBase {
if (s > 0 && if (s > 0 &&
added + 1 > s && e > added + 1 && added + 1 > s && e > added + 1 &&
text.charAt(s - 1) == '\n' && text.charAt(e - 1) == '\n') { text.charAt(s - 1) == '\n' && text.charAt(e - 1) == '\n') {
BulletSpan b1 = clone(span, span.getClass(), etBody.getContext()); BulletSpan b1 = clone(span, span.getClass(), etBody.getContext());
text.setSpan(b1, s, added + 1, f); text.setSpan(b1, s, added + 1, f);
Log.i("Span " + s + "..." + (added + 1)); Log.i("Span " + s + "..." + (added + 1));
@ -573,11 +570,11 @@ public class FragmentCompose extends FragmentBase {
BulletSpan b2 = clone(b1, span.getClass(), etBody.getContext()); BulletSpan b2 = clone(b1, span.getClass(), etBody.getContext());
text.setSpan(b2, added + 1, e, f); text.setSpan(b2, added + 1, e, f);
Log.i("Span " + (added + 1) + "..." + e); Log.i("Span " + (added + 1) + "..." + e);
}
renum = true; renum = true;
text.removeSpan(span); text.removeSpan(span);
} }
}
if (renum) if (renum)
renumber(text, false); renumber(text, false);

Loading…
Cancel
Save