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

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

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I4d18a7a2e3e57c06f3e2d3b0e887237eda483da6
This commit is contained in:
Ben Murdoch
2021-02-22 13:05:35 +00:00
committed by Automerger Merge Worker
3 changed files with 20 additions and 3 deletions

View File

@@ -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();
}
}

View File

@@ -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();
}
}

View File

@@ -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;