[Physical Keyboard] Fix bugs for input keys dialog

set content description on custom radio button and seekbar.
fix typo

Bug: 374229004
Bug: 374229189
Bug: 374229597
Bug: 389973787
Flag: com.android.settings.keyboard.keyboard_and_touchpad_a11y_new_page_enabled
Test: atest
packages/apps/Settings/tests/robotests/src/com/android/settings/inputmethod/

Change-Id: I3df4b1558c2bad73d9411a0160725d7a35590cc3
This commit is contained in:
shaoweishen
2025-01-21 08:10:13 +00:00
committed by Shaowei Shen
parent 086c8b7955
commit 538cc35aed
5 changed files with 33 additions and 12 deletions

View File

@@ -38,6 +38,7 @@ import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import org.jspecify.annotations.Nullable;
import java.util.Locale;
import java.util.concurrent.TimeUnit;
public abstract class KeyboardAccessibilityKeysDialogFragment extends DialogFragment {
@@ -45,6 +46,8 @@ public abstract class KeyboardAccessibilityKeysDialogFragment extends DialogFrag
private static final long MILLISECOND_IN_SECONDS = TimeUnit.SECONDS.toMillis(1);
protected static final String EXTRA_TITLE_RES = "extra_title_res";
protected static final String EXTRA_SUBTITLE_RES = "extra_subtitle_res";
protected static final String EXTRA_SEEKBAR_CONTENT_DESCRIPTION =
"extra_seekbar_content_description_res";
protected final MetricsFeatureProvider mMetricsFeatureProvider;
@@ -67,6 +70,7 @@ public abstract class KeyboardAccessibilityKeysDialogFragment extends DialogFrag
super.onCreateDialog(savedInstanceState);
int titleRes = getArguments().getInt(EXTRA_TITLE_RES);
int subtitleRes = getArguments().getInt(EXTRA_SUBTITLE_RES);
int seekbarContentDescriptionRes = getArguments().getInt(EXTRA_SEEKBAR_CONTENT_DESCRIPTION);
Activity activity = getActivity();
View dialoglayout =
@@ -121,6 +125,10 @@ public abstract class KeyboardAccessibilityKeysDialogFragment extends DialogFrag
titleTextView.setText(titleRes);
subTitleTextView.setText(subtitleRes);
if (seekbarContentDescriptionRes != 0) {
customProgressBar.setContentDescription(
getContext().getString(seekbarContentDescriptionRes));
}
customProgressBar.incrementProgressBy(CUSTOM_PROGRESS_INTERVAL);
customProgressBar.setProgress(1);
View customValueView = accessibilityKeyDialog.findViewById(
@@ -141,7 +149,9 @@ public abstract class KeyboardAccessibilityKeysDialogFragment extends DialogFrag
customProgressBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
customValueTextView.setText(progressToThresholdInSecond(progress));
String threshold = progressToThresholdInSecond(progress);
customValueTextView.setText(threshold);
customProgressBar.setContentDescription(threshold);
}
@Override
@@ -162,9 +172,10 @@ public abstract class KeyboardAccessibilityKeysDialogFragment extends DialogFrag
return accessibilityKeyDialog;
}
private static String progressToThresholdInSecond(int progress) {
return String.valueOf((double) progress * CUSTOM_PROGRESS_INTERVAL
/ MILLISECOND_IN_SECONDS);
private String progressToThresholdInSecond(int progress) {
return (double) progress * CUSTOM_PROGRESS_INTERVAL
/ MILLISECOND_IN_SECONDS + " " + TimeUnit.SECONDS.name().toLowerCase(
Locale.getDefault());
}
private void initStateBasedOnThreshold(RadioGroup cannedValueRadioGroup,