Fix crash on accessibility service. am: 02bf9ac am: fe3157c
am: 08276ee
* commit '08276eeb1f121b06c65c6e6b837e6fc6655d2e63':
Fix crash on accessibility service.
Change-Id: I0499acc592278242cf8625d59cd7c071b9958002
diff --git a/InCallUI/src/com/android/incallui/CallCardFragment.java b/InCallUI/src/com/android/incallui/CallCardFragment.java
index 54b37e5..506feb5 100644
--- a/InCallUI/src/com/android/incallui/CallCardFragment.java
+++ b/InCallUI/src/com/android/incallui/CallCardFragment.java
@@ -45,6 +45,7 @@
import android.view.ViewTreeObserver;
import android.view.ViewTreeObserver.OnGlobalLayoutListener;
import android.view.accessibility.AccessibilityEvent;
+import android.view.accessibility.AccessibilityManager;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageButton;
@@ -1156,13 +1157,21 @@
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
- if (getView() != null && getView().getParent() != null) {
+ if (getView() != null && getView().getParent() != null &&
+ isAccessibilityEnabled(getContext())) {
AccessibilityEvent event = AccessibilityEvent.obtain(
AccessibilityEvent.TYPE_ANNOUNCEMENT);
dispatchPopulateAccessibilityEvent(event);
getView().getParent().requestSendAccessibilityEvent(getView(), event);
}
}
+
+ private boolean isAccessibilityEnabled(Context context) {
+ AccessibilityManager accessibilityManager =
+ (AccessibilityManager) context.getSystemService(Context.ACCESSIBILITY_SERVICE);
+ return accessibilityManager != null && accessibilityManager.isEnabled();
+
+ }
}, ACCESSIBILITY_ANNOUNCEMENT_DELAY_MS);
}