summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
authorYuki Awano <yawano@google.com>2018-11-20 15:13:42 +0900
committerYuki Awano <yawano@google.com>2018-12-10 13:36:56 +0900
commitca4c57439d14fc9b553b88be0a008744d0c2bcce (patch)
tree4da64832536d02fe4cb6eccfa35562baf69d099d /core/java
parent441ca70d54b7f61b367cb197efc94502220d1606 (diff)
Add getAccessibilityWindowId system process API
- Add an API to get accessibility window id from window token. This API can be called only from a system process. Bug: 119794051 Test: None Change-Id: I37db50209efeb81f3e3502d84fd53fedec695f99
Diffstat (limited to 'core/java')
-rw-r--r--core/java/android/view/accessibility/AccessibilityManager.java30
-rw-r--r--core/java/android/view/accessibility/IAccessibilityManager.aidl3
2 files changed, 33 insertions, 0 deletions
diff --git a/core/java/android/view/accessibility/AccessibilityManager.java b/core/java/android/view/accessibility/AccessibilityManager.java
index 88b9c8096fe1..c5c1bcae232a 100644
--- a/core/java/android/view/accessibility/AccessibilityManager.java
+++ b/core/java/android/view/accessibility/AccessibilityManager.java
@@ -1004,6 +1004,36 @@ public final class AccessibilityManager {
}
/**
+ * Returns accessibility window id from window token. Accessibility window id is the one
+ * returned from AccessibilityWindowInfo.getId(). Only available for the system process.
+ *
+ * @param windowToken Window token to find accessibility window id.
+ * @return Accessibility window id for the window token.
+ * AccessibilityWindowInfo.UNDEFINED_WINDOW_ID if accessibility window id not available for
+ * the token.
+ * @hide
+ */
+ @SystemApi
+ public int getAccessibilityWindowId(IBinder windowToken) {
+ if (windowToken == null) {
+ return AccessibilityWindowInfo.UNDEFINED_WINDOW_ID;
+ }
+
+ final IAccessibilityManager service;
+ synchronized (mLock) {
+ service = getServiceLocked();
+ if (service == null) {
+ return AccessibilityWindowInfo.UNDEFINED_WINDOW_ID;
+ }
+ }
+ try {
+ return service.getAccessibilityWindowId(windowToken);
+ } catch (RemoteException e) {
+ return AccessibilityWindowInfo.UNDEFINED_WINDOW_ID;
+ }
+ }
+
+ /**
* Sets the current state and notifies listeners, if necessary.
*
* @param stateFlags The state flags.
diff --git a/core/java/android/view/accessibility/IAccessibilityManager.aidl b/core/java/android/view/accessibility/IAccessibilityManager.aidl
index 2767a82e5dba..38dac94340bb 100644
--- a/core/java/android/view/accessibility/IAccessibilityManager.aidl
+++ b/core/java/android/view/accessibility/IAccessibilityManager.aidl
@@ -76,5 +76,8 @@ interface IAccessibilityManager {
// System process only
boolean sendFingerprintGesture(int gestureKeyCode);
+ // System process only
+ int getAccessibilityWindowId(IBinder windowToken);
+
long getRecommendedTimeoutMillis();
}