Loading api/current.txt +8 −2 Original line number Diff line number Diff line Loading @@ -23928,7 +23928,7 @@ package android.view { method public void onWindowSystemUiVisibilityChanged(int); method protected void onWindowVisibilityChanged(int); method protected boolean overScrollBy(int, int, int, int, int, int, int, int, boolean); method public boolean performAccessibilityAction(int); method public boolean performAccessibilityAction(int, android.os.Bundle); method public boolean performClick(); method public boolean performHapticFeedback(int); method public boolean performHapticFeedback(int, int); Loading Loading @@ -24997,6 +24997,7 @@ package android.view.accessibility { method public int getChildCount(); method public java.lang.CharSequence getClassName(); method public java.lang.CharSequence getContentDescription(); method public java.lang.CharSequence[] getGranularities(); method public java.lang.CharSequence getPackageName(); method public android.view.accessibility.AccessibilityNodeInfo getParent(); method public java.lang.CharSequence getText(); Loading @@ -25017,6 +25018,7 @@ package android.view.accessibility { method public static android.view.accessibility.AccessibilityNodeInfo obtain(); method public static android.view.accessibility.AccessibilityNodeInfo obtain(android.view.accessibility.AccessibilityNodeInfo); method public boolean performAction(int); method public boolean performAction(int, android.os.Bundle); method public void recycle(); method public void setAccessibilityFocused(boolean); method public void setBoundsInParent(android.graphics.Rect); Loading @@ -25029,6 +25031,7 @@ package android.view.accessibility { method public void setEnabled(boolean); method public void setFocusable(boolean); method public void setFocused(boolean); method public void setGranularities(java.lang.CharSequence[]); method public void setLongClickable(boolean); method public void setPackageName(java.lang.CharSequence); method public void setParent(android.view.View); Loading @@ -25041,12 +25044,15 @@ package android.view.accessibility { method public void setText(java.lang.CharSequence); method public void writeToParcel(android.os.Parcel, int); field public static final int ACTION_ACCESSIBILITY_FOCUS = 64; // 0x40 field public static final java.lang.String ACTION_ARGUMENT_GRANULARITY = "ACTION_ARGUMENT_GRANULARITY"; field public static final int ACTION_CLEAR_ACCESSIBILITY_FOCUS = 128; // 0x80 field public static final int ACTION_CLEAR_FOCUS = 2; // 0x2 field public static final int ACTION_CLEAR_SELECTION = 8; // 0x8 field public static final int ACTION_CLICK = 16; // 0x10 field public static final int ACTION_FOCUS = 1; // 0x1 field public static final int ACTION_LONG_CLICK = 32; // 0x20 field public static final int ACTION_NEXT_AT_GRANULARITY = 256; // 0x100 field public static final int ACTION_PREVIOUS_AT_GRANULARITY = 512; // 0x200 field public static final int ACTION_SELECT = 4; // 0x4 field public static final android.os.Parcelable.Creator CREATOR; field public static final int FOCUS_ACCESSIBILITY = 2; // 0x2 Loading @@ -25059,7 +25065,7 @@ package android.view.accessibility { method public android.view.accessibility.AccessibilityNodeInfo createAccessibilityNodeInfo(int); method public android.view.accessibility.AccessibilityNodeInfo findAccessibilitiyFocus(int); method public java.util.List<android.view.accessibility.AccessibilityNodeInfo> findAccessibilityNodeInfosByText(java.lang.String, int); method public boolean performAccessibilityAction(int, int); method public boolean performAction(int, int, android.os.Bundle); } public class AccessibilityRecord { core/java/android/accessibilityservice/IAccessibilityServiceConnection.aidl +4 −2 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package android.accessibilityservice; import android.os.Bundle; import android.accessibilityservice.AccessibilityServiceInfo; import android.view.accessibility.AccessibilityNodeInfo; import android.view.accessibility.IAccessibilityInteractionConnectionCallback; Loading Loading @@ -147,14 +148,15 @@ interface IAccessibilityServiceConnection { * {@link android.view.accessibility.AccessibilityNodeInfo#ROOT_NODE_ID} * to start from the root. * @param action The action to perform. * @param arguments Optional action arguments. * @param interactionId The id of the interaction for matching with the callback result. * @param callback Callback which to receive the result. * @param threadId The id of the calling thread. * @return Whether the action was performed. */ boolean performAccessibilityAction(int accessibilityWindowId, long accessibilityNodeId, int action, int interactionId, IAccessibilityInteractionConnectionCallback callback, long threadId); int action, in Bundle arguments, int interactionId, IAccessibilityInteractionConnectionCallback callback, long threadId); /** * @return The associated accessibility service info. Loading core/java/android/accessibilityservice/UiTestAutomationBridge.java +8 −4 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package android.accessibilityservice; import android.accessibilityservice.AccessibilityService.Callbacks; import android.accessibilityservice.AccessibilityService.IAccessibilityServiceClientWrapper; import android.content.Context; import android.os.Bundle; import android.os.HandlerThread; import android.os.Looper; import android.os.RemoteException; Loading Loading @@ -444,10 +445,12 @@ public class UiTestAutomationBridge { * * @param accessibilityNodeId A unique node id (accessibility and virtual descendant id). * @param action The action to perform. * @param arguments Optional action arguments. * @return Whether the action was performed. */ public boolean performAccessibilityActionInActiveWindow(long accessibilityNodeId, int action) { return performAccessibilityAction(ACTIVE_WINDOW_ID, accessibilityNodeId, action); public boolean performAccessibilityActionInActiveWindow(long accessibilityNodeId, int action, Bundle arguments) { return performAccessibilityAction(ACTIVE_WINDOW_ID, accessibilityNodeId, action, arguments); } /** Loading @@ -457,15 +460,16 @@ public class UiTestAutomationBridge { * {@link #ACTIVE_WINDOW_ID} to query the currently active window. * @param accessibilityNodeId A unique node id (accessibility and virtual descendant id). * @param action The action to perform. * @param arguments Optional action arguments. * @return Whether the action was performed. */ public boolean performAccessibilityAction(int accessibilityWindowId, long accessibilityNodeId, int action) { int action, Bundle arguments) { // Cache the id to avoid locking final int connectionId = mConnectionId; ensureValidConnection(connectionId); return AccessibilityInteractionClient.getInstance().performAccessibilityAction(connectionId, accessibilityWindowId, accessibilityNodeId, action); accessibilityWindowId, accessibilityNodeId, action, arguments); } /** Loading core/java/android/view/AccessibilityInteractionController.java +9 −4 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package android.view; import static android.view.accessibility.AccessibilityNodeInfo.INCLUDE_NOT_IMPORTANT_VIEWS; import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.os.Message; Loading Loading @@ -514,8 +515,9 @@ final class AccessibilityInteractionController { } public void performAccessibilityActionClientThread(long accessibilityNodeId, int action, int interactionId, IAccessibilityInteractionConnectionCallback callback, int flags, int interogatingPid, long interrogatingTid) { Bundle arguments, int interactionId, IAccessibilityInteractionConnectionCallback callback, int flags, int interogatingPid, long interrogatingTid) { Message message = mHandler.obtainMessage(); message.what = PrivateHandler.MSG_PERFORM_ACCESSIBILITY_ACTION; message.arg1 = flags; Loading @@ -525,6 +527,7 @@ final class AccessibilityInteractionController { args.argi2 = action; args.argi3 = interactionId; args.arg1 = callback; args.arg2 = arguments; message.obj = args; // If the interrogation is performed by the same thread as the main UI // thread in this process, set the message as a static reference so Loading @@ -547,6 +550,7 @@ final class AccessibilityInteractionController { final int interactionId = args.argi3; final IAccessibilityInteractionConnectionCallback callback = (IAccessibilityInteractionConnectionCallback) args.arg1; Bundle arguments = (Bundle) args.arg2; mPool.release(args); boolean succeeded = false; try { Loading @@ -564,9 +568,10 @@ final class AccessibilityInteractionController { if (target != null && target.isDisplayedOnScreen()) { AccessibilityNodeProvider provider = target.getAccessibilityNodeProvider(); if (provider != null) { succeeded = provider.performAccessibilityAction(action, virtualDescendantId); succeeded = provider.performAction(virtualDescendantId, action, arguments); } else if (virtualDescendantId == View.NO_ID) { succeeded = target.performAccessibilityAction(action); succeeded = target.performAccessibilityAction(action, arguments); } } } finally { Loading core/java/android/view/View.java +2 −1 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ import android.graphics.Region; import android.graphics.Shader; import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.Handler; import android.os.IBinder; import android.os.Parcel; Loading Loading @@ -6390,7 +6391,7 @@ public class View implements Drawable.Callback, Drawable.Callback2, KeyEvent.Cal * @param action The action to perform. * @return Whether the action was performed. */ public boolean performAccessibilityAction(int action) { public boolean performAccessibilityAction(int action, Bundle args) { switch (action) { case AccessibilityNodeInfo.ACTION_CLICK: { if (isClickable()) { Loading Loading
api/current.txt +8 −2 Original line number Diff line number Diff line Loading @@ -23928,7 +23928,7 @@ package android.view { method public void onWindowSystemUiVisibilityChanged(int); method protected void onWindowVisibilityChanged(int); method protected boolean overScrollBy(int, int, int, int, int, int, int, int, boolean); method public boolean performAccessibilityAction(int); method public boolean performAccessibilityAction(int, android.os.Bundle); method public boolean performClick(); method public boolean performHapticFeedback(int); method public boolean performHapticFeedback(int, int); Loading Loading @@ -24997,6 +24997,7 @@ package android.view.accessibility { method public int getChildCount(); method public java.lang.CharSequence getClassName(); method public java.lang.CharSequence getContentDescription(); method public java.lang.CharSequence[] getGranularities(); method public java.lang.CharSequence getPackageName(); method public android.view.accessibility.AccessibilityNodeInfo getParent(); method public java.lang.CharSequence getText(); Loading @@ -25017,6 +25018,7 @@ package android.view.accessibility { method public static android.view.accessibility.AccessibilityNodeInfo obtain(); method public static android.view.accessibility.AccessibilityNodeInfo obtain(android.view.accessibility.AccessibilityNodeInfo); method public boolean performAction(int); method public boolean performAction(int, android.os.Bundle); method public void recycle(); method public void setAccessibilityFocused(boolean); method public void setBoundsInParent(android.graphics.Rect); Loading @@ -25029,6 +25031,7 @@ package android.view.accessibility { method public void setEnabled(boolean); method public void setFocusable(boolean); method public void setFocused(boolean); method public void setGranularities(java.lang.CharSequence[]); method public void setLongClickable(boolean); method public void setPackageName(java.lang.CharSequence); method public void setParent(android.view.View); Loading @@ -25041,12 +25044,15 @@ package android.view.accessibility { method public void setText(java.lang.CharSequence); method public void writeToParcel(android.os.Parcel, int); field public static final int ACTION_ACCESSIBILITY_FOCUS = 64; // 0x40 field public static final java.lang.String ACTION_ARGUMENT_GRANULARITY = "ACTION_ARGUMENT_GRANULARITY"; field public static final int ACTION_CLEAR_ACCESSIBILITY_FOCUS = 128; // 0x80 field public static final int ACTION_CLEAR_FOCUS = 2; // 0x2 field public static final int ACTION_CLEAR_SELECTION = 8; // 0x8 field public static final int ACTION_CLICK = 16; // 0x10 field public static final int ACTION_FOCUS = 1; // 0x1 field public static final int ACTION_LONG_CLICK = 32; // 0x20 field public static final int ACTION_NEXT_AT_GRANULARITY = 256; // 0x100 field public static final int ACTION_PREVIOUS_AT_GRANULARITY = 512; // 0x200 field public static final int ACTION_SELECT = 4; // 0x4 field public static final android.os.Parcelable.Creator CREATOR; field public static final int FOCUS_ACCESSIBILITY = 2; // 0x2 Loading @@ -25059,7 +25065,7 @@ package android.view.accessibility { method public android.view.accessibility.AccessibilityNodeInfo createAccessibilityNodeInfo(int); method public android.view.accessibility.AccessibilityNodeInfo findAccessibilitiyFocus(int); method public java.util.List<android.view.accessibility.AccessibilityNodeInfo> findAccessibilityNodeInfosByText(java.lang.String, int); method public boolean performAccessibilityAction(int, int); method public boolean performAction(int, int, android.os.Bundle); } public class AccessibilityRecord {
core/java/android/accessibilityservice/IAccessibilityServiceConnection.aidl +4 −2 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package android.accessibilityservice; import android.os.Bundle; import android.accessibilityservice.AccessibilityServiceInfo; import android.view.accessibility.AccessibilityNodeInfo; import android.view.accessibility.IAccessibilityInteractionConnectionCallback; Loading Loading @@ -147,14 +148,15 @@ interface IAccessibilityServiceConnection { * {@link android.view.accessibility.AccessibilityNodeInfo#ROOT_NODE_ID} * to start from the root. * @param action The action to perform. * @param arguments Optional action arguments. * @param interactionId The id of the interaction for matching with the callback result. * @param callback Callback which to receive the result. * @param threadId The id of the calling thread. * @return Whether the action was performed. */ boolean performAccessibilityAction(int accessibilityWindowId, long accessibilityNodeId, int action, int interactionId, IAccessibilityInteractionConnectionCallback callback, long threadId); int action, in Bundle arguments, int interactionId, IAccessibilityInteractionConnectionCallback callback, long threadId); /** * @return The associated accessibility service info. Loading
core/java/android/accessibilityservice/UiTestAutomationBridge.java +8 −4 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package android.accessibilityservice; import android.accessibilityservice.AccessibilityService.Callbacks; import android.accessibilityservice.AccessibilityService.IAccessibilityServiceClientWrapper; import android.content.Context; import android.os.Bundle; import android.os.HandlerThread; import android.os.Looper; import android.os.RemoteException; Loading Loading @@ -444,10 +445,12 @@ public class UiTestAutomationBridge { * * @param accessibilityNodeId A unique node id (accessibility and virtual descendant id). * @param action The action to perform. * @param arguments Optional action arguments. * @return Whether the action was performed. */ public boolean performAccessibilityActionInActiveWindow(long accessibilityNodeId, int action) { return performAccessibilityAction(ACTIVE_WINDOW_ID, accessibilityNodeId, action); public boolean performAccessibilityActionInActiveWindow(long accessibilityNodeId, int action, Bundle arguments) { return performAccessibilityAction(ACTIVE_WINDOW_ID, accessibilityNodeId, action, arguments); } /** Loading @@ -457,15 +460,16 @@ public class UiTestAutomationBridge { * {@link #ACTIVE_WINDOW_ID} to query the currently active window. * @param accessibilityNodeId A unique node id (accessibility and virtual descendant id). * @param action The action to perform. * @param arguments Optional action arguments. * @return Whether the action was performed. */ public boolean performAccessibilityAction(int accessibilityWindowId, long accessibilityNodeId, int action) { int action, Bundle arguments) { // Cache the id to avoid locking final int connectionId = mConnectionId; ensureValidConnection(connectionId); return AccessibilityInteractionClient.getInstance().performAccessibilityAction(connectionId, accessibilityWindowId, accessibilityNodeId, action); accessibilityWindowId, accessibilityNodeId, action, arguments); } /** Loading
core/java/android/view/AccessibilityInteractionController.java +9 −4 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package android.view; import static android.view.accessibility.AccessibilityNodeInfo.INCLUDE_NOT_IMPORTANT_VIEWS; import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.os.Message; Loading Loading @@ -514,8 +515,9 @@ final class AccessibilityInteractionController { } public void performAccessibilityActionClientThread(long accessibilityNodeId, int action, int interactionId, IAccessibilityInteractionConnectionCallback callback, int flags, int interogatingPid, long interrogatingTid) { Bundle arguments, int interactionId, IAccessibilityInteractionConnectionCallback callback, int flags, int interogatingPid, long interrogatingTid) { Message message = mHandler.obtainMessage(); message.what = PrivateHandler.MSG_PERFORM_ACCESSIBILITY_ACTION; message.arg1 = flags; Loading @@ -525,6 +527,7 @@ final class AccessibilityInteractionController { args.argi2 = action; args.argi3 = interactionId; args.arg1 = callback; args.arg2 = arguments; message.obj = args; // If the interrogation is performed by the same thread as the main UI // thread in this process, set the message as a static reference so Loading @@ -547,6 +550,7 @@ final class AccessibilityInteractionController { final int interactionId = args.argi3; final IAccessibilityInteractionConnectionCallback callback = (IAccessibilityInteractionConnectionCallback) args.arg1; Bundle arguments = (Bundle) args.arg2; mPool.release(args); boolean succeeded = false; try { Loading @@ -564,9 +568,10 @@ final class AccessibilityInteractionController { if (target != null && target.isDisplayedOnScreen()) { AccessibilityNodeProvider provider = target.getAccessibilityNodeProvider(); if (provider != null) { succeeded = provider.performAccessibilityAction(action, virtualDescendantId); succeeded = provider.performAction(virtualDescendantId, action, arguments); } else if (virtualDescendantId == View.NO_ID) { succeeded = target.performAccessibilityAction(action); succeeded = target.performAccessibilityAction(action, arguments); } } } finally { Loading
core/java/android/view/View.java +2 −1 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ import android.graphics.Region; import android.graphics.Shader; import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.Handler; import android.os.IBinder; import android.os.Parcel; Loading Loading @@ -6390,7 +6391,7 @@ public class View implements Drawable.Callback, Drawable.Callback2, KeyEvent.Cal * @param action The action to perform. * @return Whether the action was performed. */ public boolean performAccessibilityAction(int action) { public boolean performAccessibilityAction(int action, Bundle args) { switch (action) { case AccessibilityNodeInfo.ACTION_CLICK: { if (isClickable()) { Loading