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

Commit f9855a3b authored by Ebru Kurnaz's avatar Ebru Kurnaz Committed by Android (Google) Code Review
Browse files

Merge "Fix density slider not updating density when dragged." into main

parents 17f51b71 e478bf57
Loading
Loading
Loading
Loading
+11 −5
Original line number Diff line number Diff line
@@ -81,9 +81,11 @@ public class ExternalDisplaySizePreference extends AccessibilitySeekBarPreferenc
            implements SeekBar.OnSeekBarChangeListener {
        private static final long MIN_COMMIT_INTERVAL_MS = 800;
        private static final long CHANGE_BY_BUTTON_DELAY_MS = 300;
        private static final long CHANGE_BY_SEEKBAR_DELAY_MS = 100;
        private final DisplaySizeData mDisplaySizeData;
        private int mLastDisplayProgress;
        private long mLastCommitTime;
        private boolean mSeekByTouch;
        ExternalDisplaySizePreferenceStateHandler(DisplaySizeData displaySizeData) {
            mDisplaySizeData = displaySizeData;
        }
@@ -99,8 +101,7 @@ public class ExternalDisplaySizePreference extends AccessibilitySeekBarPreferenc
            mLastCommitTime = SystemClock.elapsedRealtime();
        }

        private void postCommitDelayed() {
            var commitDelayMs = CHANGE_BY_BUTTON_DELAY_MS;
        private void postCommitDelayed(long commitDelayMs) {
            if (SystemClock.elapsedRealtime() - mLastCommitTime < MIN_COMMIT_INTERVAL_MS) {
                commitDelayMs += MIN_COMMIT_INTERVAL_MS;
            }
@@ -112,13 +113,18 @@ public class ExternalDisplaySizePreference extends AccessibilitySeekBarPreferenc

        @Override
        public void onProgressChanged(@NonNull SeekBar seekBar, int i, boolean b) {
            postCommitDelayed();
            if (!mSeekByTouch) postCommitDelayed(CHANGE_BY_BUTTON_DELAY_MS);
        }

        @Override
        public void onStartTrackingTouch(@NonNull SeekBar seekBar) {}
        public void onStartTrackingTouch(@NonNull SeekBar seekBar) {
            mSeekByTouch = true;
        }

        @Override
        public void onStopTrackingTouch(@NonNull SeekBar seekBar) {}
        public void onStopTrackingTouch(@NonNull SeekBar seekBar) {
            mSeekByTouch = false;
            postCommitDelayed(CHANGE_BY_SEEKBAR_DELAY_MS);
        }
    }
}