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);
         }
     }