diff --git a/src/com/android/customization/picker/grid/GridFragment.java b/src/com/android/customization/picker/grid/GridFragment.java
index 9896edc..cb04fc3 100644
--- a/src/com/android/customization/picker/grid/GridFragment.java
+++ b/src/com/android/customization/picker/grid/GridFragment.java
@@ -212,6 +212,13 @@
                 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 0f1b6a6..952bc55 100644
--- a/src/com/android/customization/widget/OptionSelectorController.java
+++ b/src/com/android/customization/widget/OptionSelectorController.java
@@ -194,16 +194,7 @@
                 }
                 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)) {
