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

Commit 7a2ac507 authored by Calvin Pan's avatar Calvin Pan
Browse files

Adding state description for current locale item

To support Talkback to say "checked" when the current locale is
selected.

Bug: 228924751
Test: Using talkback
Change-Id: I3e2f8ba46106246e835e7ce5b580e501ab6c58c9
parent 5f803607
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -27,7 +27,6 @@ import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Filter;
import android.widget.Filterable;
import android.widget.FrameLayout;
import android.widget.TextView;

import com.android.internal.R;
@@ -222,6 +221,7 @@ public class SuggestedLocaleAdapter extends BaseAdapter implements Filterable {
                        convertView = mInflater.inflate(
                                R.layout.app_language_picker_current_locale_item, parent, false);
                        title = convertView.findViewById(R.id.language_picker_item);
                        addStateDescriptionIntoCurrentLocaleItem(convertView);
                    } else {
                        convertView = mInflater.inflate(
                                R.layout.language_picker_item, parent, false);
@@ -234,6 +234,7 @@ public class SuggestedLocaleAdapter extends BaseAdapter implements Filterable {
                if (!(convertView instanceof ViewGroup)) {
                    convertView = mInflater.inflate(
                            R.layout.app_language_picker_current_locale_item, parent, false);
                    addStateDescriptionIntoCurrentLocaleItem(convertView);
                }
                updateTextView(
                        convertView, convertView.findViewById(R.id.language_picker_item), position);
@@ -369,4 +370,9 @@ public class SuggestedLocaleAdapter extends BaseAdapter implements Filterable {
                    : View.TEXT_DIRECTION_LTR);
        }
    }

    private void addStateDescriptionIntoCurrentLocaleItem(View root) {
        String description = root.getContext().getResources().getString(R.string.checked);
        root.setStateDescription(description);
    }
}