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

Commit a9f09035 authored by Ben Murdoch's avatar Ben Murdoch Committed by Android (Google) Code Review
Browse files

Merge "Correctly select peak refresh rate." into sc-dev

parents 63ed1b3f 38567b98
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -122,7 +122,7 @@ public class ForcePeakRefreshRatePreferenceController extends DeveloperOptionsPr
    private float findPeakRefreshRate(Display.Mode[] modes) {
        float peakRefreshRate = DEFAULT_REFRESH_RATE;
        for (Display.Mode mode : modes) {
            if (Math.round(mode.getRefreshRate()) > DEFAULT_REFRESH_RATE) {
            if (Math.round(mode.getRefreshRate()) > peakRefreshRate) {
                peakRefreshRate = mode.getRefreshRate();
            }
        }
+3 −2
Original line number Diff line number Diff line
@@ -129,10 +129,11 @@ public class PeakRefreshRatePreferenceController extends TogglePreferenceControl
        mDeviceConfigDisplaySettings.stopListening();
    }

    private float findPeakRefreshRate(Display.Mode[] modes) {
    @VisibleForTesting
    float findPeakRefreshRate(Display.Mode[] modes) {
        float peakRefreshRate = DEFAULT_REFRESH_RATE;
        for (Display.Mode mode : modes) {
            if (Math.round(mode.getRefreshRate()) > DEFAULT_REFRESH_RATE) {
            if (Math.round(mode.getRefreshRate()) > peakRefreshRate) {
                peakRefreshRate = mode.getRefreshRate();
            }
        }
+16 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import static com.google.common.truth.Truth.assertThat;

import android.content.Context;
import android.provider.Settings;
import android.view.Display;

import androidx.preference.SwitchPreference;

@@ -102,6 +103,21 @@ public class PeakRefreshRatePreferenceControllerTest {
        assertThat(mController.isChecked()).isFalse();
    }

    @Test
    public void findPeakRefreshRate_moreThanOneHigherThanDefault() {
        Display.Mode lower = new Display.Mode(0, 0, 0, DEFAULT_REFRESH_RATE - 1);
        Display.Mode def = new Display.Mode(0, 0, 0, DEFAULT_REFRESH_RATE);
        Display.Mode higher = new Display.Mode(0, 0, 0, DEFAULT_REFRESH_RATE + 1);
        Display.Mode higher1 = new Display.Mode(0, 0, 0, DEFAULT_REFRESH_RATE + 2);

        assertThat(mController.findPeakRefreshRate(
                new Display.Mode[] {lower, def, higher, higher1}))
                .isEqualTo(DEFAULT_REFRESH_RATE + 2);
        assertThat(mController.findPeakRefreshRate(
                new Display.Mode[] {lower, def, higher1, higher}))
                .isEqualTo(DEFAULT_REFRESH_RATE + 2);
    }

    private void enableSmoothDisplayPreference() {
        mController.mPeakRefreshRate = 88f;