Merge "Call into ColorDisplayManager for RBC slider range" into sc-dev am: 4d5a03da7e

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

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I8322e261f22e96fd9e05700f6aff0d90a94628e3
This commit is contained in:
Sally Yuen
2021-03-02 18:39:46 +00:00
committed by Automerger Merge Worker
2 changed files with 24 additions and 12 deletions

View File

@@ -29,8 +29,11 @@ import com.android.settings.widget.SeekBarPreference;
/** PreferenceController for feature intensity. */ /** PreferenceController for feature intensity. */
public class ReduceBrightColorsIntensityPreferenceController extends SliderPreferenceController { public class ReduceBrightColorsIntensityPreferenceController extends SliderPreferenceController {
private final ColorDisplayManager mColorDisplayManager;
public ReduceBrightColorsIntensityPreferenceController(Context context, String key) { public ReduceBrightColorsIntensityPreferenceController(Context context, String key) {
super(context, key); super(context, key);
mColorDisplayManager = context.getSystemService(ColorDisplayManager.class);
} }
@Override @Override
@@ -59,31 +62,26 @@ public class ReduceBrightColorsIntensityPreferenceController extends SliderPrefe
@Override @Override
public final void updateState(Preference preference) { public final void updateState(Preference preference) {
super.updateState(preference); super.updateState(preference);
preference.setEnabled(Settings.Secure.getInt(mContext.getContentResolver(), preference.setEnabled(mColorDisplayManager.isReduceBrightColorsActivated());
Settings.Secure.REDUCE_BRIGHT_COLORS_ACTIVATED, 0) == 1);
} }
@Override @Override
public int getSliderPosition() { public int getSliderPosition() {
return Settings.Secure.getInt(mContext.getContentResolver(), return mColorDisplayManager.getReduceBrightColorsStrength();
Settings.Secure.REDUCE_BRIGHT_COLORS_LEVEL, 0);
} }
@Override @Override
public boolean setSliderPosition(int position) { public boolean setSliderPosition(int position) {
return Settings.Secure.putInt(mContext.getContentResolver(), return mColorDisplayManager.setReduceBrightColorsStrength(position);
Settings.Secure.REDUCE_BRIGHT_COLORS_LEVEL, position);
} }
@Override @Override
public int getMax() { public int getMax() {
// TODO(b/170970675): Call into CDS to get config max intensity return ColorDisplayManager.getMaximumReduceBrightColorsStrength(mContext);
return 100;
} }
@Override @Override
public int getMin() { public int getMin() {
// TODO(b/170970675): Call into CDS to get config min intensity return ColorDisplayManager.getMinimumReduceBrightColorsStrength(mContext);
return 0;
} }
} }

View File

@@ -24,11 +24,14 @@ import static org.mockito.Mockito.when;
import android.content.Context; import android.content.Context;
import android.content.res.Resources; import android.content.res.Resources;
import android.hardware.display.ColorDisplayManager;
import android.provider.Settings; import android.provider.Settings;
import androidx.test.core.app.ApplicationProvider; import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.android.internal.R;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
@@ -79,8 +82,19 @@ public class ReduceBrightColorsIntensityPreferenceControllerTest {
Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.putInt(mContext.getContentResolver(),
Settings.Secure.REDUCE_BRIGHT_COLORS_ACTIVATED, 1); Settings.Secure.REDUCE_BRIGHT_COLORS_ACTIVATED, 1);
mPreferenceController.onPreferenceChange(/* preference= */ null, 20); mPreferenceController.onPreferenceChange(/* preference= */ null, 20);
assertThat(Settings.Secure.getInt(mContext.getContentResolver(), assertThat(
Settings.Secure.REDUCE_BRIGHT_COLORS_LEVEL, 0)) mContext.getSystemService(
ColorDisplayManager.class).getReduceBrightColorsStrength())
.isEqualTo(20); .isEqualTo(20);
} }
@Test
public void rangeOfSlider_staysWithinValidRange() {
when(mResources.getInteger(
R.integer.config_reduceBrightColorsStrengthMax)).thenReturn(90);
when(mResources.getInteger(
R.integer.config_reduceBrightColorsStrengthMin)).thenReturn(10);
assertThat(mPreferenceController.getMax() - mPreferenceController.getMin())
.isEqualTo(80);
}
} }