From 27b963fde61dbaf7d132397dae9cdec75625c02a Mon Sep 17 00:00:00 2001 From: calderwoodra Date: Tue, 27 Feb 2018 16:08:04 -0800 Subject: Fixed some a11y issues in MainActivity. - main fragments are no longer detected by talkback while search is open. - FAB now has a content description Bug: 73587831,73891132 Test: tap PiperOrigin-RevId: 187248081 Change-Id: I5a8fe2df23542d19c935cba77d1337ec753064af --- .../dialer/main/impl/MainSearchController.java | 23 +++++++++++++++++----- .../dialer/main/impl/res/layout/main_activity.xml | 1 + .../dialer/main/impl/res/values/strings.xml | 4 ++++ 3 files changed, 23 insertions(+), 5 deletions(-) (limited to 'java/com/android/dialer/main') diff --git a/java/com/android/dialer/main/impl/MainSearchController.java b/java/com/android/dialer/main/impl/MainSearchController.java index 4f3ee6032..7d380d75d 100644 --- a/java/com/android/dialer/main/impl/MainSearchController.java +++ b/java/com/android/dialer/main/impl/MainSearchController.java @@ -128,7 +128,9 @@ public class MainSearchController implements SearchBarListener { // TODO(a bug): zero suggest results aren't actually shown but this enabled the nearby // places promo to be shown. searchFragment = NewSearchFragment.newInstance(/* showZeroSuggest=*/ true); - transaction.add(R.id.fragment_container, searchFragment, SEARCH_FRAGMENT_TAG); + transaction.replace(R.id.fragment_container, searchFragment, SEARCH_FRAGMENT_TAG); + transaction.addToBackStack(null); + transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE); } else if (!isSearchVisible()) { transaction.show(searchFragment); } @@ -287,11 +289,20 @@ public class MainSearchController implements SearchBarListener { showBottomNav(); toolbar.collapse(animate); toolbarShadow.setVisibility(View.GONE); - mainActivity.getFragmentManager().beginTransaction().remove(getSearchFragment()).commit(); + mainActivity.getFragmentManager().popBackStack(); // Clear the dialpad so the phone number isn't persisted between search sessions. - if (getDialpadFragment() != null) { - getDialpadFragment().clearDialpad(); + DialpadFragment dialpadFragment = getDialpadFragment(); + if (dialpadFragment != null) { + // Temporarily disable accessibility when we clear the dialpad, since it should be + // invisible and should not announce anything. + dialpadFragment + .getDigitsWidget() + .setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO); + dialpadFragment.clearDialpad(); + dialpadFragment + .getDigitsWidget() + .setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_AUTO); } notifyListenersOnSearchClose(); @@ -355,7 +366,9 @@ public class MainSearchController implements SearchBarListener { // TODO(a bug): zero suggest results aren't actually shown but this enabled the nearby // places promo to be shown. searchFragment = NewSearchFragment.newInstance(true); - transaction.add(R.id.fragment_container, searchFragment, SEARCH_FRAGMENT_TAG); + transaction.replace(R.id.fragment_container, searchFragment, SEARCH_FRAGMENT_TAG); + transaction.addToBackStack(null); + transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE); } else if (!isSearchVisible()) { transaction.show(getSearchFragment()); } diff --git a/java/com/android/dialer/main/impl/res/layout/main_activity.xml b/java/com/android/dialer/main/impl/res/layout/main_activity.xml index 4f0284126..b69625e63 100644 --- a/java/com/android/dialer/main/impl/res/layout/main_activity.xml +++ b/java/com/android/dialer/main/impl/res/layout/main_activity.xml @@ -44,6 +44,7 @@ android:layout_margin="16dp" android:layout_gravity="end|bottom" android:src="@drawable/quantum_ic_dialpad_white_24" + android:contentDescription="@string/dialpad_button_content_description" app:backgroundTint="?android:attr/colorAccent"/> diff --git a/java/com/android/dialer/main/impl/res/values/strings.xml b/java/com/android/dialer/main/impl/res/values/strings.xml index c842beeff..4e65432e5 100644 --- a/java/com/android/dialer/main/impl/res/values/strings.xml +++ b/java/com/android/dialer/main/impl/res/values/strings.xml @@ -40,4 +40,8 @@ Voice search not available + + + key pad -- cgit v1.2.3