Check if accessibility is enabled before each use

The enabled status can change between layout calls.

Bug: 19180194
Change-Id: Ia7acbd7f432a85f20b9a344d4c76756407abf8b1
diff --git a/src/com/android/ex/chips/RecipientEditTextView.java b/src/com/android/ex/chips/RecipientEditTextView.java
index dd83360..4855d64 100644
--- a/src/com/android/ex/chips/RecipientEditTextView.java
+++ b/src/com/android/ex/chips/RecipientEditTextView.java
@@ -192,7 +192,6 @@
     private ReplacementDrawableSpan mMoreChip;
     private TextView mMoreItem;
 
-    private boolean mIsAccessibilityOn;
     private int mCurrentSuggestionCount;
 
     // VisibleForTesting
@@ -316,15 +315,6 @@
         });
     }
 
-    @Override
-    protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
-        super.onLayout(changed, left, top, right, bottom);
-
-        final AccessibilityManager accessibilityManager =
-                (AccessibilityManager) getContext().getSystemService(Context.ACCESSIBILITY_SERVICE);
-        mIsAccessibilityOn = accessibilityManager.isEnabled();
-    }
-
     private int calculateTextHeight() {
         final TextPaint paint = getPaint();
 
@@ -549,7 +539,11 @@
 
     @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
     private void announceForAccessibilityCompat(String text) {
-        if (mIsAccessibilityOn && Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
+        final AccessibilityManager accessibilityManager =
+                (AccessibilityManager) getContext().getSystemService(Context.ACCESSIBILITY_SERVICE);
+        final boolean isAccessibilityOn = accessibilityManager.isEnabled();
+
+        if (isAccessibilityOn && Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
             final ViewParent parent = getParent();
             if (parent != null) {
                 AccessibilityEvent event = AccessibilityEvent.obtain(