public final class AccessibilityInteractionClient
extends IAccessibilityInteractionConnectionCallback.Stub
Modifier and Type | Field and Description |
---|---|
static int |
NO_ID |
Modifier and Type | Method and Description |
---|---|
void |
addConnection(int connectionId,
IAccessibilityServiceConnection connection)
Adds a cached accessibility service connection.
|
void |
clearCache() |
AccessibilityNodeInfo |
findAccessibilityNodeInfoByAccessibilityId(int connectionId,
int accessibilityWindowId,
long accessibilityNodeId,
boolean bypassCache,
int prefetchFlags)
Finds an
AccessibilityNodeInfo by accessibility id. |
List<AccessibilityNodeInfo> |
findAccessibilityNodeInfosByText(int connectionId,
int accessibilityWindowId,
long accessibilityNodeId,
String text)
Finds
AccessibilityNodeInfo s by View text. |
List<AccessibilityNodeInfo> |
findAccessibilityNodeInfosByViewId(int connectionId,
int accessibilityWindowId,
long accessibilityNodeId,
String viewId)
Finds an
AccessibilityNodeInfo by View id. |
AccessibilityNodeInfo |
findFocus(int connectionId,
int accessibilityWindowId,
long accessibilityNodeId,
int focusType)
Finds the
AccessibilityNodeInfo that has the
specified focus type. |
AccessibilityNodeInfo |
focusSearch(int connectionId,
int accessibilityWindowId,
long accessibilityNodeId,
int direction)
Finds the accessibility focused
AccessibilityNodeInfo . |
IAccessibilityServiceConnection |
getConnection(int connectionId)
Gets a cached accessibility service connection.
|
static AccessibilityInteractionClient |
getInstance() |
static AccessibilityInteractionClient |
getInstanceForThread(long threadId)
Note: We keep one instance per interrogating thread since
the instance contains state which can lead to undesired thread interleavings.
|
AccessibilityNodeInfo |
getRootInActiveWindow(int connectionId)
Gets the root
AccessibilityNodeInfo in the currently active window. |
AccessibilityWindowInfo |
getWindow(int connectionId,
int accessibilityWindowId)
Gets the info for a window.
|
List<AccessibilityWindowInfo> |
getWindows(int connectionId)
Gets the info for all windows.
|
void |
onAccessibilityEvent(AccessibilityEvent event) |
boolean |
performAccessibilityAction(int connectionId,
int accessibilityWindowId,
long accessibilityNodeId,
int action,
Bundle arguments)
Performs an accessibility action on an
AccessibilityNodeInfo . |
void |
removeConnection(int connectionId)
Removes a cached accessibility service connection.
|
void |
setFindAccessibilityNodeInfoResult(AccessibilityNodeInfo info,
int interactionId) |
void |
setFindAccessibilityNodeInfosResult(List<AccessibilityNodeInfo> infos,
int interactionId) |
void |
setPerformAccessibilityActionResult(boolean succeeded,
int interactionId) |
void |
setSameThreadMessage(Message message)
Sets the message to be processed if the interacted view hierarchy
and the interacting client are running in the same thread.
|
public static final int NO_ID
public static AccessibilityInteractionClient getInstance()
public static AccessibilityInteractionClient getInstanceForThread(long threadId)
threadId
.public void setSameThreadMessage(Message message)
message
- The message.public AccessibilityNodeInfo getRootInActiveWindow(int connectionId)
AccessibilityNodeInfo
in the currently active window.connectionId
- The id of a connection for interacting with the system.AccessibilityNodeInfo
if found, null otherwise.public AccessibilityWindowInfo getWindow(int connectionId, int accessibilityWindowId)
connectionId
- The id of a connection for interacting with the system.accessibilityWindowId
- A unique window id. Use
AccessibilityNodeInfo.ACTIVE_WINDOW_ID
to query the currently active window.AccessibilityWindowInfo
.public List<AccessibilityWindowInfo> getWindows(int connectionId)
connectionId
- The id of a connection for interacting with the system.AccessibilityWindowInfo
list.public AccessibilityNodeInfo findAccessibilityNodeInfoByAccessibilityId(int connectionId, int accessibilityWindowId, long accessibilityNodeId, boolean bypassCache, int prefetchFlags)
AccessibilityNodeInfo
by accessibility id.connectionId
- The id of a connection for interacting with the system.accessibilityWindowId
- A unique window id. Use
AccessibilityNodeInfo.ACTIVE_WINDOW_ID
to query the currently active window.accessibilityNodeId
- A unique view id or virtual descendant id from
where to start the search. Use
AccessibilityNodeInfo.ROOT_NODE_ID
to start from the root.bypassCache
- Whether to bypass the cache while looking for the node.prefetchFlags
- flags to guide prefetching.AccessibilityNodeInfo
if found, null otherwise.public List<AccessibilityNodeInfo> findAccessibilityNodeInfosByViewId(int connectionId, int accessibilityWindowId, long accessibilityNodeId, String viewId)
AccessibilityNodeInfo
by View id. The search is performed in
the window whose id is specified and starts from the node whose accessibility
id is specified.connectionId
- The id of a connection for interacting with the system.accessibilityWindowId
- A unique window id. Use
AccessibilityNodeInfo.ACTIVE_WINDOW_ID
to query the currently active window.accessibilityNodeId
- A unique view id or virtual descendant id from
where to start the search. Use
AccessibilityNodeInfo.ROOT_NODE_ID
to start from the root.viewId
- The fully qualified resource name of the view id to find.AccessibilityNodeInfo
if found, empty list otherwise.public List<AccessibilityNodeInfo> findAccessibilityNodeInfosByText(int connectionId, int accessibilityWindowId, long accessibilityNodeId, String text)
AccessibilityNodeInfo
s by View text. The match is case
insensitive containment. The search is performed in the window whose
id is specified and starts from the node whose accessibility id is
specified.connectionId
- The id of a connection for interacting with the system.accessibilityWindowId
- A unique window id. Use
AccessibilityNodeInfo.ACTIVE_WINDOW_ID
to query the currently active window.accessibilityNodeId
- A unique view id or virtual descendant id from
where to start the search. Use
AccessibilityNodeInfo.ROOT_NODE_ID
to start from the root.text
- The searched text.AccessibilityNodeInfo
s.public AccessibilityNodeInfo findFocus(int connectionId, int accessibilityWindowId, long accessibilityNodeId, int focusType)
AccessibilityNodeInfo
that has the
specified focus type. The search is performed in the window whose id is specified
and starts from the node whose accessibility id is specified.connectionId
- The id of a connection for interacting with the system.accessibilityWindowId
- A unique window id. Use
AccessibilityNodeInfo.ACTIVE_WINDOW_ID
to query the currently active window.accessibilityNodeId
- A unique view id or virtual descendant id from
where to start the search. Use
AccessibilityNodeInfo.ROOT_NODE_ID
to start from the root.focusType
- The focus type.AccessibilityNodeInfo
.public AccessibilityNodeInfo focusSearch(int connectionId, int accessibilityWindowId, long accessibilityNodeId, int direction)
AccessibilityNodeInfo
.
The search is performed in the window whose id is specified and starts from the
node whose accessibility id is specified.connectionId
- The id of a connection for interacting with the system.accessibilityWindowId
- A unique window id. Use
AccessibilityNodeInfo.ACTIVE_WINDOW_ID
to query the currently active window.accessibilityNodeId
- A unique view id or virtual descendant id from
where to start the search. Use
AccessibilityNodeInfo.ROOT_NODE_ID
to start from the root.direction
- The direction in which to search for focusable.AccessibilityNodeInfo
.public boolean performAccessibilityAction(int connectionId, int accessibilityWindowId, long accessibilityNodeId, int action, Bundle arguments)
AccessibilityNodeInfo
.connectionId
- The id of a connection for interacting with the system.accessibilityWindowId
- A unique window id. Use
AccessibilityNodeInfo.ACTIVE_WINDOW_ID
to query the currently active window.accessibilityNodeId
- A unique view id or virtual descendant id from
where to start the search. Use
AccessibilityNodeInfo.ROOT_NODE_ID
to start from the root.action
- The action to perform.arguments
- Optional action arguments.public void clearCache()
public void onAccessibilityEvent(AccessibilityEvent event)
public void setFindAccessibilityNodeInfoResult(AccessibilityNodeInfo info, int interactionId)
public void setFindAccessibilityNodeInfosResult(List<AccessibilityNodeInfo> infos, int interactionId)
public void setPerformAccessibilityActionResult(boolean succeeded, int interactionId)
public IAccessibilityServiceConnection getConnection(int connectionId)
connectionId
- The connection id.public void addConnection(int connectionId, IAccessibilityServiceConnection connection)
connectionId
- The connection id.connection
- The connection.public void removeConnection(int connectionId)
connectionId
- The connection id.