Merge "Correctly select peak refresh rate." into sc-dev
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
|
@@ -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();
|
||||
}
|
||||
}
|
||||
|
@@ -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;
|
||||
|
||||
|
Reference in New Issue
Block a user