Back up the smooth display setting
- Convert "Smooth display" and "Force peak refresh rate" to a boolean. If they are a boolean, they can be backed up without being device-specific. - Back up "Smooth display" and add a validator - Upgrade the settings in SettingsProvider - Create a utils class - RefreshRateSettingsUtils Bug: 211737588 Test: atest DisplayModeDirectorTest Test: atest ForcePeakRefreshRatePreferenceControllerTest Test: atest PeakRefreshRatePreferenceControllerTest Test: atest SettingsBackupTest Test: atest SettingsProviderTest Change-Id: Ib2cb2dd100f06f5452083b7606109a486e795a0e Merged-In: Ib2cb2dd100f06f5452083b7606109a486e795a0e
This commit is contained in:
@@ -16,15 +16,14 @@
|
||||
|
||||
package com.android.settings.display;
|
||||
|
||||
import static com.android.internal.display.RefreshRateSettingsUtils.DEFAULT_REFRESH_RATE;
|
||||
import static com.android.settings.core.BasePreferenceController.AVAILABLE;
|
||||
import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
|
||||
import static com.android.settings.display.PeakRefreshRatePreferenceController.DEFAULT_REFRESH_RATE;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import android.content.Context;
|
||||
import android.provider.Settings;
|
||||
import android.view.Display;
|
||||
|
||||
import androidx.preference.SwitchPreference;
|
||||
|
||||
@@ -70,23 +69,21 @@ public class PeakRefreshRatePreferenceControllerTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setChecked_enableSmoothDisplay_setCurrentRefreshRate() {
|
||||
mController.mPeakRefreshRate = 88f;
|
||||
public void setChecked_enableSmoothDisplay() {
|
||||
mController.setChecked(true);
|
||||
|
||||
assertThat(Settings.System.getFloat(mContext.getContentResolver(),
|
||||
Settings.System.PEAK_REFRESH_RATE, DEFAULT_REFRESH_RATE))
|
||||
.isEqualTo(88.0f);
|
||||
assertThat(Settings.System.getInt(mContext.getContentResolver(),
|
||||
Settings.System.SMOOTH_DISPLAY, -1))
|
||||
.isEqualTo(1);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setChecked_disableSmoothDisplay_setDefaultRefreshRate() {
|
||||
mController.mPeakRefreshRate = 88f;
|
||||
public void setChecked_disableSmoothDisplay() {
|
||||
mController.setChecked(false);
|
||||
|
||||
assertThat(Settings.System.getFloat(mContext.getContentResolver(),
|
||||
Settings.System.PEAK_REFRESH_RATE, DEFAULT_REFRESH_RATE))
|
||||
.isEqualTo(DEFAULT_REFRESH_RATE);
|
||||
assertThat(Settings.System.getInt(mContext.getContentResolver(),
|
||||
Settings.System.SMOOTH_DISPLAY, -1))
|
||||
.isEqualTo(0);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -103,36 +100,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;
|
||||
|
||||
Settings.System.putFloat(
|
||||
Settings.System.putInt(
|
||||
mContext.getContentResolver(),
|
||||
Settings.System.PEAK_REFRESH_RATE,
|
||||
mController.mPeakRefreshRate);
|
||||
Settings.System.SMOOTH_DISPLAY,
|
||||
1);
|
||||
}
|
||||
|
||||
private void disableSmoothDisplayPreference() {
|
||||
mController.mPeakRefreshRate = 88f;
|
||||
|
||||
Settings.System.putFloat(
|
||||
Settings.System.putInt(
|
||||
mContext.getContentResolver(),
|
||||
Settings.System.PEAK_REFRESH_RATE,
|
||||
DEFAULT_REFRESH_RATE);
|
||||
Settings.System.SMOOTH_DISPLAY,
|
||||
0);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user