Call into ColorDisplayManager for RBC slider range
Test: atest ReduceBrightColorsIntensityPreferenceControllerTest Bug: b/179805222 Change-Id: I0927f41fad27e6b9b54c374e2c6a7cc6e0c5240d
This commit is contained in:
@@ -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;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user