public class UiTestAutomationBridge extends Object
Modifier and Type | Field and Description |
---|---|
static int |
ACTIVE_WINDOW_ID |
static long |
ROOT_NODE_ID |
static int |
UNDEFINED |
Constructor and Description |
---|
UiTestAutomationBridge() |
Modifier and Type | Method and Description |
---|---|
void |
connect()
Connects this service.
|
void |
disconnect()
Disconnects this service.
|
AccessibilityEvent |
executeCommandAndWaitForAccessibilityEvent(Runnable command,
com.android.internal.util.Predicate<AccessibilityEvent> predicate,
long timeoutMillis)
Executes a command and waits for a specific accessibility event type up
to a given timeout.
|
AccessibilityNodeInfo |
findAccessibilityNodeInfoByAccessibilityId(int accessibilityWindowId,
long accessibilityNodeId)
Finds an
AccessibilityNodeInfo by accessibility id. |
AccessibilityNodeInfo |
findAccessibilityNodeInfoByAccessibilityIdInActiveWindow(long accessibilityNodeId)
Finds an
AccessibilityNodeInfo by accessibility id in the active
window. |
AccessibilityNodeInfo |
findAccessibilityNodeInfoByViewId(int accessibilityWindowId,
long accessibilityNodeId,
int viewId)
Finds an
AccessibilityNodeInfo by View id. |
AccessibilityNodeInfo |
findAccessibilityNodeInfoByViewIdInActiveWindow(int viewId)
Finds an
AccessibilityNodeInfo by View id in the active
window. |
List<AccessibilityNodeInfo> |
findAccessibilityNodeInfosByText(int accessibilityWindowId,
long accessibilityNodeId,
String text)
Finds
AccessibilityNodeInfo s by View text. |
List<AccessibilityNodeInfo> |
findAccessibilityNodeInfosByTextInActiveWindow(String text)
Finds
AccessibilityNodeInfo s by View text in the active
window. |
AccessibilityEvent |
getLastAccessibilityEvent()
Gets the last received
AccessibilityEvent . |
AccessibilityNodeInfo |
getRootAccessibilityNodeInfoInActiveWindow()
Gets the root
AccessibilityNodeInfo in the active window. |
boolean |
isConnected()
Gets whether this service is connected.
|
void |
onAccessibilityEvent(AccessibilityEvent event)
Callback for receiving an
AccessibilityEvent . |
void |
onInterrupt()
Callback for requests to stop feedback.
|
boolean |
performAccessibilityAction(int accessibilityWindowId,
long accessibilityNodeId,
int action,
Bundle arguments)
Performs an accessibility action on an
AccessibilityNodeInfo . |
boolean |
performAccessibilityActionInActiveWindow(long accessibilityNodeId,
int action,
Bundle arguments)
Performs an accessibility action on an
AccessibilityNodeInfo
in the active window. |
void |
waitForIdle(long idleTimeout,
long globalTimeout)
Waits for the accessibility event stream to become idle, which is not to
have received a new accessibility event within
idleTimeout ,
and do so within a maximal global timeout as specified by
globalTimeout . |
public static final int ACTIVE_WINDOW_ID
public static final long ROOT_NODE_ID
public static final int UNDEFINED
public AccessibilityEvent getLastAccessibilityEvent()
AccessibilityEvent
.public void onAccessibilityEvent(AccessibilityEvent event)
AccessibilityEvent
.
Note: This method is NOT
executed on the application main thread. The client are
responsible for proper synchronization.event
- The received event.public void onInterrupt()
public void connect()
IllegalStateException
- If already connected.public void disconnect()
IllegalStateException
- If already disconnected.public boolean isConnected()
public AccessibilityEvent executeCommandAndWaitForAccessibilityEvent(Runnable command, com.android.internal.util.Predicate<AccessibilityEvent> predicate, long timeoutMillis) throws TimeoutException, Exception
command
- The command to execute before starting to wait for the event.predicate
- Predicate for recognizing the awaited event.timeoutMillis
- The max wait time in milliseconds.TimeoutException
Exception
public void waitForIdle(long idleTimeout, long globalTimeout)
idleTimeout
,
and do so within a maximal global timeout as specified by
globalTimeout
.idleTimeout
- The timeout between two event to consider the device idle.globalTimeout
- The maximal global timeout in which to wait for idle.public AccessibilityNodeInfo findAccessibilityNodeInfoByAccessibilityIdInActiveWindow(long accessibilityNodeId)
AccessibilityNodeInfo
by accessibility id in the active
window. The search is performed from the root node.accessibilityNodeId
- A unique view id or virtual descendant id for
which to search.public AccessibilityNodeInfo findAccessibilityNodeInfoByAccessibilityId(int accessibilityWindowId, long accessibilityNodeId)
AccessibilityNodeInfo
by accessibility id.accessibilityWindowId
- A unique window id. Use ACTIVE_WINDOW_ID
to query
the currently active window.accessibilityNodeId
- A unique view id or virtual descendant id for
which to search.public AccessibilityNodeInfo findAccessibilityNodeInfoByViewIdInActiveWindow(int viewId)
AccessibilityNodeInfo
by View id in the active
window. The search is performed from the root node.viewId
- The id of a View.public AccessibilityNodeInfo findAccessibilityNodeInfoByViewId(int accessibilityWindowId, long accessibilityNodeId, int 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.accessibilityWindowId
- A unique window id. Use
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 ROOT_NODE_ID
to start from the root.viewId
- The id of a View.public List<AccessibilityNodeInfo> findAccessibilityNodeInfosByTextInActiveWindow(String text)
AccessibilityNodeInfo
s by View text in the active
window. The search is performed from the root node.text
- The searched text.public List<AccessibilityNodeInfo> findAccessibilityNodeInfosByText(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.accessibilityWindowId
- A unique window id. Use
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 ROOT_NODE_ID
to start from the root.text
- The searched text.public boolean performAccessibilityActionInActiveWindow(long accessibilityNodeId, int action, Bundle arguments)
AccessibilityNodeInfo
in the active window.accessibilityNodeId
- A unique node id (accessibility and virtual descendant id).action
- The action to perform.arguments
- Optional action arguments.public boolean performAccessibilityAction(int accessibilityWindowId, long accessibilityNodeId, int action, Bundle arguments)
AccessibilityNodeInfo
.accessibilityWindowId
- A unique window id. Use
ACTIVE_WINDOW_ID
to query the currently active window.accessibilityNodeId
- A unique node id (accessibility and virtual descendant id).action
- The action to perform.arguments
- Optional action arguments.public AccessibilityNodeInfo getRootAccessibilityNodeInfoInActiveWindow()
AccessibilityNodeInfo
in the active window.