summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Pan <johnpan@google.com>2021-12-16 21:04:05 +0800
committerJohn Pan <johnpan@google.com>2021-12-22 02:09:51 +0000
commit7f1a37d33575364062809db3ddf8ee8ab30f9f55 (patch)
tree39dcaa06bb97e404a3caaaf4db33b85c6176698a
parentc476673fe4bf92558c9d7e06d5f9d1724b8b5261 (diff)
Fix Talkback announcing null when changing color option
Move the Talkback announcement for options from OptionSelectorController to GridFragment. We only need this logic for grid option and it's hard to understand with the color option without title. Videos: -Before: https://drive.google.com/file/d/1-tFBWwz_SjbenpmAozPhlC7dRRFHiDkN/view?usp=sharing&resourcekey=0-SLo4PJEo3G3J0O_LVYSd7A -After: https://drive.google.com/file/d/1-XTa--g59Dw_HXxm5SjofE2nxlBWDhtY/view?usp=sharing&resourcekey=0-e9mS5uqltrAR3zyXS8cUqQ -After GridFragment: https://drive.google.com/file/d/11sDHACAOSU4npMao_4f-NUKUje3fZlfj/view?usp=sharing&resourcekey=0-8Pm0qkzvLilSMhpzUBWr6A Bug: 210801885 Test: Manual Change-Id: If47204681655f42741a2e46e2d585144a7d08711
-rw-r--r--src/com/android/customization/picker/grid/GridFragment.java7
-rw-r--r--src/com/android/customization/widget/OptionSelectorController.java11
2 files changed, 8 insertions, 10 deletions
diff --git a/src/com/android/customization/picker/grid/GridFragment.java b/src/com/android/customization/picker/grid/GridFragment.java
index 9896edc8..cb04fc39 100644
--- a/src/com/android/customization/picker/grid/GridFragment.java
+++ b/src/com/android/customization/picker/grid/GridFragment.java
@@ -212,6 +212,13 @@ public class GridFragment extends AppbarFragment {
restoreBottomActionBarVisibility();
mOptionsController.addListener(selectedOption -> {
+ String title = selectedOption.getTitle();
+ int stringId = R.string.option_previewed_description;
+ if (selectedOption.isActive(mGridManager)) {
+ stringId = R.string.option_applied_previewed_description;
+ }
+ CharSequence cd = getContext().getString(stringId, title);
+ mOptionsContainer.announceForAccessibility(cd);
onOptionSelected(selectedOption);
mBottomActionBar.show();
mGridOptionViewModel.setBottomActionBarVisible(true);
diff --git a/src/com/android/customization/widget/OptionSelectorController.java b/src/com/android/customization/widget/OptionSelectorController.java
index 0f1b6a66..952bc555 100644
--- a/src/com/android/customization/widget/OptionSelectorController.java
+++ b/src/com/android/customization/widget/OptionSelectorController.java
@@ -194,16 +194,7 @@ public class OptionSelectorController<T extends CustomizationOption<T>> {
}
holder.itemView.setActivated(option.equals(mSelectedOption));
option.bindThumbnailTile(holder.tileView);
- holder.itemView.setOnClickListener(view -> {
- setSelectedOption(option);
- String title = option.getTitle();
- int stringId = R.string.option_previewed_description;
- if (mSelectedOption.equals(mAppliedOption)) {
- stringId = R.string.option_applied_previewed_description;
- }
- CharSequence cd = holder.itemView.getContext().getString(stringId, title);
- view.announceForAccessibility(cd);
- });
+ holder.itemView.setOnClickListener(view -> setSelectedOption(option));
Resources res = mContainer.getContext().getResources();
if (mCheckmarkStyle == CheckmarkStyle.CORNER && option.equals(mAppliedOption)) {