New feature “Text and reading options” for SetupWizard, Wallpaper, and Settings (13/n).

- Add the ResetPreference for controlling all preferences state in the text and reading options page.
1) Create a new interface ResetStateListener for the other preferences.

- Link-up between the reset, font size, and display size preferences.

Bug: 211503117
Test: make RunSettingsRoboTests ROBOTEST_FILTER=PreviewSizeSeekBarControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=TextReadingResetControllerTest
Change-Id: Ida773967834e32737b1daac885a2dd71189d32c8
This commit is contained in:
Peter_Liang
2022-02-06 21:45:03 +08:00
parent edb52508d3
commit f71050b515
9 changed files with 291 additions and 7 deletions

View File

@@ -29,10 +29,12 @@ import com.android.settings.widget.LabeledSeekBarPreference;
* The controller of {@link LabeledSeekBarPreference} that listens to display size and font size
* settings changes and updates preview size threshold smoothly.
*/
class PreviewSizeSeekBarController extends BasePreferenceController {
class PreviewSizeSeekBarController extends BasePreferenceController implements
TextReadingResetController.ResetStateListener {
private final PreviewSizeData<? extends Number> mSizeData;
private boolean mSeekByTouch;
private ProgressInteractionListener mInteractionListener;
private LabeledSeekBarPreference mSeekBarPreference;
private final SeekBar.OnSeekBarChangeListener mSeekBarChangeListener =
new SeekBar.OnSeekBarChangeListener() {
@@ -81,13 +83,17 @@ class PreviewSizeSeekBarController extends BasePreferenceController {
final int dataSize = mSizeData.getValues().size();
final int initialIndex = mSizeData.getInitialIndex();
final LabeledSeekBarPreference seekBarPreference =
screen.findPreference(getPreferenceKey());
mSeekBarPreference = screen.findPreference(getPreferenceKey());
mSeekBarPreference.setMax(dataSize - 1);
mSeekBarPreference.setProgress(initialIndex);
mSeekBarPreference.setContinuousUpdates(true);
mSeekBarPreference.setOnSeekBarChangeListener(mSeekBarChangeListener);
}
seekBarPreference.setMax(dataSize - 1);
seekBarPreference.setProgress(initialIndex);
seekBarPreference.setContinuousUpdates(true);
seekBarPreference.setOnSeekBarChangeListener(mSeekBarChangeListener);
@Override
public void resetState() {
final int defaultProgress = mSizeData.getValues().indexOf(mSizeData.getDefaultValue());
mSeekBarPreference.setProgress(defaultProgress);
}
/**