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
This commit is contained in:
Peter Liang
2022-09-29 14:10:05 +08:00
committed by Menghan Li
parent 2be7d6f16b
commit 8ca60482c2

View File

@@ -112,7 +112,9 @@ class TextReadingPreviewController extends BasePreferenceController implements
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 @@ class TextReadingPreviewController extends BasePreferenceController implements
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() {