Skip to content

Commit 981129f

Browse files
paulfthomashunterstich
authored andcommitted
[MaterialTimePicker][a11y] Update accessibility className used for hour/minute Chips
PiperOrigin-RevId: 436207977 (cherry picked from commit a51d1dc)
1 parent 6252528 commit 981129f

File tree

3 files changed

+22
-2
lines changed

3 files changed

+22
-2
lines changed

lib/java/com/google/android/material/chip/Chip.java

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,7 @@ public class Chip extends AppCompatCheckBox
162162
@Dimension(unit = Dimension.PX)
163163
private int minTouchTargetSize;
164164

165+
@Nullable private CharSequence accessibilityClassName;
165166
private static final String BUTTON_ACCESSIBILITY_CLASS_NAME = "android.widget.Button";
166167
private static final String COMPOUND_BUTTON_ACCESSIBILITY_CLASS_NAME =
167168
"android.widget.CompoundButton";
@@ -1112,7 +1113,7 @@ public void setChipMinHeightResource(@DimenRes int id) {
11121113
/**
11131114
* Sets this chip's minimum height.
11141115
*
1115-
* @param minHeight This chip's mininum height.
1116+
* @param minHeight This chip's minimum height.
11161117
* @attr ref com.google.android.material.R.styleable#Chip_chipMinHeight
11171118
*/
11181119
public void setChipMinHeight(float minHeight) {
@@ -2304,10 +2305,21 @@ public boolean ensureAccessibleTouchTarget(@Dimension int minTargetPx) {
23042305
return true;
23052306
}
23062307

2308+
/**
2309+
* Sets this chip's accessibility class name.
2310+
*
2311+
* @param className This chip's accessibility class name.
2312+
*/
2313+
public void setAccessibilityClassName(@Nullable CharSequence className) {
2314+
accessibilityClassName = className;
2315+
}
2316+
23072317
@Override
23082318
@NonNull
23092319
public CharSequence getAccessibilityClassName() {
2310-
if (isCheckable()) {
2320+
if (!TextUtils.isEmpty(accessibilityClassName)) {
2321+
return accessibilityClassName;
2322+
} else if (isCheckable()) {
23112323
ViewParent parent = getParent();
23122324
if (parent instanceof ChipGroup && ((ChipGroup) parent).isSingleSelection()) {
23132325
return RADIO_BUTTON_ACCESSIBILITY_CLASS_NAME;

lib/java/com/google/android/material/timepicker/ChipTextInputComboView.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818

1919
import com.google.android.material.R;
2020

21+
import static com.google.android.material.timepicker.TimePickerView.GENERIC_VIEW_ACCESSIBILITY_CLASS_NAME;
22+
2123
import android.content.Context;
2224
import android.content.res.Configuration;
2325
import android.os.Build.VERSION;
@@ -68,6 +70,7 @@ public ChipTextInputComboView(
6870
super(context, attrs, defStyleAttr);
6971
LayoutInflater inflater = LayoutInflater.from(context);
7072
chip = (Chip) inflater.inflate(R.layout.material_time_chip, this, false);
73+
chip.setAccessibilityClassName(GENERIC_VIEW_ACCESSIBILITY_CLASS_NAME);
7174
textInputLayout = (TextInputLayout) inflater.inflate(R.layout.material_time_input, this, false);
7275
editText = textInputLayout.getEditText();
7376
editText.setVisibility(INVISIBLE);

lib/java/com/google/android/material/timepicker/TimePickerView.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,8 @@ interface OnDoubleTapListener {
6767
void onDoubleTap();
6868
}
6969

70+
static final String GENERIC_VIEW_ACCESSIBILITY_CLASS_NAME = "android.view.View";
71+
7072
private final Chip minuteView;
7173
private final Chip hourView;
7274

@@ -169,6 +171,9 @@ private void setUpDisplay() {
169171

170172
minuteView.setOnClickListener(selectionListener);
171173
hourView.setOnClickListener(selectionListener);
174+
175+
minuteView.setAccessibilityClassName(GENERIC_VIEW_ACCESSIBILITY_CLASS_NAME);
176+
hourView.setAccessibilityClassName(GENERIC_VIEW_ACCESSIBILITY_CLASS_NAME);
172177
}
173178

174179
@Override

0 commit comments

Comments
 (0)