diff --git a/src/com/android/settings/accessibility/TextReadingPreviewController.java b/src/com/android/settings/accessibility/TextReadingPreviewController.java index 98767d9d0ca..dab57babaed 100644 --- a/src/com/android/settings/accessibility/TextReadingPreviewController.java +++ b/src/com/android/settings/accessibility/TextReadingPreviewController.java @@ -42,6 +42,8 @@ import java.util.Objects; class TextReadingPreviewController extends BasePreferenceController implements PreviewSizeSeekBarController.ProgressInteractionListener { private static final String TAG = "TextReadingPreviewCtrl"; + private static final int LAYER_INITIAL_INDEX = 0; + private static final int FRAME_INITIAL_INDEX = 0; static final int[] PREVIEW_SAMPLE_RES_IDS = new int[]{ R.layout.accessibility_text_reading_preview_app_grid, R.layout.screen_zoom_preview_1, @@ -108,25 +110,15 @@ class TextReadingPreviewController extends BasePreferenceController implements final PreviewPagerAdapter pagerAdapter = new PreviewPagerAdapter(mContext, isLayoutRtl, PREVIEW_SAMPLE_RES_IDS, createConfig(origConfig)); mPreviewPreference.setPreviewAdapter(pagerAdapter); - mPreviewPreference.setCurrentItem(isLayoutRtl ? PREVIEW_SAMPLE_RES_IDS.length - 1 : 0); - pagerAdapter.setPreviewLayer(/* newLayerIndex= */ 0, - /* currentLayerIndex= */ 0, - /* currentFrameIndex= */ 0, /* animate= */ false); + mPreviewPreference.setCurrentItem( + isLayoutRtl ? PREVIEW_SAMPLE_RES_IDS.length - 1 : FRAME_INITIAL_INDEX); + pagerAdapter.setPreviewLayer(getPagerIndex(), LAYER_INITIAL_INDEX, + FRAME_INITIAL_INDEX, /* animate= */ false); } @Override public void notifyPreferenceChanged() { - 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)}. - final int pagerIndex = fontSizeProgress * displayDataSize + displaySizeProgress; - - mPreviewPreference.notifyPreviewPagerChanged(pagerIndex); + mPreviewPreference.notifyPreviewPagerChanged(getPagerIndex()); } @Override @@ -174,6 +166,15 @@ class TextReadingPreviewController extends BasePreferenceController implements choreographer.postFrameCallbackDelayed(mCommit, commitDelayMs); } + private int getPagerIndex() { + final int displayDataSize = mDisplaySizeData.getValues().size(); + + // 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; + } + private void tryCommitFontSizeConfig() { final int fontProgress = mFontSizePreference.getProgress(); if (fontProgress != mLastFontProgress) {