[A11Y][Wi-Fi] Prevent data usage header spinner speak at onResume
Ignore AccessibilityEvent.TYPE_VIEW_SELECTED for the Spinner.
Bug: 146818854
Test: manual
Should not speak for header spinner right after entering
'Wi-Fi data usage'
Change-Id: I289d9a781242f8bfec56c59b7be2ac0688c5e485
diff --git a/src/com/android/settings/datausage/DataUsageList.java b/src/com/android/settings/datausage/DataUsageList.java
index 8db32e9..7f1a0d8 100644
--- a/src/com/android/settings/datausage/DataUsageList.java
+++ b/src/com/android/settings/datausage/DataUsageList.java
@@ -42,6 +42,8 @@
import android.util.Log;
import android.util.SparseArray;
import android.view.View;
+import android.view.View.AccessibilityDelegate;
+import android.view.accessibility.AccessibilityEvent;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ImageView;
@@ -180,6 +182,16 @@
mCycleSpinner.setSelection(position);
}
}, mCycleListener);
+ mCycleSpinner.setAccessibilityDelegate(new AccessibilityDelegate() {
+ @Override
+ public void sendAccessibilityEvent(View host, int eventType) {
+ if (eventType == AccessibilityEvent.TYPE_VIEW_SELECTED) {
+ // Ignore TYPE_VIEW_SELECTED or TalkBack will speak for it at onResume.
+ return;
+ }
+ super.sendAccessibilityEvent(host, eventType);
+ }
+ });
mLoadingViewController = new LoadingViewController(
getView().findViewById(R.id.loading_container), getListView());