mirror of
https://github.com/M66B/FairEmail.git
synced 2026-02-03 05:28:19 +01:00
Keep suggestions and compose hint on clear styles
This commit is contained in:
@@ -40,6 +40,7 @@ import android.text.style.QuoteSpan;
|
||||
import android.text.style.RelativeSizeSpan;
|
||||
import android.text.style.StrikethroughSpan;
|
||||
import android.text.style.StyleSpan;
|
||||
import android.text.style.SuggestionSpan;
|
||||
import android.text.style.TypefaceSpan;
|
||||
import android.text.style.URLSpan;
|
||||
import android.text.style.UnderlineSpan;
|
||||
@@ -631,18 +632,24 @@ public class StyleHelper {
|
||||
if (e + 1 < edit.length() && edit.charAt(e) == '\n')
|
||||
e++;
|
||||
|
||||
for (Object span : edit.getSpans(start, e, Object.class))
|
||||
if (!(span instanceof ImageSpan)) {
|
||||
int sstart = edit.getSpanStart(span);
|
||||
int send = edit.getSpanEnd(span);
|
||||
int flags = edit.getSpanFlags(span);
|
||||
if (sstart < start && send > start)
|
||||
setSpan(edit, span, sstart, start, flags, etBody.getContext());
|
||||
if (sstart < end && send > end)
|
||||
setSpan(edit, span, e, send, flags, etBody.getContext());
|
||||
for (Object span : edit.getSpans(start, e, Object.class)) {
|
||||
if (span instanceof ImageSpan || span instanceof SuggestionSpan)
|
||||
continue;
|
||||
|
||||
edit.removeSpan(span);
|
||||
}
|
||||
int sstart = edit.getSpanStart(span);
|
||||
int send = edit.getSpanEnd(span);
|
||||
int flags = edit.getSpanFlags(span);
|
||||
|
||||
if ((flags & Spanned.SPAN_COMPOSING) != 0)
|
||||
continue;
|
||||
|
||||
if (sstart < start && send > start)
|
||||
setSpan(edit, span, sstart, start, flags, etBody.getContext());
|
||||
if (sstart < end && send > end)
|
||||
setSpan(edit, span, e, send, flags, etBody.getContext());
|
||||
|
||||
edit.removeSpan(span);
|
||||
}
|
||||
|
||||
etBody.setText(edit);
|
||||
etBody.setSelection(start, e);
|
||||
@@ -695,9 +702,16 @@ public class StyleHelper {
|
||||
} else if (action == R.id.menu_clear) {
|
||||
Log.breadcrumb("style", "action", "clear/all");
|
||||
|
||||
for (Object span : edit.getSpans(0, etBody.length(), Object.class))
|
||||
if (!(span instanceof ImageSpan))
|
||||
edit.removeSpan(span);
|
||||
for (Object span : edit.getSpans(0, etBody.length(), Object.class)) {
|
||||
if (span instanceof ImageSpan || span instanceof SuggestionSpan)
|
||||
continue;
|
||||
|
||||
int flags = edit.getSpanFlags(span);
|
||||
if ((flags & Spanned.SPAN_COMPOSING) != 0)
|
||||
continue;
|
||||
|
||||
edit.removeSpan(span);
|
||||
}
|
||||
|
||||
etBody.setText(edit);
|
||||
etBody.setSelection(start, end);
|
||||
|
||||
Reference in New Issue
Block a user