MCPcopy Create free account
hub / github.com/M66B/FairEmail / clear

Method clear

app/src/main/java/eu/faircode/email/StyleHelper.java:1404–1440  ·  view source on GitHub ↗
(EditText etBody, int start, int end, boolean select)

Source from the content-addressed store, hash-verified

1402 }
1403
1404 static boolean clear(EditText etBody, int start, int end, boolean select) {
1405 Log.breadcrumb("style", "action", "clear");
1406
1407 int e = end;
1408
1409 // Expand to paragraph (block quotes)
1410 Editable edit = etBody.getText();
1411 if (e + 1 < edit.length() && edit.charAt(e) == '\n')
1412 e++;
1413
1414 for (Object span : edit.getSpans(start, e, Object.class)) {
1415 boolean has = false;
1416 for (Class<?> cls : CLEAR_STYLES)
1417 if (cls.isAssignableFrom(span.getClass())) {
1418 has = true;
1419 break;
1420 }
1421 if (!has)
1422 continue;
1423
1424 int sstart = edit.getSpanStart(span);
1425 int send = edit.getSpanEnd(span);
1426 int flags = edit.getSpanFlags(span);
1427
1428 if (sstart < start && send > start)
1429 setSpan(edit, span, sstart, start, flags, etBody.getContext());
1430 if (sstart < end && send > end)
1431 setSpan(edit, span, e, send, flags, etBody.getContext());
1432
1433 edit.removeSpan(span);
1434 }
1435
1436 etBody.setText(edit);
1437 etBody.setSelection(select ? start : end, end);
1438
1439 return true;
1440 }
1441
1442 static boolean clearAll(EditText etBody, int start, int end, boolean select) {
1443 Log.breadcrumb("style", "action", "clear/all");

Callers 2

applyMethod · 0.95
renumberMethod · 0.45

Calls 12

breadcrumbMethod · 0.95
setSpanMethod · 0.95
charAtMethod · 0.80
setTextMethod · 0.65
getTextMethod · 0.45
lengthMethod · 0.45
getSpansMethod · 0.45
getSpanStartMethod · 0.45
getSpanEndMethod · 0.45
getSpanFlagsMethod · 0.45
removeSpanMethod · 0.45
setSelectionMethod · 0.45

Tested by

no test coverage detected