Merge "Don't back up Smooth Display if feature flag off" into main
This commit is contained in:
committed by
Android (Google) Code Review
commit
c7de74ac4b
@@ -28,6 +28,7 @@ import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
import androidx.preference.TwoStatePreference;
|
||||
|
||||
import com.android.server.display.feature.flags.Flags;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.PreferenceControllerMixin;
|
||||
import com.android.settingslib.development.DeveloperOptionsPreferenceController;
|
||||
@@ -95,7 +96,9 @@ public class ForcePeakRefreshRatePreferenceController extends DeveloperOptionsPr
|
||||
|
||||
@VisibleForTesting
|
||||
void forcePeakRefreshRate(boolean enable) {
|
||||
final float peakRefreshRate = enable ? Float.POSITIVE_INFINITY : NO_CONFIG;
|
||||
final float valueIfEnabled = Flags.backUpSmoothDisplayAndForcePeakRefreshRate()
|
||||
? Float.POSITIVE_INFINITY : mPeakRefreshRate;
|
||||
final float peakRefreshRate = enable ? valueIfEnabled : NO_CONFIG;
|
||||
Settings.System.putFloat(mContext.getContentResolver(),
|
||||
Settings.System.MIN_REFRESH_RATE, peakRefreshRate);
|
||||
}
|
||||
|
@@ -30,6 +30,7 @@ import androidx.annotation.VisibleForTesting;
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
|
||||
import com.android.server.display.feature.flags.Flags;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.TogglePreferenceController;
|
||||
import com.android.settingslib.core.lifecycle.LifecycleObserver;
|
||||
@@ -107,7 +108,9 @@ public class PeakRefreshRatePreferenceController extends TogglePreferenceControl
|
||||
|
||||
@Override
|
||||
public boolean setChecked(boolean isChecked) {
|
||||
final float peakRefreshRate = isChecked ? Float.POSITIVE_INFINITY : DEFAULT_REFRESH_RATE;
|
||||
final float valueIfChecked = Flags.backUpSmoothDisplayAndForcePeakRefreshRate()
|
||||
? Float.POSITIVE_INFINITY : mPeakRefreshRate;
|
||||
final float peakRefreshRate = isChecked ? valueIfChecked : DEFAULT_REFRESH_RATE;
|
||||
Log.d(TAG, "setChecked to : " + peakRefreshRate);
|
||||
|
||||
return Settings.System.putFloat(
|
||||
|
@@ -25,12 +25,19 @@ import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.content.Context;
|
||||
import android.platform.test.annotations.RequiresFlagsDisabled;
|
||||
import android.platform.test.annotations.RequiresFlagsEnabled;
|
||||
import android.platform.test.flag.junit.CheckFlagsRule;
|
||||
import android.platform.test.flag.junit.DeviceFlagsValueProvider;
|
||||
import android.provider.Settings;
|
||||
|
||||
import androidx.preference.PreferenceScreen;
|
||||
import androidx.preference.SwitchPreference;
|
||||
|
||||
import com.android.server.display.feature.flags.Flags;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
@@ -50,6 +57,9 @@ public class ForcePeakRefreshRatePreferenceControllerTest {
|
||||
private Context mContext;
|
||||
private ForcePeakRefreshRatePreferenceController mController;
|
||||
|
||||
@Rule
|
||||
public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
@@ -61,7 +71,19 @@ public class ForcePeakRefreshRatePreferenceControllerTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onPreferenceChange_preferenceChecked_shouldEnableForcePeak() {
|
||||
@RequiresFlagsDisabled(Flags.FLAG_BACK_UP_SMOOTH_DISPLAY_AND_FORCE_PEAK_REFRESH_RATE)
|
||||
public void onPreferenceChange_preferenceChecked_shouldEnableForcePeak_featureFlagOff() {
|
||||
mController.mPeakRefreshRate = 88f;
|
||||
|
||||
mController.onPreferenceChange(mPreference, true);
|
||||
|
||||
assertThat(Settings.System.getFloat(mContext.getContentResolver(),
|
||||
Settings.System.MIN_REFRESH_RATE, NO_CONFIG)).isEqualTo(88f);
|
||||
}
|
||||
|
||||
@Test
|
||||
@RequiresFlagsEnabled(Flags.FLAG_BACK_UP_SMOOTH_DISPLAY_AND_FORCE_PEAK_REFRESH_RATE)
|
||||
public void onPreferenceChange_preferenceChecked_shouldEnableForcePeak_featureFlagOn() {
|
||||
mController.mPeakRefreshRate = 88f;
|
||||
|
||||
mController.onPreferenceChange(mPreference, true);
|
||||
@@ -88,6 +110,7 @@ public class ForcePeakRefreshRatePreferenceControllerTest {
|
||||
mController.updateState(mPreference);
|
||||
|
||||
verify(mPreference).setChecked(true);
|
||||
assertThat(mController.isForcePeakRefreshRateEnabled()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -98,6 +121,7 @@ public class ForcePeakRefreshRatePreferenceControllerTest {
|
||||
mController.updateState(mPreference);
|
||||
|
||||
verify(mPreference).setChecked(false);
|
||||
assertThat(mController.isForcePeakRefreshRateEnabled()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@@ -25,11 +25,18 @@ import static com.google.common.truth.Truth.assertThat;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.content.Context;
|
||||
import android.platform.test.annotations.RequiresFlagsDisabled;
|
||||
import android.platform.test.annotations.RequiresFlagsEnabled;
|
||||
import android.platform.test.flag.junit.CheckFlagsRule;
|
||||
import android.platform.test.flag.junit.DeviceFlagsValueProvider;
|
||||
import android.provider.Settings;
|
||||
|
||||
import androidx.preference.SwitchPreference;
|
||||
|
||||
import com.android.server.display.feature.flags.Flags;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
@@ -49,6 +56,9 @@ public class PeakRefreshRatePreferenceControllerTest {
|
||||
private PeakRefreshRatePreferenceController.DeviceConfigDisplaySettings
|
||||
mDeviceConfigDisplaySettings;
|
||||
|
||||
@Rule
|
||||
public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
@@ -79,7 +89,19 @@ public class PeakRefreshRatePreferenceControllerTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setChecked_enableSmoothDisplay_setRefreshRateToInfinity() {
|
||||
@RequiresFlagsDisabled(Flags.FLAG_BACK_UP_SMOOTH_DISPLAY_AND_FORCE_PEAK_REFRESH_RATE)
|
||||
public void setChecked_enableSmoothDisplay_featureFlagOff() {
|
||||
mController.mPeakRefreshRate = 88f;
|
||||
mController.setChecked(true);
|
||||
|
||||
assertThat(Settings.System.getFloat(mContext.getContentResolver(),
|
||||
Settings.System.PEAK_REFRESH_RATE, DEFAULT_REFRESH_RATE))
|
||||
.isEqualTo(88f);
|
||||
}
|
||||
|
||||
@Test
|
||||
@RequiresFlagsEnabled(Flags.FLAG_BACK_UP_SMOOTH_DISPLAY_AND_FORCE_PEAK_REFRESH_RATE)
|
||||
public void setChecked_enableSmoothDisplay_featureFlagOn() {
|
||||
mController.mPeakRefreshRate = 88f;
|
||||
mController.setChecked(true);
|
||||
|
||||
@@ -100,14 +122,16 @@ public class PeakRefreshRatePreferenceControllerTest {
|
||||
|
||||
@Test
|
||||
public void isChecked_enableSmoothDisplay_returnTrue() {
|
||||
enableSmoothDisplayPreference();
|
||||
mController.mPeakRefreshRate = 88f;
|
||||
mController.setChecked(true);
|
||||
|
||||
assertThat(mController.isChecked()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isChecked_disableSmoothDisplay_returnFalse() {
|
||||
disableSmoothDisplayPreference();
|
||||
mController.mPeakRefreshRate = 88f;
|
||||
mController.setChecked(false);
|
||||
|
||||
assertThat(mController.isChecked()).isFalse();
|
||||
}
|
||||
@@ -128,22 +152,4 @@ public class PeakRefreshRatePreferenceControllerTest {
|
||||
|
||||
assertThat(mController.isChecked()).isFalse();
|
||||
}
|
||||
|
||||
private void enableSmoothDisplayPreference() {
|
||||
mController.mPeakRefreshRate = 88f;
|
||||
|
||||
Settings.System.putFloat(
|
||||
mContext.getContentResolver(),
|
||||
Settings.System.PEAK_REFRESH_RATE,
|
||||
mController.mPeakRefreshRate);
|
||||
}
|
||||
|
||||
private void disableSmoothDisplayPreference() {
|
||||
mController.mPeakRefreshRate = 88f;
|
||||
|
||||
Settings.System.putFloat(
|
||||
mContext.getContentResolver(),
|
||||
Settings.System.PEAK_REFRESH_RATE,
|
||||
DEFAULT_REFRESH_RATE);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user