Loading api/current.txt +3 −0 Original line number Diff line number Diff line Loading @@ -1876,6 +1876,7 @@ package android { ctor public R.id(); field public static final int accessibilityActionContextClick = 16908348; // 0x102003c field public static final int accessibilityActionHideTooltip = 16908357; // 0x1020045 field public static final int accessibilityActionImeEnter = 16908372; // 0x1020054 field public static final int accessibilityActionMoveWindow = 16908354; // 0x1020042 field public static final int accessibilityActionPageDown = 16908359; // 0x1020047 field public static final int accessibilityActionPageLeft = 16908360; // 0x1020048 Loading Loading @@ -55620,6 +55621,7 @@ package android.view.accessibility { field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_EXPAND; field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_FOCUS; field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_HIDE_TOOLTIP; field @NonNull public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_IME_ENTER; field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_LONG_CLICK; field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_MOVE_WINDOW; field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_NEXT_AT_MOVEMENT_GRANULARITY; Loading Loading @@ -60796,6 +60798,7 @@ package android.widget { method public void setTypeface(@Nullable android.graphics.Typeface, int); method public void setTypeface(@Nullable android.graphics.Typeface); method public void setWidth(int); field public static final int ACCESSIBILITY_ACTION_IME_ENTER = 16908372; // 0x1020054 field public static final int AUTO_SIZE_TEXT_TYPE_NONE = 0; // 0x0 field public static final int AUTO_SIZE_TEXT_TYPE_UNIFORM = 1; // 0x1 } core/java/android/view/accessibility/AccessibilityNodeInfo.java +22 −1 Original line number Diff line number Diff line Loading @@ -551,6 +551,14 @@ public class AccessibilityNodeInfo implements Parcelable { public static final String ACTION_ARGUMENT_PRESS_HOLD_DURATION_MILLIS_INT = "android.view.accessibility.action.ARGUMENT_PRESS_HOLD_DURATION_MILLIS_INT"; /** * Argument to represent the IME action Id to press the returning key on a node. * For use with R.id.accessibilityActionImeEnter * @hide */ public static final String ACTION_ARGUMENT_IME_ACTION_ID_INT = "android.view.accessibility.action.ARGUMENT_IME_ACTION_ID_INT"; // Focus types /** Loading Loading @@ -1644,8 +1652,12 @@ public class AccessibilityNodeInfo implements Parcelable { return false; } AccessibilityInteractionClient client = AccessibilityInteractionClient.getInstance(); Bundle arguments = null; if (mExtras != null) { arguments = mExtras; } return client.performAccessibilityAction(mConnectionId, mWindowId, mSourceNodeId, action, null); action, arguments); } /** Loading Loading @@ -4210,6 +4222,8 @@ public class AccessibilityNodeInfo implements Parcelable { return "ACTION_HIDE_TOOLTIP"; case R.id.accessibilityActionPressAndHold: return "ACTION_PRESS_AND_HOLD"; case R.id.accessibilityActionImeEnter: return "ACTION_IME_ENTER"; default: return "ACTION_UNKNOWN"; } Loading Loading @@ -4839,6 +4853,13 @@ public class AccessibilityNodeInfo implements Parcelable { @NonNull public static final AccessibilityAction ACTION_PRESS_AND_HOLD = new AccessibilityAction(R.id.accessibilityActionPressAndHold); /** * Action to send ime action. A node should expose this action only for views that are * currently with input focus and editable. */ @NonNull public static final AccessibilityAction ACTION_IME_ENTER = new AccessibilityAction(R.id.accessibilityActionImeEnter); private final int mActionId; private final CharSequence mLabel; Loading core/java/android/widget/TextView.java +31 −0 Original line number Diff line number Diff line Loading @@ -422,6 +422,9 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener */ static final int PROCESS_TEXT_REQUEST_CODE = 100; // Accessibility action to send IME custom action for CTS testing. public static final int ACCESSIBILITY_ACTION_IME_ENTER = R.id.accessibilityActionImeEnter; /** * Return code of {@link #doKeyDown}. */ Loading Loading @@ -11741,6 +11744,23 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener info.setContentInvalid(true); info.setError(mEditor.mError); } // TextView will expose this action if it is editable and has focus. if (isTextEditable() && isFocused()) { CharSequence imeActionLabel = mContext.getResources().getString( com.android.internal.R.string.keyboardview_keycode_enter); if (getImeActionId() != 0 && getImeActionLabel() != null) { imeActionLabel = getImeActionLabel(); final int imeActionId = getImeActionId(); // put ime action id into the extra data with ACTION_ARGUMENT_IME_ACTION_ID_INT. final Bundle argument = info.getExtras(); argument.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_IME_ACTION_ID_INT, imeActionId); } AccessibilityNodeInfo.AccessibilityAction action = new AccessibilityNodeInfo.AccessibilityAction( ACCESSIBILITY_ACTION_IME_ENTER, imeActionLabel); info.addAction(action); } } if (!TextUtils.isEmpty(mText)) { Loading Loading @@ -12052,6 +12072,17 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener } } } return true; case ACCESSIBILITY_ACTION_IME_ENTER: { if (isFocused() && isTextEditable()) { final int imeActionId = (arguments != null) ? arguments.getInt( AccessibilityNodeInfo.ACTION_ARGUMENT_IME_ACTION_ID_INT, EditorInfo.IME_ACTION_UNSPECIFIED) : EditorInfo.IME_ACTION_UNSPECIFIED; if (imeActionId == getImeActionId()) { onEditorAction(imeActionId); } } } return true; default: { return super.performAccessibilityActionInternal(action, arguments); } Loading core/res/res/values/ids.xml +3 −0 Original line number Diff line number Diff line Loading @@ -226,4 +226,7 @@ <!-- Accessibility action identifier for {@link android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction#ACTION_PRESS_AND_HOLD}. --> <item type="id" name="accessibilityActionPressAndHold" /> <!-- Accessibility action identifier for {@link android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction#ACTION_IME_ENTER}. --> <item type="id" name="accessibilityActionImeEnter" /> </resources> core/res/res/values/public.xml +1 −0 Original line number Diff line number Diff line Loading @@ -3066,6 +3066,7 @@ <public name="accessibilitySystemActionToggleSplitScreen" /> <public name="accessibilitySystemActionLockScreen" /> <public name="accessibilitySystemActionTakeScreenshot" /> <public name="accessibilityActionImeEnter" /> </public-group> <public-group type="array" first-id="0x01070006"> Loading Loading
api/current.txt +3 −0 Original line number Diff line number Diff line Loading @@ -1876,6 +1876,7 @@ package android { ctor public R.id(); field public static final int accessibilityActionContextClick = 16908348; // 0x102003c field public static final int accessibilityActionHideTooltip = 16908357; // 0x1020045 field public static final int accessibilityActionImeEnter = 16908372; // 0x1020054 field public static final int accessibilityActionMoveWindow = 16908354; // 0x1020042 field public static final int accessibilityActionPageDown = 16908359; // 0x1020047 field public static final int accessibilityActionPageLeft = 16908360; // 0x1020048 Loading Loading @@ -55620,6 +55621,7 @@ package android.view.accessibility { field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_EXPAND; field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_FOCUS; field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_HIDE_TOOLTIP; field @NonNull public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_IME_ENTER; field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_LONG_CLICK; field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_MOVE_WINDOW; field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_NEXT_AT_MOVEMENT_GRANULARITY; Loading Loading @@ -60796,6 +60798,7 @@ package android.widget { method public void setTypeface(@Nullable android.graphics.Typeface, int); method public void setTypeface(@Nullable android.graphics.Typeface); method public void setWidth(int); field public static final int ACCESSIBILITY_ACTION_IME_ENTER = 16908372; // 0x1020054 field public static final int AUTO_SIZE_TEXT_TYPE_NONE = 0; // 0x0 field public static final int AUTO_SIZE_TEXT_TYPE_UNIFORM = 1; // 0x1 }
core/java/android/view/accessibility/AccessibilityNodeInfo.java +22 −1 Original line number Diff line number Diff line Loading @@ -551,6 +551,14 @@ public class AccessibilityNodeInfo implements Parcelable { public static final String ACTION_ARGUMENT_PRESS_HOLD_DURATION_MILLIS_INT = "android.view.accessibility.action.ARGUMENT_PRESS_HOLD_DURATION_MILLIS_INT"; /** * Argument to represent the IME action Id to press the returning key on a node. * For use with R.id.accessibilityActionImeEnter * @hide */ public static final String ACTION_ARGUMENT_IME_ACTION_ID_INT = "android.view.accessibility.action.ARGUMENT_IME_ACTION_ID_INT"; // Focus types /** Loading Loading @@ -1644,8 +1652,12 @@ public class AccessibilityNodeInfo implements Parcelable { return false; } AccessibilityInteractionClient client = AccessibilityInteractionClient.getInstance(); Bundle arguments = null; if (mExtras != null) { arguments = mExtras; } return client.performAccessibilityAction(mConnectionId, mWindowId, mSourceNodeId, action, null); action, arguments); } /** Loading Loading @@ -4210,6 +4222,8 @@ public class AccessibilityNodeInfo implements Parcelable { return "ACTION_HIDE_TOOLTIP"; case R.id.accessibilityActionPressAndHold: return "ACTION_PRESS_AND_HOLD"; case R.id.accessibilityActionImeEnter: return "ACTION_IME_ENTER"; default: return "ACTION_UNKNOWN"; } Loading Loading @@ -4839,6 +4853,13 @@ public class AccessibilityNodeInfo implements Parcelable { @NonNull public static final AccessibilityAction ACTION_PRESS_AND_HOLD = new AccessibilityAction(R.id.accessibilityActionPressAndHold); /** * Action to send ime action. A node should expose this action only for views that are * currently with input focus and editable. */ @NonNull public static final AccessibilityAction ACTION_IME_ENTER = new AccessibilityAction(R.id.accessibilityActionImeEnter); private final int mActionId; private final CharSequence mLabel; Loading
core/java/android/widget/TextView.java +31 −0 Original line number Diff line number Diff line Loading @@ -422,6 +422,9 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener */ static final int PROCESS_TEXT_REQUEST_CODE = 100; // Accessibility action to send IME custom action for CTS testing. public static final int ACCESSIBILITY_ACTION_IME_ENTER = R.id.accessibilityActionImeEnter; /** * Return code of {@link #doKeyDown}. */ Loading Loading @@ -11741,6 +11744,23 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener info.setContentInvalid(true); info.setError(mEditor.mError); } // TextView will expose this action if it is editable and has focus. if (isTextEditable() && isFocused()) { CharSequence imeActionLabel = mContext.getResources().getString( com.android.internal.R.string.keyboardview_keycode_enter); if (getImeActionId() != 0 && getImeActionLabel() != null) { imeActionLabel = getImeActionLabel(); final int imeActionId = getImeActionId(); // put ime action id into the extra data with ACTION_ARGUMENT_IME_ACTION_ID_INT. final Bundle argument = info.getExtras(); argument.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_IME_ACTION_ID_INT, imeActionId); } AccessibilityNodeInfo.AccessibilityAction action = new AccessibilityNodeInfo.AccessibilityAction( ACCESSIBILITY_ACTION_IME_ENTER, imeActionLabel); info.addAction(action); } } if (!TextUtils.isEmpty(mText)) { Loading Loading @@ -12052,6 +12072,17 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener } } } return true; case ACCESSIBILITY_ACTION_IME_ENTER: { if (isFocused() && isTextEditable()) { final int imeActionId = (arguments != null) ? arguments.getInt( AccessibilityNodeInfo.ACTION_ARGUMENT_IME_ACTION_ID_INT, EditorInfo.IME_ACTION_UNSPECIFIED) : EditorInfo.IME_ACTION_UNSPECIFIED; if (imeActionId == getImeActionId()) { onEditorAction(imeActionId); } } } return true; default: { return super.performAccessibilityActionInternal(action, arguments); } Loading
core/res/res/values/ids.xml +3 −0 Original line number Diff line number Diff line Loading @@ -226,4 +226,7 @@ <!-- Accessibility action identifier for {@link android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction#ACTION_PRESS_AND_HOLD}. --> <item type="id" name="accessibilityActionPressAndHold" /> <!-- Accessibility action identifier for {@link android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction#ACTION_IME_ENTER}. --> <item type="id" name="accessibilityActionImeEnter" /> </resources>
core/res/res/values/public.xml +1 −0 Original line number Diff line number Diff line Loading @@ -3066,6 +3066,7 @@ <public name="accessibilitySystemActionToggleSplitScreen" /> <public name="accessibilitySystemActionLockScreen" /> <public name="accessibilitySystemActionTakeScreenshot" /> <public name="accessibilityActionImeEnter" /> </public-group> <public-group type="array" first-id="0x01070006"> Loading