From aa6b25e1379cbbfd75e1da326ba2504f3271f8d0 Mon Sep 17 00:00:00 2001 From: Arc Wang Date: Thu, 9 Apr 2020 16:51:10 +0800 Subject: [PATCH] [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 --- .../android/settings/datausage/DataUsageList.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/com/android/settings/datausage/DataUsageList.java b/src/com/android/settings/datausage/DataUsageList.java index 8db32e9eb19..7f1a0d8252d 100644 --- a/src/com/android/settings/datausage/DataUsageList.java +++ b/src/com/android/settings/datausage/DataUsageList.java @@ -42,6 +42,8 @@ import android.telephony.SubscriptionManager; 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 @@ public class DataUsageList extends DataUsageBaseFragment 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());