diff options
| author | Yuki Awano <yawano@google.com> | 2018-11-20 15:13:42 +0900 |
|---|---|---|
| committer | Yuki Awano <yawano@google.com> | 2018-12-10 13:36:56 +0900 |
| commit | ca4c57439d14fc9b553b88be0a008744d0c2bcce (patch) | |
| tree | 4da64832536d02fe4cb6eccfa35562baf69d099d /core/java | |
| parent | 441ca70d54b7f61b367cb197efc94502220d1606 (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.java | 30 | ||||
| -rw-r--r-- | core/java/android/view/accessibility/IAccessibilityManager.aidl | 3 |
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(); } |
