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

Method selectList

app/src/main/java/eu/faircode/email/StyleHelper.java:902–940  ·  view source on GitHub ↗
(LifecycleOwner owner, View anchor, EditText etBody, int start, int end)

Source from the content-addressed store, hash-verified

900 }
901
902 static boolean selectList(LifecycleOwner owner, View anchor, EditText etBody, int start, int end) {
903 Log.breadcrumb("style", "action", "selectList");
904
905 Context context = anchor.getContext();
906 PopupMenuLifecycle popupMenu = new PopupMenuLifecycle(context, owner, anchor);
907 popupMenu.inflate(R.menu.popup_style_list);
908
909 int s = start;
910 int e = end;
911 if (s == e) {
912 Pair<Integer, Integer> p = StyleHelper.getParagraph(etBody, false);
913 if (p == null)
914 return false;
915 s = p.first;
916 e = p.second;
917 }
918
919 Editable edit = etBody.getText();
920 Integer maxLevel = getMaxListLevel(edit, s, e);
921 IndentSpan[] indents = edit.getSpans(s, e, IndentSpan.class);
922
923 popupMenu.getMenu().findItem(R.id.menu_style_list_bullets).setEnabled(indents.length == 0);
924 popupMenu.getMenu().findItem(R.id.menu_style_list_numbered).setEnabled(indents.length == 0);
925 popupMenu.getMenu().findItem(R.id.menu_style_list_increase).setEnabled(indents.length == 0 && maxLevel != null);
926 popupMenu.getMenu().findItem(R.id.menu_style_list_decrease).setEnabled(indents.length == 0 && maxLevel != null && maxLevel > 0);
927
928 popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
929 @Override
930 public boolean onMenuItemClick(MenuItem item) {
931 return StyleHelper.apply(group_style_list, item.getItemId(), owner, anchor, etBody);
932 }
933 });
934
935 popupMenu.insertIcons(context);
936
937 popupMenu.show();
938
939 return true;
940 }
941
942 static boolean setListLevel(int itemId, EditText etBody, int start, int end, boolean select) {
943 Log.breadcrumb("style", "action", "level");

Callers 1

applyMethod · 0.95

Calls 9

breadcrumbMethod · 0.95
getParagraphMethod · 0.95
getMaxListLevelMethod · 0.95
insertIconsMethod · 0.95
showMethod · 0.95
getTextMethod · 0.45
getSpansMethod · 0.45
setEnabledMethod · 0.45

Tested by

no test coverage detected