Add a new method to set state description

- This CL add a new method setSeekBarStateDescription() to set
  the state of seek bar. Because in some case the description of
  seek bar is not align progress of seek bar.
- Add test case

Bug: 157629483
Test: make -j42 RunSettingsRoboTests
Change-Id: I432e6f9deef59756b0a41244d50aaada1ddac6a9
This commit is contained in:
Hugh Chen
2020-06-05 15:00:45 +08:00
parent 9be31ce9ef
commit 2e5e04e79d
2 changed files with 24 additions and 0 deletions

View File

@@ -51,6 +51,7 @@ public class SeekBarPreference extends RestrictedPreference
private boolean mShouldBlink;
private int mAccessibilityRangeInfoType = AccessibilityNodeInfo.RangeInfo.RANGE_TYPE_INT;
private CharSequence mSeekBarContentDescription;
private CharSequence mSeekBarStateDescription;
public SeekBarPreference(
Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
@@ -124,6 +125,9 @@ public class SeekBarPreference extends RestrictedPreference
} else if (!TextUtils.isEmpty(title)) {
mSeekBar.setContentDescription(title);
}
if (!TextUtils.isEmpty(mSeekBarStateDescription)) {
mSeekBar.setStateDescription(mSeekBarStateDescription);
}
if (mSeekBar instanceof DefaultIndicatorSeekBar) {
((DefaultIndicatorSeekBar) mSeekBar).setDefaultProgress(mDefaultProgress);
}
@@ -304,6 +308,18 @@ public class SeekBarPreference extends RestrictedPreference
}
}
/**
* Specify the state description for this seek bar represents.
*
* @param stateDescription the state description of seek bar
*/
public void setSeekBarStateDescription(CharSequence stateDescription) {
mSeekBarStateDescription = stateDescription;
if (mSeekBar != null) {
mSeekBar.setStateDescription(stateDescription);
}
}
@Override
protected Parcelable onSaveInstanceState() {
/*