Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dace33e3 authored by PETER LIANG's avatar PETER LIANG Committed by Automerger Merge Worker
Browse files

Merge "Fix that display size and text preview is going blank while scrolling...

Merge "Fix that display size and text preview is going blank while scrolling the page in landscape view." into tm-qpr-dev am: 71c3e06b

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/19997091



Change-Id: I735fa2d96c60a92c270208620909353c25619960
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents b161bade 71c3e06b
Loading
Loading
Loading
Loading
+16 −15
Original line number Diff line number Diff line
@@ -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) {