Loading core/java/android/widget/Editor.java +59 −41 Original line number Diff line number Diff line Loading @@ -187,20 +187,34 @@ public class Editor { // Tag used when the Editor maintains its own separate UndoManager. private static final String UNDO_OWNER_TAG = "Editor"; // Ordering constants used to place the Action Mode or context menu items in their menu. private static final int MENU_ITEM_ORDER_ASSIST = 0; private static final int MENU_ITEM_ORDER_UNDO = 2; private static final int MENU_ITEM_ORDER_REDO = 3; private static final int MENU_ITEM_ORDER_CUT = 4; private static final int MENU_ITEM_ORDER_COPY = 5; private static final int MENU_ITEM_ORDER_PASTE = 6; private static final int MENU_ITEM_ORDER_SHARE = 7; private static final int MENU_ITEM_ORDER_SELECT_ALL = 8; private static final int MENU_ITEM_ORDER_REPLACE = 9; private static final int MENU_ITEM_ORDER_AUTOFILL = 10; private static final int MENU_ITEM_ORDER_PASTE_AS_PLAIN_TEXT = 11; private static final int MENU_ITEM_ORDER_SECONDARY_ASSIST_ACTIONS_START = 50; private static final int MENU_ITEM_ORDER_PROCESS_TEXT_INTENT_ACTIONS_START = 100; // Ordering constants used to place the Action Mode items in their menu. private static final int ACTION_MODE_MENU_ITEM_ORDER_ASSIST = 0; private static final int ACTION_MODE_MENU_ITEM_ORDER_CUT = 4; private static final int ACTION_MODE_MENU_ITEM_ORDER_COPY = 5; private static final int ACTION_MODE_MENU_ITEM_ORDER_PASTE = 6; private static final int ACTION_MODE_MENU_ITEM_ORDER_SHARE = 7; private static final int ACTION_MODE_MENU_ITEM_ORDER_SELECT_ALL = 8; private static final int ACTION_MODE_MENU_ITEM_ORDER_REPLACE = 9; private static final int ACTION_MODE_MENU_ITEM_ORDER_AUTOFILL = 10; private static final int ACTION_MODE_MENU_ITEM_ORDER_PASTE_AS_PLAIN_TEXT = 11; private static final int ACTION_MODE_MENU_ITEM_ORDER_SECONDARY_ASSIST_ACTIONS_START = 50; private static final int ACTION_MODE_MENU_ITEM_ORDER_PROCESS_TEXT_INTENT_ACTIONS_START = 100; // Ordering constants used to place the Context Menu items in their menu. private static final int CONTEXT_MENU_ITEM_ORDER_UNDO = 2; private static final int CONTEXT_MENU_ITEM_ORDER_REDO = 3; private static final int CONTEXT_MENU_ITEM_ORDER_CUT = 4; private static final int CONTEXT_MENU_ITEM_ORDER_COPY = 5; private static final int CONTEXT_MENU_ITEM_ORDER_PASTE = 6; private static final int CONTEXT_MENU_ITEM_ORDER_PASTE_AS_PLAIN_TEXT = 7; private static final int CONTEXT_MENU_ITEM_ORDER_SELECT_ALL = 8; private static final int CONTEXT_MENU_ITEM_ORDER_SHARE = 9; private static final int CONTEXT_MENU_ITEM_ORDER_AUTOFILL = 10; private static final int CONTEXT_MENU_ITEM_ORDER_REPLACE = 11; private static final int CONTEXT_MENU_GROUP_UNDO_REDO = Menu.FIRST; private static final int CONTEXT_MENU_GROUP_CLIPBOARD = Menu.FIRST + 1; private static final int CONTEXT_MENU_GROUP_MISC = Menu.FIRST + 2; private static final int FLAG_MISSPELLED_OR_GRAMMAR_ERROR = SuggestionSpan.FLAG_MISSPELLED | SuggestionSpan.FLAG_GRAMMAR_ERROR; Loading Loading @@ -3114,8 +3128,8 @@ public class Editor { for (int i = 0; i < suggestionInfoArray.length; i++) { suggestionInfoArray[i] = new SuggestionInfo(); } final SubMenu subMenu = menu.addSubMenu(Menu.NONE, Menu.NONE, MENU_ITEM_ORDER_REPLACE, com.android.internal.R.string.replace); final SubMenu subMenu = menu.addSubMenu(Menu.NONE, Menu.NONE, CONTEXT_MENU_ITEM_ORDER_REPLACE, com.android.internal.R.string.replace); final int numItems = mSuggestionHelper.getSuggestionInfo(suggestionInfoArray, null); for (int i = 0; i < numItems; i++) { final SuggestionInfo info = suggestionInfoArray[i]; Loading @@ -3133,47 +3147,51 @@ public class Editor { final int keyboard = mTextView.getResources().getConfiguration().keyboard; menu.setQwertyMode(keyboard == Configuration.KEYBOARD_QWERTY); menu.add(Menu.NONE, TextView.ID_UNDO, MENU_ITEM_ORDER_UNDO, menu.setGroupDividerEnabled(true); menu.add(CONTEXT_MENU_GROUP_UNDO_REDO, TextView.ID_UNDO, CONTEXT_MENU_ITEM_ORDER_UNDO, com.android.internal.R.string.undo) .setAlphabeticShortcut('z') .setOnMenuItemClickListener(mOnContextMenuItemClickListener) .setEnabled(mTextView.canUndo()); menu.add(Menu.NONE, TextView.ID_REDO, MENU_ITEM_ORDER_REDO, menu.add(CONTEXT_MENU_GROUP_UNDO_REDO, TextView.ID_REDO, CONTEXT_MENU_ITEM_ORDER_REDO, com.android.internal.R.string.redo) .setAlphabeticShortcut('z', KeyEvent.META_CTRL_ON | KeyEvent.META_SHIFT_ON) .setOnMenuItemClickListener(mOnContextMenuItemClickListener) .setEnabled(mTextView.canRedo()); menu.add(Menu.NONE, TextView.ID_CUT, MENU_ITEM_ORDER_CUT, menu.add(CONTEXT_MENU_GROUP_CLIPBOARD, TextView.ID_CUT, CONTEXT_MENU_ITEM_ORDER_CUT, com.android.internal.R.string.cut) .setAlphabeticShortcut('x') .setOnMenuItemClickListener(mOnContextMenuItemClickListener) .setEnabled(mTextView.canCut()); menu.add(Menu.NONE, TextView.ID_COPY, MENU_ITEM_ORDER_COPY, menu.add(CONTEXT_MENU_GROUP_CLIPBOARD, TextView.ID_COPY, CONTEXT_MENU_ITEM_ORDER_COPY, com.android.internal.R.string.copy) .setAlphabeticShortcut('c') .setOnMenuItemClickListener(mOnContextMenuItemClickListener) .setEnabled(mTextView.canCopy()); menu.add(Menu.NONE, TextView.ID_PASTE, MENU_ITEM_ORDER_PASTE, menu.add(CONTEXT_MENU_GROUP_CLIPBOARD, TextView.ID_PASTE, CONTEXT_MENU_ITEM_ORDER_PASTE, com.android.internal.R.string.paste) .setAlphabeticShortcut('v') .setEnabled(mTextView.canPaste()) .setOnMenuItemClickListener(mOnContextMenuItemClickListener); menu.add(Menu.NONE, TextView.ID_PASTE_AS_PLAIN_TEXT, MENU_ITEM_ORDER_PASTE_AS_PLAIN_TEXT, menu.add(CONTEXT_MENU_GROUP_CLIPBOARD, TextView.ID_PASTE_AS_PLAIN_TEXT, CONTEXT_MENU_ITEM_ORDER_PASTE_AS_PLAIN_TEXT, com.android.internal.R.string.paste_as_plain_text) .setAlphabeticShortcut('v', KeyEvent.META_CTRL_ON | KeyEvent.META_SHIFT_ON) .setEnabled(mTextView.canPasteAsPlainText()) .setOnMenuItemClickListener(mOnContextMenuItemClickListener); menu.add(Menu.NONE, TextView.ID_SHARE, MENU_ITEM_ORDER_SHARE, com.android.internal.R.string.share) .setEnabled(mTextView.canShare()) .setOnMenuItemClickListener(mOnContextMenuItemClickListener); menu.add(Menu.NONE, TextView.ID_SELECT_ALL, MENU_ITEM_ORDER_SELECT_ALL, com.android.internal.R.string.selectAll) menu.add(CONTEXT_MENU_GROUP_CLIPBOARD, TextView.ID_SELECT_ALL, CONTEXT_MENU_ITEM_ORDER_SELECT_ALL, com.android.internal.R.string.selectAll) .setAlphabeticShortcut('a') .setEnabled(mTextView.canSelectAllText()) .setOnMenuItemClickListener(mOnContextMenuItemClickListener); menu.add(Menu.NONE, TextView.ID_AUTOFILL, MENU_ITEM_ORDER_AUTOFILL, menu.add(CONTEXT_MENU_GROUP_MISC, TextView.ID_SHARE, CONTEXT_MENU_ITEM_ORDER_SHARE, com.android.internal.R.string.share) .setEnabled(mTextView.canShare()) .setOnMenuItemClickListener(mOnContextMenuItemClickListener); menu.add(CONTEXT_MENU_GROUP_MISC, TextView.ID_AUTOFILL, CONTEXT_MENU_ITEM_ORDER_AUTOFILL, android.R.string.autofill) .setEnabled(mTextView.canRequestAutofill()) .setOnMenuItemClickListener(mOnContextMenuItemClickListener); Loading Loading @@ -4355,28 +4373,28 @@ public class Editor { private void populateMenuWithItems(Menu menu) { if (mTextView.canCut()) { menu.add(Menu.NONE, TextView.ID_CUT, MENU_ITEM_ORDER_CUT, menu.add(Menu.NONE, TextView.ID_CUT, ACTION_MODE_MENU_ITEM_ORDER_CUT, com.android.internal.R.string.cut) .setAlphabeticShortcut('x') .setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); } if (mTextView.canCopy()) { menu.add(Menu.NONE, TextView.ID_COPY, MENU_ITEM_ORDER_COPY, menu.add(Menu.NONE, TextView.ID_COPY, ACTION_MODE_MENU_ITEM_ORDER_COPY, com.android.internal.R.string.copy) .setAlphabeticShortcut('c') .setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); } if (mTextView.canPaste()) { menu.add(Menu.NONE, TextView.ID_PASTE, MENU_ITEM_ORDER_PASTE, menu.add(Menu.NONE, TextView.ID_PASTE, ACTION_MODE_MENU_ITEM_ORDER_PASTE, com.android.internal.R.string.paste) .setAlphabeticShortcut('v') .setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); } if (mTextView.canShare()) { menu.add(Menu.NONE, TextView.ID_SHARE, MENU_ITEM_ORDER_SHARE, menu.add(Menu.NONE, TextView.ID_SHARE, ACTION_MODE_MENU_ITEM_ORDER_SHARE, com.android.internal.R.string.share) .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); } Loading @@ -4384,7 +4402,7 @@ public class Editor { if (mTextView.canRequestAutofill()) { final String selected = mTextView.getSelectedText(); if (selected == null || selected.isEmpty()) { menu.add(Menu.NONE, TextView.ID_AUTOFILL, MENU_ITEM_ORDER_AUTOFILL, menu.add(Menu.NONE, TextView.ID_AUTOFILL, ACTION_MODE_MENU_ITEM_ORDER_AUTOFILL, com.android.internal.R.string.autofill) .setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER); } Loading @@ -4394,7 +4412,7 @@ public class Editor { menu.add( Menu.NONE, TextView.ID_PASTE_AS_PLAIN_TEXT, MENU_ITEM_ORDER_PASTE_AS_PLAIN_TEXT, ACTION_MODE_MENU_ITEM_ORDER_PASTE_AS_PLAIN_TEXT, com.android.internal.R.string.paste_as_plain_text) .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); } Loading @@ -4421,7 +4439,7 @@ public class Editor { boolean canSelectAll = mTextView.canSelectAllText(); boolean selectAllItemExists = menu.findItem(TextView.ID_SELECT_ALL) != null; if (canSelectAll && !selectAllItemExists) { menu.add(Menu.NONE, TextView.ID_SELECT_ALL, MENU_ITEM_ORDER_SELECT_ALL, menu.add(Menu.NONE, TextView.ID_SELECT_ALL, ACTION_MODE_MENU_ITEM_ORDER_SELECT_ALL, com.android.internal.R.string.selectAll) .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); } else if (!canSelectAll && selectAllItemExists) { Loading @@ -4433,7 +4451,7 @@ public class Editor { boolean canReplace = mTextView.isSuggestionsEnabled() && shouldOfferToShowSuggestions(); boolean replaceItemExists = menu.findItem(TextView.ID_REPLACE) != null; if (canReplace && !replaceItemExists) { menu.add(Menu.NONE, TextView.ID_REPLACE, MENU_ITEM_ORDER_REPLACE, menu.add(Menu.NONE, TextView.ID_REPLACE, ACTION_MODE_MENU_ITEM_ORDER_REPLACE, com.android.internal.R.string.replace) .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); } else if (!canReplace && replaceItemExists) { Loading @@ -4459,12 +4477,12 @@ public class Editor { // Primary assist action (Always shown). final MenuItem item = addAssistMenuItem(menu, textClassification.getActions().get(0), TextView.ID_ASSIST, MENU_ITEM_ORDER_ASSIST, MenuItem.SHOW_AS_ACTION_ALWAYS); ACTION_MODE_MENU_ITEM_ORDER_ASSIST, MenuItem.SHOW_AS_ACTION_ALWAYS); item.setIntent(textClassification.getIntent()); } else if (hasLegacyAssistItem(textClassification)) { // Legacy primary assist action (Always shown). final MenuItem item = menu.add( TextView.ID_ASSIST, TextView.ID_ASSIST, MENU_ITEM_ORDER_ASSIST, TextView.ID_ASSIST, TextView.ID_ASSIST, ACTION_MODE_MENU_ITEM_ORDER_ASSIST, textClassification.getLabel()) .setIcon(textClassification.getIcon()) .setIntent(textClassification.getIntent()); Loading @@ -4478,7 +4496,7 @@ public class Editor { for (int i = 1; i < count; i++) { // Secondary assist action (Never shown). addAssistMenuItem(menu, textClassification.getActions().get(i), Menu.NONE, MENU_ITEM_ORDER_SECONDARY_ASSIST_ACTIONS_START + i - 1, ACTION_MODE_MENU_ITEM_ORDER_SECONDARY_ASSIST_ACTIONS_START + i - 1, MenuItem.SHOW_AS_ACTION_NEVER); } mPrevTextClassification = textClassification; Loading Loading @@ -7923,7 +7941,7 @@ public class Editor { for (int i = 0; i < size; i++) { final ResolveInfo resolveInfo = mSupportedActivities.get(i); menu.add(Menu.NONE, Menu.NONE, Editor.MENU_ITEM_ORDER_PROCESS_TEXT_INTENT_ACTIONS_START + i, Editor.ACTION_MODE_MENU_ITEM_ORDER_PROCESS_TEXT_INTENT_ACTIONS_START + i, getLabel(resolveInfo)) .setIntent(createProcessTextIntentForResolveInfo(resolveInfo)) .setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER); Loading Loading
core/java/android/widget/Editor.java +59 −41 Original line number Diff line number Diff line Loading @@ -187,20 +187,34 @@ public class Editor { // Tag used when the Editor maintains its own separate UndoManager. private static final String UNDO_OWNER_TAG = "Editor"; // Ordering constants used to place the Action Mode or context menu items in their menu. private static final int MENU_ITEM_ORDER_ASSIST = 0; private static final int MENU_ITEM_ORDER_UNDO = 2; private static final int MENU_ITEM_ORDER_REDO = 3; private static final int MENU_ITEM_ORDER_CUT = 4; private static final int MENU_ITEM_ORDER_COPY = 5; private static final int MENU_ITEM_ORDER_PASTE = 6; private static final int MENU_ITEM_ORDER_SHARE = 7; private static final int MENU_ITEM_ORDER_SELECT_ALL = 8; private static final int MENU_ITEM_ORDER_REPLACE = 9; private static final int MENU_ITEM_ORDER_AUTOFILL = 10; private static final int MENU_ITEM_ORDER_PASTE_AS_PLAIN_TEXT = 11; private static final int MENU_ITEM_ORDER_SECONDARY_ASSIST_ACTIONS_START = 50; private static final int MENU_ITEM_ORDER_PROCESS_TEXT_INTENT_ACTIONS_START = 100; // Ordering constants used to place the Action Mode items in their menu. private static final int ACTION_MODE_MENU_ITEM_ORDER_ASSIST = 0; private static final int ACTION_MODE_MENU_ITEM_ORDER_CUT = 4; private static final int ACTION_MODE_MENU_ITEM_ORDER_COPY = 5; private static final int ACTION_MODE_MENU_ITEM_ORDER_PASTE = 6; private static final int ACTION_MODE_MENU_ITEM_ORDER_SHARE = 7; private static final int ACTION_MODE_MENU_ITEM_ORDER_SELECT_ALL = 8; private static final int ACTION_MODE_MENU_ITEM_ORDER_REPLACE = 9; private static final int ACTION_MODE_MENU_ITEM_ORDER_AUTOFILL = 10; private static final int ACTION_MODE_MENU_ITEM_ORDER_PASTE_AS_PLAIN_TEXT = 11; private static final int ACTION_MODE_MENU_ITEM_ORDER_SECONDARY_ASSIST_ACTIONS_START = 50; private static final int ACTION_MODE_MENU_ITEM_ORDER_PROCESS_TEXT_INTENT_ACTIONS_START = 100; // Ordering constants used to place the Context Menu items in their menu. private static final int CONTEXT_MENU_ITEM_ORDER_UNDO = 2; private static final int CONTEXT_MENU_ITEM_ORDER_REDO = 3; private static final int CONTEXT_MENU_ITEM_ORDER_CUT = 4; private static final int CONTEXT_MENU_ITEM_ORDER_COPY = 5; private static final int CONTEXT_MENU_ITEM_ORDER_PASTE = 6; private static final int CONTEXT_MENU_ITEM_ORDER_PASTE_AS_PLAIN_TEXT = 7; private static final int CONTEXT_MENU_ITEM_ORDER_SELECT_ALL = 8; private static final int CONTEXT_MENU_ITEM_ORDER_SHARE = 9; private static final int CONTEXT_MENU_ITEM_ORDER_AUTOFILL = 10; private static final int CONTEXT_MENU_ITEM_ORDER_REPLACE = 11; private static final int CONTEXT_MENU_GROUP_UNDO_REDO = Menu.FIRST; private static final int CONTEXT_MENU_GROUP_CLIPBOARD = Menu.FIRST + 1; private static final int CONTEXT_MENU_GROUP_MISC = Menu.FIRST + 2; private static final int FLAG_MISSPELLED_OR_GRAMMAR_ERROR = SuggestionSpan.FLAG_MISSPELLED | SuggestionSpan.FLAG_GRAMMAR_ERROR; Loading Loading @@ -3114,8 +3128,8 @@ public class Editor { for (int i = 0; i < suggestionInfoArray.length; i++) { suggestionInfoArray[i] = new SuggestionInfo(); } final SubMenu subMenu = menu.addSubMenu(Menu.NONE, Menu.NONE, MENU_ITEM_ORDER_REPLACE, com.android.internal.R.string.replace); final SubMenu subMenu = menu.addSubMenu(Menu.NONE, Menu.NONE, CONTEXT_MENU_ITEM_ORDER_REPLACE, com.android.internal.R.string.replace); final int numItems = mSuggestionHelper.getSuggestionInfo(suggestionInfoArray, null); for (int i = 0; i < numItems; i++) { final SuggestionInfo info = suggestionInfoArray[i]; Loading @@ -3133,47 +3147,51 @@ public class Editor { final int keyboard = mTextView.getResources().getConfiguration().keyboard; menu.setQwertyMode(keyboard == Configuration.KEYBOARD_QWERTY); menu.add(Menu.NONE, TextView.ID_UNDO, MENU_ITEM_ORDER_UNDO, menu.setGroupDividerEnabled(true); menu.add(CONTEXT_MENU_GROUP_UNDO_REDO, TextView.ID_UNDO, CONTEXT_MENU_ITEM_ORDER_UNDO, com.android.internal.R.string.undo) .setAlphabeticShortcut('z') .setOnMenuItemClickListener(mOnContextMenuItemClickListener) .setEnabled(mTextView.canUndo()); menu.add(Menu.NONE, TextView.ID_REDO, MENU_ITEM_ORDER_REDO, menu.add(CONTEXT_MENU_GROUP_UNDO_REDO, TextView.ID_REDO, CONTEXT_MENU_ITEM_ORDER_REDO, com.android.internal.R.string.redo) .setAlphabeticShortcut('z', KeyEvent.META_CTRL_ON | KeyEvent.META_SHIFT_ON) .setOnMenuItemClickListener(mOnContextMenuItemClickListener) .setEnabled(mTextView.canRedo()); menu.add(Menu.NONE, TextView.ID_CUT, MENU_ITEM_ORDER_CUT, menu.add(CONTEXT_MENU_GROUP_CLIPBOARD, TextView.ID_CUT, CONTEXT_MENU_ITEM_ORDER_CUT, com.android.internal.R.string.cut) .setAlphabeticShortcut('x') .setOnMenuItemClickListener(mOnContextMenuItemClickListener) .setEnabled(mTextView.canCut()); menu.add(Menu.NONE, TextView.ID_COPY, MENU_ITEM_ORDER_COPY, menu.add(CONTEXT_MENU_GROUP_CLIPBOARD, TextView.ID_COPY, CONTEXT_MENU_ITEM_ORDER_COPY, com.android.internal.R.string.copy) .setAlphabeticShortcut('c') .setOnMenuItemClickListener(mOnContextMenuItemClickListener) .setEnabled(mTextView.canCopy()); menu.add(Menu.NONE, TextView.ID_PASTE, MENU_ITEM_ORDER_PASTE, menu.add(CONTEXT_MENU_GROUP_CLIPBOARD, TextView.ID_PASTE, CONTEXT_MENU_ITEM_ORDER_PASTE, com.android.internal.R.string.paste) .setAlphabeticShortcut('v') .setEnabled(mTextView.canPaste()) .setOnMenuItemClickListener(mOnContextMenuItemClickListener); menu.add(Menu.NONE, TextView.ID_PASTE_AS_PLAIN_TEXT, MENU_ITEM_ORDER_PASTE_AS_PLAIN_TEXT, menu.add(CONTEXT_MENU_GROUP_CLIPBOARD, TextView.ID_PASTE_AS_PLAIN_TEXT, CONTEXT_MENU_ITEM_ORDER_PASTE_AS_PLAIN_TEXT, com.android.internal.R.string.paste_as_plain_text) .setAlphabeticShortcut('v', KeyEvent.META_CTRL_ON | KeyEvent.META_SHIFT_ON) .setEnabled(mTextView.canPasteAsPlainText()) .setOnMenuItemClickListener(mOnContextMenuItemClickListener); menu.add(Menu.NONE, TextView.ID_SHARE, MENU_ITEM_ORDER_SHARE, com.android.internal.R.string.share) .setEnabled(mTextView.canShare()) .setOnMenuItemClickListener(mOnContextMenuItemClickListener); menu.add(Menu.NONE, TextView.ID_SELECT_ALL, MENU_ITEM_ORDER_SELECT_ALL, com.android.internal.R.string.selectAll) menu.add(CONTEXT_MENU_GROUP_CLIPBOARD, TextView.ID_SELECT_ALL, CONTEXT_MENU_ITEM_ORDER_SELECT_ALL, com.android.internal.R.string.selectAll) .setAlphabeticShortcut('a') .setEnabled(mTextView.canSelectAllText()) .setOnMenuItemClickListener(mOnContextMenuItemClickListener); menu.add(Menu.NONE, TextView.ID_AUTOFILL, MENU_ITEM_ORDER_AUTOFILL, menu.add(CONTEXT_MENU_GROUP_MISC, TextView.ID_SHARE, CONTEXT_MENU_ITEM_ORDER_SHARE, com.android.internal.R.string.share) .setEnabled(mTextView.canShare()) .setOnMenuItemClickListener(mOnContextMenuItemClickListener); menu.add(CONTEXT_MENU_GROUP_MISC, TextView.ID_AUTOFILL, CONTEXT_MENU_ITEM_ORDER_AUTOFILL, android.R.string.autofill) .setEnabled(mTextView.canRequestAutofill()) .setOnMenuItemClickListener(mOnContextMenuItemClickListener); Loading Loading @@ -4355,28 +4373,28 @@ public class Editor { private void populateMenuWithItems(Menu menu) { if (mTextView.canCut()) { menu.add(Menu.NONE, TextView.ID_CUT, MENU_ITEM_ORDER_CUT, menu.add(Menu.NONE, TextView.ID_CUT, ACTION_MODE_MENU_ITEM_ORDER_CUT, com.android.internal.R.string.cut) .setAlphabeticShortcut('x') .setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); } if (mTextView.canCopy()) { menu.add(Menu.NONE, TextView.ID_COPY, MENU_ITEM_ORDER_COPY, menu.add(Menu.NONE, TextView.ID_COPY, ACTION_MODE_MENU_ITEM_ORDER_COPY, com.android.internal.R.string.copy) .setAlphabeticShortcut('c') .setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); } if (mTextView.canPaste()) { menu.add(Menu.NONE, TextView.ID_PASTE, MENU_ITEM_ORDER_PASTE, menu.add(Menu.NONE, TextView.ID_PASTE, ACTION_MODE_MENU_ITEM_ORDER_PASTE, com.android.internal.R.string.paste) .setAlphabeticShortcut('v') .setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); } if (mTextView.canShare()) { menu.add(Menu.NONE, TextView.ID_SHARE, MENU_ITEM_ORDER_SHARE, menu.add(Menu.NONE, TextView.ID_SHARE, ACTION_MODE_MENU_ITEM_ORDER_SHARE, com.android.internal.R.string.share) .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); } Loading @@ -4384,7 +4402,7 @@ public class Editor { if (mTextView.canRequestAutofill()) { final String selected = mTextView.getSelectedText(); if (selected == null || selected.isEmpty()) { menu.add(Menu.NONE, TextView.ID_AUTOFILL, MENU_ITEM_ORDER_AUTOFILL, menu.add(Menu.NONE, TextView.ID_AUTOFILL, ACTION_MODE_MENU_ITEM_ORDER_AUTOFILL, com.android.internal.R.string.autofill) .setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER); } Loading @@ -4394,7 +4412,7 @@ public class Editor { menu.add( Menu.NONE, TextView.ID_PASTE_AS_PLAIN_TEXT, MENU_ITEM_ORDER_PASTE_AS_PLAIN_TEXT, ACTION_MODE_MENU_ITEM_ORDER_PASTE_AS_PLAIN_TEXT, com.android.internal.R.string.paste_as_plain_text) .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); } Loading @@ -4421,7 +4439,7 @@ public class Editor { boolean canSelectAll = mTextView.canSelectAllText(); boolean selectAllItemExists = menu.findItem(TextView.ID_SELECT_ALL) != null; if (canSelectAll && !selectAllItemExists) { menu.add(Menu.NONE, TextView.ID_SELECT_ALL, MENU_ITEM_ORDER_SELECT_ALL, menu.add(Menu.NONE, TextView.ID_SELECT_ALL, ACTION_MODE_MENU_ITEM_ORDER_SELECT_ALL, com.android.internal.R.string.selectAll) .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); } else if (!canSelectAll && selectAllItemExists) { Loading @@ -4433,7 +4451,7 @@ public class Editor { boolean canReplace = mTextView.isSuggestionsEnabled() && shouldOfferToShowSuggestions(); boolean replaceItemExists = menu.findItem(TextView.ID_REPLACE) != null; if (canReplace && !replaceItemExists) { menu.add(Menu.NONE, TextView.ID_REPLACE, MENU_ITEM_ORDER_REPLACE, menu.add(Menu.NONE, TextView.ID_REPLACE, ACTION_MODE_MENU_ITEM_ORDER_REPLACE, com.android.internal.R.string.replace) .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); } else if (!canReplace && replaceItemExists) { Loading @@ -4459,12 +4477,12 @@ public class Editor { // Primary assist action (Always shown). final MenuItem item = addAssistMenuItem(menu, textClassification.getActions().get(0), TextView.ID_ASSIST, MENU_ITEM_ORDER_ASSIST, MenuItem.SHOW_AS_ACTION_ALWAYS); ACTION_MODE_MENU_ITEM_ORDER_ASSIST, MenuItem.SHOW_AS_ACTION_ALWAYS); item.setIntent(textClassification.getIntent()); } else if (hasLegacyAssistItem(textClassification)) { // Legacy primary assist action (Always shown). final MenuItem item = menu.add( TextView.ID_ASSIST, TextView.ID_ASSIST, MENU_ITEM_ORDER_ASSIST, TextView.ID_ASSIST, TextView.ID_ASSIST, ACTION_MODE_MENU_ITEM_ORDER_ASSIST, textClassification.getLabel()) .setIcon(textClassification.getIcon()) .setIntent(textClassification.getIntent()); Loading @@ -4478,7 +4496,7 @@ public class Editor { for (int i = 1; i < count; i++) { // Secondary assist action (Never shown). addAssistMenuItem(menu, textClassification.getActions().get(i), Menu.NONE, MENU_ITEM_ORDER_SECONDARY_ASSIST_ACTIONS_START + i - 1, ACTION_MODE_MENU_ITEM_ORDER_SECONDARY_ASSIST_ACTIONS_START + i - 1, MenuItem.SHOW_AS_ACTION_NEVER); } mPrevTextClassification = textClassification; Loading Loading @@ -7923,7 +7941,7 @@ public class Editor { for (int i = 0; i < size; i++) { final ResolveInfo resolveInfo = mSupportedActivities.get(i); menu.add(Menu.NONE, Menu.NONE, Editor.MENU_ITEM_ORDER_PROCESS_TEXT_INTENT_ACTIONS_START + i, Editor.ACTION_MODE_MENU_ITEM_ORDER_PROCESS_TEXT_INTENT_ACTIONS_START + i, getLabel(resolveInfo)) .setIntent(createProcessTextIntentForResolveInfo(resolveInfo)) .setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER); Loading