Merge "AnnounceForAccessibility is broken for any view that has a ContentDescription."
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index b6f0aa2..56eb628 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -4496,11 +4496,13 @@
* @param text The announcement text.
*/
public void announceForAccessibility(CharSequence text) {
- if (AccessibilityManager.getInstance(mContext).isEnabled()) {
+ if (AccessibilityManager.getInstance(mContext).isEnabled() && mParent != null) {
AccessibilityEvent event = AccessibilityEvent.obtain(
AccessibilityEvent.TYPE_ANNOUNCEMENT);
+ onInitializeAccessibilityEvent(event);
event.getText().add(text);
- sendAccessibilityEventUnchecked(event);
+ event.setContentDescription(null);
+ mParent.requestSendAccessibilityEvent(this, event);
}
}