diff options
| author | 2018-04-24 17:09:26 -0700 | |
|---|---|---|
| committer | 2018-04-25 17:25:25 -0700 | |
| commit | 568cf662da579a66081f97150a562998b18a2d06 (patch) | |
| tree | 6e5fa7d397f4b8e8b8dabd916a48c4fd55073d74 | |
| parent | 2897fd315d3899a3fced8187cb5acd48c1f07b63 (diff) | |
Expose a11y overlay window titles to a11y services
Bug: 78463085
Test: Adding CTS test: atest AccessibilityOverlayTest
Change-Id: I9b8ec7368b6684018a43c8bca07fd1eac5969a4e
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowState.java | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index 6c2821d9d740..2616d1dd858c 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -3865,9 +3865,13 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP windowInfo.title = mAttrs.accessibilityTitle; // Panel windows have no public way to set the a11y title directly. Use the // regular title as a fallback. - if (TextUtils.isEmpty(windowInfo.title) - && (mAttrs.type >= WindowManager.LayoutParams.FIRST_SUB_WINDOW) - && (mAttrs.type <= WindowManager.LayoutParams.LAST_SUB_WINDOW)) { + final boolean isPanelWindow = (mAttrs.type >= WindowManager.LayoutParams.FIRST_SUB_WINDOW) + && (mAttrs.type <= WindowManager.LayoutParams.LAST_SUB_WINDOW); + // Accessibility overlays should have titles that work for accessibility, and can't set + // the a11y title themselves. + final boolean isAccessibilityOverlay = + windowInfo.type == WindowManager.LayoutParams.TYPE_ACCESSIBILITY_OVERLAY; + if (TextUtils.isEmpty(windowInfo.title) && (isPanelWindow || isAccessibilityOverlay)) { windowInfo.title = mAttrs.getTitle(); } windowInfo.accessibilityIdOfAnchor = mAttrs.accessibilityIdOfAnchor; |