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

Commit 93a613f2 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 am: dace33e3

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



Change-Id: I2de86b0a6b8eac29e04fb8ce6c77750d88321322
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents fef9587c dace33e3
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) {