summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Yang <zonghuayang@google.com>2022-05-17 00:36:07 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2022-05-17 00:36:07 +0000
commit87689fca119124c2ddbc01d94a4bc20a8d8df167 (patch)
treef2e408a2f510bde5e101f8fdff82d30c069e431b
parent0b266bc5bdd6f63e1f5ec3ea18ba1d7c3324690c (diff)
parent646aeb78ac90477260dbdd97b292d85f61c7b1d0 (diff)
downloadThemePicker-87689fca119124c2ddbc01d94a4bc20a8d8df167.tar.gz
Merge "Set a unique id for color sections to prevent focus issues on talkback mode" into tm-dev
-rw-r--r--src/com/android/customization/model/color/ColorSectionController.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/com/android/customization/model/color/ColorSectionController.java b/src/com/android/customization/model/color/ColorSectionController.java
index 80bc3c6e..1de1c048 100644
--- a/src/com/android/customization/model/color/ColorSectionController.java
+++ b/src/com/android/customization/model/color/ColorSectionController.java
@@ -35,6 +35,7 @@ import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.view.accessibility.AccessibilityNodeInfo;
import android.widget.FrameLayout;
import androidx.annotation.Nullable;
@@ -64,6 +65,7 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.Optional;
+import java.util.UUID;
/**
* Color section view's controller for the logic of color customization.
@@ -158,6 +160,7 @@ public class ColorSectionController implements CustomizationSectionController<Co
mColorSectionView = (ColorSectionView) LayoutInflater.from(context).inflate(
R.layout.color_section_view, /* root= */ null);
mColorSectionViewPager = mColorSectionView.findViewById(R.id.color_section_view_pager);
+ mColorSectionViewPager.setAccessibilityDelegate(mAccessibilityDelegate);
mColorSectionViewPager.setAdapter(mColorSectionAdapter);
mColorSectionViewPager.setUserInputEnabled(false);
if (ColorProvider.themeStyleEnabled) {
@@ -406,6 +409,14 @@ public class ColorSectionController implements CustomizationSectionController<Co
return action;
}
+ private View.AccessibilityDelegate mAccessibilityDelegate = new View.AccessibilityDelegate() {
+ @Override
+ public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info) {
+ super.onInitializeAccessibilityNodeInfo(host, info);
+ info.setUniqueId(UUID.randomUUID().toString());
+ }
+ };
+
private class ColorSectionAdapter extends
RecyclerView.Adapter<ColorSectionAdapter.ColorPageViewHolder> {
@@ -471,6 +482,8 @@ public class ColorSectionController implements CustomizationSectionController<Co
if (ColorProvider.themeStyleEnabled) {
mPageIndicator.setVisibility(VISIBLE);
}
+ itemView.setAccessibilityDelegate(mAccessibilityDelegate);
+ mContainer.setAccessibilityDelegate(mAccessibilityDelegate);
}
}
}