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

Commit b2a64891 authored by Wang wenrui's avatar Wang wenrui Committed by android-build-merger
Browse files

Merge "Fix screen freeze when changing display size in Multi-Window mode"

am: 2051822b

Change-Id: I974abe3dd2114aa439c0db46fa4930a947912de6
parents 4f835098 2051822b
Loading
Loading
Loading
Loading
+25 −11
Original line number Diff line number Diff line
@@ -58,6 +58,7 @@ public abstract class PreviewSeekBarPreferenceFragment extends SettingsPreferenc
    private DotsPageIndicator mPageIndicator;

    private TextView mLabel;
    private LabeledSeekBar mSeekBar;
    private View mLarger;
    private View mSmaller;

@@ -110,19 +111,17 @@ public abstract class PreviewSeekBarPreferenceFragment extends SettingsPreferenc
        // seek bar.
        final int max = Math.max(1, mEntries.length - 1);

        final LabeledSeekBar seekBar = (LabeledSeekBar) content.findViewById(R.id.seek_bar);
        seekBar.setLabels(mEntries);
        seekBar.setMax(max);
        seekBar.setProgress(mInitialIndex);
        seekBar.setOnSeekBarChangeListener(new onPreviewSeekBarChangeListener());
        mSeekBar = (LabeledSeekBar) content.findViewById(R.id.seek_bar);
        mSeekBar.setLabels(mEntries);
        mSeekBar.setMax(max);

        mSmaller = content.findViewById(R.id.smaller);
        mSmaller.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                final int progress = seekBar.getProgress();
                final int progress = mSeekBar.getProgress();
                if (progress > 0) {
                    seekBar.setProgress(progress - 1, true);
                    mSeekBar.setProgress(progress - 1, true);
                }
            }
        });
@@ -131,9 +130,9 @@ public abstract class PreviewSeekBarPreferenceFragment extends SettingsPreferenc
        mLarger.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                final int progress = seekBar.getProgress();
                if (progress < seekBar.getMax()) {
                    seekBar.setProgress(progress + 1, true);
                final int progress = mSeekBar.getProgress();
                if (progress < mSeekBar.getMax()) {
                    mSeekBar.setProgress(progress + 1, true);
                }
            }
        });
@@ -141,7 +140,7 @@ public abstract class PreviewSeekBarPreferenceFragment extends SettingsPreferenc
        if (mEntries.length == 1) {
            // The larger and smaller buttons will be disabled when we call
            // setPreviewLayer() later in this method.
            seekBar.setEnabled(false);
            mSeekBar.setEnabled(false);
        }

        final Context context = getContext();
@@ -172,6 +171,21 @@ public abstract class PreviewSeekBarPreferenceFragment extends SettingsPreferenc
        return root;
    }

    @Override
    public void onStart() {
        super.onStart();
        // Set SeekBar listener here to avoid onProgressChanged() is called
        // during onRestoreInstanceState().
        mSeekBar.setProgress(mCurrentIndex);
        mSeekBar.setOnSeekBarChangeListener(new onPreviewSeekBarChangeListener());
    }

    @Override
    public void onStop() {
        super.onStop();
        mSeekBar.setOnSeekBarChangeListener(null);
    }

    /**
     * Creates new configuration based on the current position of the SeekBar.
     */