Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6a284a27 authored by Bob Yang's avatar Bob Yang Committed by Automerger Merge Worker
Browse files

Merge "Set a unique id for color sections to prevent focus issues on talkback...

Merge "Set a unique id for color sections to prevent focus issues on talkback mode" into tm-dev am: 87689fca

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/ThemePicker/+/18282468



Change-Id: Id996f8164e9ab04b9e235b32b82c3411cae975ed
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 8f34bb8f 87689fca
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -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);
            }
        }
    }