Fix that when I go to display size in the settings, the largest size shows the smallest icons.
Root cause:
Preview didn't instantly be updated when scrolling the Display size.
Solution:
Get the value from preferences when scrolling, and from the display size data value when initializing.
Fix: 248748575
Test: manual test
Change-Id: I441766e0fd97ec1ac287d5bd4191693b2490c552
diff --git a/src/com/android/settings/accessibility/TextReadingPreviewController.java b/src/com/android/settings/accessibility/TextReadingPreviewController.java
index dab57ba..29faaaa 100644
--- a/src/com/android/settings/accessibility/TextReadingPreviewController.java
+++ b/src/com/android/settings/accessibility/TextReadingPreviewController.java
@@ -112,7 +112,9 @@
mPreviewPreference.setPreviewAdapter(pagerAdapter);
mPreviewPreference.setCurrentItem(
isLayoutRtl ? PREVIEW_SAMPLE_RES_IDS.length - 1 : FRAME_INITIAL_INDEX);
- pagerAdapter.setPreviewLayer(getPagerIndex(), LAYER_INITIAL_INDEX,
+ final int initialPagerIndex =
+ mLastFontProgress * mDisplaySizeData.getValues().size() + mLastDisplayProgress;
+ pagerAdapter.setPreviewLayer(initialPagerIndex, LAYER_INITIAL_INDEX,
FRAME_INITIAL_INDEX, /* animate= */ false);
}
@@ -168,11 +170,13 @@
private int getPagerIndex() {
final int displayDataSize = mDisplaySizeData.getValues().size();
+ final int fontSizeProgress = mFontSizePreference.getProgress();
+ final int displaySizeProgress = mDisplaySizePreference.getProgress();
// To be consistent with the {@link PreviewPagerAdapter#setPreviewLayer(int, int, int,
// boolean)} behavior, here also needs the same design. In addition, please also refer to
// the {@link #createConfig(Configuration)}.
- return mLastFontProgress * displayDataSize + mLastDisplayProgress;
+ return fontSizeProgress * displayDataSize + displaySizeProgress;
}
private void tryCommitFontSizeConfig() {