Loading src/com/android/settings/development/ForcePeakRefreshRatePreferenceController.java +11 −39 Original line number Diff line number Diff line Loading @@ -16,17 +16,18 @@ package com.android.settings.development; import static com.android.internal.display.RefreshRateSettingsUtils.DEFAULT_REFRESH_RATE; import android.content.Context; import android.hardware.display.DisplayManager; import android.provider.Settings; import android.util.Log; import android.view.Display; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import androidx.preference.SwitchPreference; import com.android.internal.display.RefreshRateSettingsUtils; import com.android.settings.R; import com.android.settings.core.PreferenceControllerMixin; import com.android.settingslib.development.DeveloperOptionsPreferenceController; Loading @@ -34,12 +35,6 @@ import com.android.settingslib.development.DeveloperOptionsPreferenceController; public class ForcePeakRefreshRatePreferenceController extends DeveloperOptionsPreferenceController implements Preference.OnPreferenceChangeListener, PreferenceControllerMixin { @VisibleForTesting static float DEFAULT_REFRESH_RATE = 60f; @VisibleForTesting static float NO_CONFIG = 0f; @VisibleForTesting float mPeakRefreshRate; Loading @@ -48,17 +43,8 @@ public class ForcePeakRefreshRatePreferenceController extends DeveloperOptionsPr public ForcePeakRefreshRatePreferenceController(Context context) { super(context); final DisplayManager dm = context.getSystemService(DisplayManager.class); final Display display = dm.getDisplay(Display.DEFAULT_DISPLAY); if (display == null) { Log.w(TAG, "No valid default display device"); mPeakRefreshRate = DEFAULT_REFRESH_RATE; } else { mPeakRefreshRate = findPeakRefreshRate(display.getSupportedModes()); } mPeakRefreshRate = RefreshRateSettingsUtils.findHighestRefreshRateForDefaultDisplay(context); Log.d(TAG, "DEFAULT_REFRESH_RATE : " + DEFAULT_REFRESH_RATE + " mPeakRefreshRate : " + mPeakRefreshRate); } Loading Loading @@ -99,34 +85,20 @@ public class ForcePeakRefreshRatePreferenceController extends DeveloperOptionsPr @Override protected void onDeveloperOptionsSwitchDisabled() { super.onDeveloperOptionsSwitchDisabled(); Settings.System.putFloat(mContext.getContentResolver(), Settings.System.MIN_REFRESH_RATE, NO_CONFIG); Settings.System.putInt(mContext.getContentResolver(), Settings.System.FORCE_PEAK_REFRESH_RATE, 0); ((SwitchPreference) mPreference).setChecked(false); } @VisibleForTesting void forcePeakRefreshRate(boolean enable) { final float peakRefreshRate = enable ? mPeakRefreshRate : NO_CONFIG; Settings.System.putFloat(mContext.getContentResolver(), Settings.System.MIN_REFRESH_RATE, peakRefreshRate); Settings.System.putInt(mContext.getContentResolver(), Settings.System.FORCE_PEAK_REFRESH_RATE, enable ? 1 : 0); } boolean isForcePeakRefreshRateEnabled() { final float peakRefreshRate = Settings.System.getFloat(mContext.getContentResolver(), Settings.System.MIN_REFRESH_RATE, NO_CONFIG); return peakRefreshRate >= mPeakRefreshRate; } private float findPeakRefreshRate(Display.Mode[] modes) { float peakRefreshRate = DEFAULT_REFRESH_RATE; for (Display.Mode mode : modes) { if (Math.round(mode.getRefreshRate()) > peakRefreshRate) { peakRefreshRate = mode.getRefreshRate(); } } return peakRefreshRate; return Settings.System.getInt(mContext.getContentResolver(), Settings.System.FORCE_PEAK_REFRESH_RATE, 0) == 1; } } src/com/android/settings/display/PeakRefreshRatePreferenceController.java +10 −47 Original line number Diff line number Diff line Loading @@ -16,18 +16,20 @@ package com.android.settings.display; import static com.android.internal.display.RefreshRateSettingsUtils.DEFAULT_REFRESH_RATE; import android.content.Context; import android.hardware.display.DisplayManager; import android.os.Handler; import android.provider.DeviceConfig; import android.provider.Settings; import android.util.Log; import android.view.Display; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import com.android.internal.display.RefreshRateSettingsUtils; import com.android.settings.R; import com.android.settings.core.TogglePreferenceController; import com.android.settingslib.core.lifecycle.LifecycleObserver; Loading @@ -39,8 +41,6 @@ import java.util.concurrent.Executor; public class PeakRefreshRatePreferenceController extends TogglePreferenceController implements LifecycleObserver, OnStart, OnStop { @VisibleForTesting static float DEFAULT_REFRESH_RATE = 60f; @VisibleForTesting float mPeakRefreshRate; private static final String TAG = "RefreshRatePrefCtr"; Loading @@ -65,17 +65,8 @@ public class PeakRefreshRatePreferenceController extends TogglePreferenceControl updateState(mPreference); } }; final DisplayManager dm = mContext.getSystemService(DisplayManager.class); final Display display = dm.getDisplay(Display.DEFAULT_DISPLAY); if (display == null) { Log.w(TAG, "No valid default display device"); mPeakRefreshRate = DEFAULT_REFRESH_RATE; } else { mPeakRefreshRate = findPeakRefreshRate(display.getSupportedModes()); } mPeakRefreshRate = RefreshRateSettingsUtils.findHighestRefreshRateForDefaultDisplay(context); Log.d( TAG, "DEFAULT_REFRESH_RATE : " Loading Loading @@ -106,21 +97,15 @@ public class PeakRefreshRatePreferenceController extends TogglePreferenceControl @Override public boolean isChecked() { final float peakRefreshRate = Settings.System.getFloat( mContext.getContentResolver(), Settings.System.PEAK_REFRESH_RATE, getDefaultPeakRefreshRate()); return Math.round(peakRefreshRate) == Math.round(mPeakRefreshRate); return Settings.System.getInt(mContext.getContentResolver(), Settings.System.SMOOTH_DISPLAY, 0) == 1; } @Override public boolean setChecked(boolean isChecked) { final float peakRefreshRate = isChecked ? mPeakRefreshRate : DEFAULT_REFRESH_RATE; Log.d(TAG, "setChecked to : " + peakRefreshRate); return Settings.System.putFloat( mContext.getContentResolver(), Settings.System.PEAK_REFRESH_RATE, peakRefreshRate); Log.d(TAG, "setChecked to : " + isChecked); return Settings.System.putInt( mContext.getContentResolver(), Settings.System.SMOOTH_DISPLAY, isChecked ? 1 : 0); } @Override Loading @@ -138,17 +123,6 @@ public class PeakRefreshRatePreferenceController extends TogglePreferenceControl mDeviceConfigDisplaySettings.stopListening(); } @VisibleForTesting float findPeakRefreshRate(Display.Mode[] modes) { float peakRefreshRate = DEFAULT_REFRESH_RATE; for (Display.Mode mode : modes) { if (Math.round(mode.getRefreshRate()) > peakRefreshRate) { peakRefreshRate = mode.getRefreshRate(); } } return peakRefreshRate; } private class DeviceConfigDisplaySettings implements DeviceConfig.OnPropertiesChangedListener, Executor { public void startListening() { Loading Loading @@ -191,15 +165,4 @@ public class PeakRefreshRatePreferenceController extends TogglePreferenceControl } } } private float getDefaultPeakRefreshRate() { float defaultPeakRefreshRate = mDeviceConfigDisplaySettings.getDefaultPeakRefreshRate(); if (defaultPeakRefreshRate == INVALIDATE_REFRESH_RATE) { defaultPeakRefreshRate = (float) mContext.getResources().getInteger( com.android.internal.R.integer.config_defaultPeakRefreshRate); } Log.d(TAG, "DeviceConfig getDefaultPeakRefreshRate : " + defaultPeakRefreshRate); return defaultPeakRefreshRate; } } tests/robotests/src/com/android/settings/development/ForcePeakRefreshRatePreferenceControllerTest.java +8 −14 Original line number Diff line number Diff line Loading @@ -16,8 +16,8 @@ package com.android.settings.development; import static com.android.settings.development.ForcePeakRefreshRatePreferenceController.DEFAULT_REFRESH_RATE; import static com.android.settings.development.ForcePeakRefreshRatePreferenceController.NO_CONFIG; import static com.android.internal.display.RefreshRateSettingsUtils.DEFAULT_REFRESH_RATE; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.verify; Loading @@ -38,8 +38,6 @@ import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import android.util.Log; @RunWith(RobolectricTestRunner.class) public class ForcePeakRefreshRatePreferenceControllerTest { Loading @@ -63,22 +61,18 @@ public class ForcePeakRefreshRatePreferenceControllerTest { @Test public void onPreferenceChange_preferenceChecked_shouldEnableForcePeak() { mController.mPeakRefreshRate = 88f; mController.onPreferenceChange(mPreference, true); assertThat(Settings.System.getFloat(mContext.getContentResolver(), Settings.System.MIN_REFRESH_RATE, NO_CONFIG)).isEqualTo(88f); assertThat(Settings.System.getInt(mContext.getContentResolver(), Settings.System.FORCE_PEAK_REFRESH_RATE, -1)).isEqualTo(1); } @Test public void onPreferenceChange_preferenceUnchecked_shouldDisableForcePeak() { mController.mPeakRefreshRate = 88f; mController.onPreferenceChange(mPreference, false); assertThat(Settings.System.getFloat(mContext.getContentResolver(), Settings.System.MIN_REFRESH_RATE, NO_CONFIG)).isEqualTo(NO_CONFIG); assertThat(Settings.System.getInt(mContext.getContentResolver(), Settings.System.FORCE_PEAK_REFRESH_RATE, -1)).isEqualTo(0); } @Test Loading Loading @@ -125,8 +119,8 @@ public class ForcePeakRefreshRatePreferenceControllerTest { public void onDeveloperOptionsDisabled_shouldDisablePreference() { mController.onDeveloperOptionsSwitchDisabled(); assertThat(Settings.System.getFloat(mContext.getContentResolver(), Settings.System.MIN_REFRESH_RATE, -1f)).isEqualTo(NO_CONFIG); assertThat(Settings.System.getInt(mContext.getContentResolver(), Settings.System.FORCE_PEAK_REFRESH_RATE, -1)).isEqualTo(0); assertThat(mPreference.isChecked()).isFalse(); assertThat(mPreference.isEnabled()).isFalse(); } Loading tests/robotests/src/com/android/settings/display/PeakRefreshRatePreferenceControllerTest.java +15 −33 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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 Loading @@ -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); } } Loading
src/com/android/settings/development/ForcePeakRefreshRatePreferenceController.java +11 −39 Original line number Diff line number Diff line Loading @@ -16,17 +16,18 @@ package com.android.settings.development; import static com.android.internal.display.RefreshRateSettingsUtils.DEFAULT_REFRESH_RATE; import android.content.Context; import android.hardware.display.DisplayManager; import android.provider.Settings; import android.util.Log; import android.view.Display; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import androidx.preference.SwitchPreference; import com.android.internal.display.RefreshRateSettingsUtils; import com.android.settings.R; import com.android.settings.core.PreferenceControllerMixin; import com.android.settingslib.development.DeveloperOptionsPreferenceController; Loading @@ -34,12 +35,6 @@ import com.android.settingslib.development.DeveloperOptionsPreferenceController; public class ForcePeakRefreshRatePreferenceController extends DeveloperOptionsPreferenceController implements Preference.OnPreferenceChangeListener, PreferenceControllerMixin { @VisibleForTesting static float DEFAULT_REFRESH_RATE = 60f; @VisibleForTesting static float NO_CONFIG = 0f; @VisibleForTesting float mPeakRefreshRate; Loading @@ -48,17 +43,8 @@ public class ForcePeakRefreshRatePreferenceController extends DeveloperOptionsPr public ForcePeakRefreshRatePreferenceController(Context context) { super(context); final DisplayManager dm = context.getSystemService(DisplayManager.class); final Display display = dm.getDisplay(Display.DEFAULT_DISPLAY); if (display == null) { Log.w(TAG, "No valid default display device"); mPeakRefreshRate = DEFAULT_REFRESH_RATE; } else { mPeakRefreshRate = findPeakRefreshRate(display.getSupportedModes()); } mPeakRefreshRate = RefreshRateSettingsUtils.findHighestRefreshRateForDefaultDisplay(context); Log.d(TAG, "DEFAULT_REFRESH_RATE : " + DEFAULT_REFRESH_RATE + " mPeakRefreshRate : " + mPeakRefreshRate); } Loading Loading @@ -99,34 +85,20 @@ public class ForcePeakRefreshRatePreferenceController extends DeveloperOptionsPr @Override protected void onDeveloperOptionsSwitchDisabled() { super.onDeveloperOptionsSwitchDisabled(); Settings.System.putFloat(mContext.getContentResolver(), Settings.System.MIN_REFRESH_RATE, NO_CONFIG); Settings.System.putInt(mContext.getContentResolver(), Settings.System.FORCE_PEAK_REFRESH_RATE, 0); ((SwitchPreference) mPreference).setChecked(false); } @VisibleForTesting void forcePeakRefreshRate(boolean enable) { final float peakRefreshRate = enable ? mPeakRefreshRate : NO_CONFIG; Settings.System.putFloat(mContext.getContentResolver(), Settings.System.MIN_REFRESH_RATE, peakRefreshRate); Settings.System.putInt(mContext.getContentResolver(), Settings.System.FORCE_PEAK_REFRESH_RATE, enable ? 1 : 0); } boolean isForcePeakRefreshRateEnabled() { final float peakRefreshRate = Settings.System.getFloat(mContext.getContentResolver(), Settings.System.MIN_REFRESH_RATE, NO_CONFIG); return peakRefreshRate >= mPeakRefreshRate; } private float findPeakRefreshRate(Display.Mode[] modes) { float peakRefreshRate = DEFAULT_REFRESH_RATE; for (Display.Mode mode : modes) { if (Math.round(mode.getRefreshRate()) > peakRefreshRate) { peakRefreshRate = mode.getRefreshRate(); } } return peakRefreshRate; return Settings.System.getInt(mContext.getContentResolver(), Settings.System.FORCE_PEAK_REFRESH_RATE, 0) == 1; } }
src/com/android/settings/display/PeakRefreshRatePreferenceController.java +10 −47 Original line number Diff line number Diff line Loading @@ -16,18 +16,20 @@ package com.android.settings.display; import static com.android.internal.display.RefreshRateSettingsUtils.DEFAULT_REFRESH_RATE; import android.content.Context; import android.hardware.display.DisplayManager; import android.os.Handler; import android.provider.DeviceConfig; import android.provider.Settings; import android.util.Log; import android.view.Display; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import com.android.internal.display.RefreshRateSettingsUtils; import com.android.settings.R; import com.android.settings.core.TogglePreferenceController; import com.android.settingslib.core.lifecycle.LifecycleObserver; Loading @@ -39,8 +41,6 @@ import java.util.concurrent.Executor; public class PeakRefreshRatePreferenceController extends TogglePreferenceController implements LifecycleObserver, OnStart, OnStop { @VisibleForTesting static float DEFAULT_REFRESH_RATE = 60f; @VisibleForTesting float mPeakRefreshRate; private static final String TAG = "RefreshRatePrefCtr"; Loading @@ -65,17 +65,8 @@ public class PeakRefreshRatePreferenceController extends TogglePreferenceControl updateState(mPreference); } }; final DisplayManager dm = mContext.getSystemService(DisplayManager.class); final Display display = dm.getDisplay(Display.DEFAULT_DISPLAY); if (display == null) { Log.w(TAG, "No valid default display device"); mPeakRefreshRate = DEFAULT_REFRESH_RATE; } else { mPeakRefreshRate = findPeakRefreshRate(display.getSupportedModes()); } mPeakRefreshRate = RefreshRateSettingsUtils.findHighestRefreshRateForDefaultDisplay(context); Log.d( TAG, "DEFAULT_REFRESH_RATE : " Loading Loading @@ -106,21 +97,15 @@ public class PeakRefreshRatePreferenceController extends TogglePreferenceControl @Override public boolean isChecked() { final float peakRefreshRate = Settings.System.getFloat( mContext.getContentResolver(), Settings.System.PEAK_REFRESH_RATE, getDefaultPeakRefreshRate()); return Math.round(peakRefreshRate) == Math.round(mPeakRefreshRate); return Settings.System.getInt(mContext.getContentResolver(), Settings.System.SMOOTH_DISPLAY, 0) == 1; } @Override public boolean setChecked(boolean isChecked) { final float peakRefreshRate = isChecked ? mPeakRefreshRate : DEFAULT_REFRESH_RATE; Log.d(TAG, "setChecked to : " + peakRefreshRate); return Settings.System.putFloat( mContext.getContentResolver(), Settings.System.PEAK_REFRESH_RATE, peakRefreshRate); Log.d(TAG, "setChecked to : " + isChecked); return Settings.System.putInt( mContext.getContentResolver(), Settings.System.SMOOTH_DISPLAY, isChecked ? 1 : 0); } @Override Loading @@ -138,17 +123,6 @@ public class PeakRefreshRatePreferenceController extends TogglePreferenceControl mDeviceConfigDisplaySettings.stopListening(); } @VisibleForTesting float findPeakRefreshRate(Display.Mode[] modes) { float peakRefreshRate = DEFAULT_REFRESH_RATE; for (Display.Mode mode : modes) { if (Math.round(mode.getRefreshRate()) > peakRefreshRate) { peakRefreshRate = mode.getRefreshRate(); } } return peakRefreshRate; } private class DeviceConfigDisplaySettings implements DeviceConfig.OnPropertiesChangedListener, Executor { public void startListening() { Loading Loading @@ -191,15 +165,4 @@ public class PeakRefreshRatePreferenceController extends TogglePreferenceControl } } } private float getDefaultPeakRefreshRate() { float defaultPeakRefreshRate = mDeviceConfigDisplaySettings.getDefaultPeakRefreshRate(); if (defaultPeakRefreshRate == INVALIDATE_REFRESH_RATE) { defaultPeakRefreshRate = (float) mContext.getResources().getInteger( com.android.internal.R.integer.config_defaultPeakRefreshRate); } Log.d(TAG, "DeviceConfig getDefaultPeakRefreshRate : " + defaultPeakRefreshRate); return defaultPeakRefreshRate; } }
tests/robotests/src/com/android/settings/development/ForcePeakRefreshRatePreferenceControllerTest.java +8 −14 Original line number Diff line number Diff line Loading @@ -16,8 +16,8 @@ package com.android.settings.development; import static com.android.settings.development.ForcePeakRefreshRatePreferenceController.DEFAULT_REFRESH_RATE; import static com.android.settings.development.ForcePeakRefreshRatePreferenceController.NO_CONFIG; import static com.android.internal.display.RefreshRateSettingsUtils.DEFAULT_REFRESH_RATE; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.verify; Loading @@ -38,8 +38,6 @@ import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import android.util.Log; @RunWith(RobolectricTestRunner.class) public class ForcePeakRefreshRatePreferenceControllerTest { Loading @@ -63,22 +61,18 @@ public class ForcePeakRefreshRatePreferenceControllerTest { @Test public void onPreferenceChange_preferenceChecked_shouldEnableForcePeak() { mController.mPeakRefreshRate = 88f; mController.onPreferenceChange(mPreference, true); assertThat(Settings.System.getFloat(mContext.getContentResolver(), Settings.System.MIN_REFRESH_RATE, NO_CONFIG)).isEqualTo(88f); assertThat(Settings.System.getInt(mContext.getContentResolver(), Settings.System.FORCE_PEAK_REFRESH_RATE, -1)).isEqualTo(1); } @Test public void onPreferenceChange_preferenceUnchecked_shouldDisableForcePeak() { mController.mPeakRefreshRate = 88f; mController.onPreferenceChange(mPreference, false); assertThat(Settings.System.getFloat(mContext.getContentResolver(), Settings.System.MIN_REFRESH_RATE, NO_CONFIG)).isEqualTo(NO_CONFIG); assertThat(Settings.System.getInt(mContext.getContentResolver(), Settings.System.FORCE_PEAK_REFRESH_RATE, -1)).isEqualTo(0); } @Test Loading Loading @@ -125,8 +119,8 @@ public class ForcePeakRefreshRatePreferenceControllerTest { public void onDeveloperOptionsDisabled_shouldDisablePreference() { mController.onDeveloperOptionsSwitchDisabled(); assertThat(Settings.System.getFloat(mContext.getContentResolver(), Settings.System.MIN_REFRESH_RATE, -1f)).isEqualTo(NO_CONFIG); assertThat(Settings.System.getInt(mContext.getContentResolver(), Settings.System.FORCE_PEAK_REFRESH_RATE, -1)).isEqualTo(0); assertThat(mPreference.isChecked()).isFalse(); assertThat(mPreference.isEnabled()).isFalse(); } Loading
tests/robotests/src/com/android/settings/display/PeakRefreshRatePreferenceControllerTest.java +15 −33 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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 Loading @@ -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); } }