(LifecycleOwner owner, View anchor, EditText etBody)
| 601 | } |
| 602 | |
| 603 | static boolean selectSize(LifecycleOwner owner, View anchor, EditText etBody) { |
| 604 | Log.breadcrumb("style", "action", "selectSize"); |
| 605 | |
| 606 | Context context = anchor.getContext(); |
| 607 | PopupMenuLifecycle popupMenu = new PopupMenuLifecycle(context, owner, anchor); |
| 608 | |
| 609 | int[] titles = new int[]{ |
| 610 | R.string.title_style_size_xsmall, |
| 611 | R.string.title_style_size_small, |
| 612 | R.string.title_style_size_medium, |
| 613 | R.string.title_style_size_large, |
| 614 | R.string.title_style_size_xlarge}; |
| 615 | |
| 616 | float[] sizes = new float[]{ |
| 617 | HtmlHelper.FONT_XSMALL, |
| 618 | HtmlHelper.FONT_SMALL, |
| 619 | 1.0f, |
| 620 | HtmlHelper.FONT_LARGE, |
| 621 | HtmlHelper.FONT_XLARGE}; |
| 622 | |
| 623 | for (int i = 0; i < titles.length; i++) { |
| 624 | SpannableStringBuilder ssb = new SpannableStringBuilderEx(context.getString(titles[i])); |
| 625 | ssb.setSpan(new RelativeSizeSpan(sizes[i]), 0, ssb.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); |
| 626 | popupMenu.getMenu().add(group_style_size, i + 1, i, ssb); |
| 627 | } |
| 628 | |
| 629 | popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { |
| 630 | @Override |
| 631 | public boolean onMenuItemClick(MenuItem item) { |
| 632 | return StyleHelper.apply(group_style_size, item.getItemId(), owner, anchor, etBody); |
| 633 | } |
| 634 | }); |
| 635 | |
| 636 | popupMenu.show(); |
| 637 | |
| 638 | return true; |
| 639 | } |
| 640 | |
| 641 | static boolean setSize(EditText etBody, int start, int end, Float size, boolean select) { |
| 642 | Log.breadcrumb("style", "action", "size"); |
no test coverage detected