Change automatic brightness summary to absolute brightness.

The brightness slider now always represents the absolute brightness,
including when adaptive brightness is enabled. This changes the summary
of the brightness setting to reflect that.

Bug: 72627086
Test: ROBOTEST_FILTER=BrightnessLevelPreferenceControllerTest m -j RunSettingsRoboTests
Change-Id: I76eed8aa9ee88fe6b70e30d54bfc0d18d1141377
This commit is contained in:
Michael Wright
2018-01-29 16:52:47 +00:00
parent 9024b4eb15
commit 30b66159aa
2 changed files with 8 additions and 23 deletions

View File

@@ -45,7 +45,6 @@ public class BrightnessLevelPreferenceController extends AbstractPreferenceContr
private static final String TAG = "BrightnessPrefCtrl"; private static final String TAG = "BrightnessPrefCtrl";
private static final String KEY_BRIGHTNESS = "brightness"; private static final String KEY_BRIGHTNESS = "brightness";
private static final Uri BRIGHTNESS_MODE_URI;
private static final Uri BRIGHTNESS_URI; private static final Uri BRIGHTNESS_URI;
private static final Uri BRIGHTNESS_FOR_VR_URI; private static final Uri BRIGHTNESS_FOR_VR_URI;
private static final Uri BRIGHTNESS_ADJ_URI; private static final Uri BRIGHTNESS_ADJ_URI;
@@ -59,7 +58,6 @@ public class BrightnessLevelPreferenceController extends AbstractPreferenceContr
private Preference mPreference; private Preference mPreference;
static { static {
BRIGHTNESS_MODE_URI = System.getUriFor(System.SCREEN_BRIGHTNESS_MODE);
BRIGHTNESS_URI = System.getUriFor(System.SCREEN_BRIGHTNESS); BRIGHTNESS_URI = System.getUriFor(System.SCREEN_BRIGHTNESS);
BRIGHTNESS_FOR_VR_URI = System.getUriFor(System.SCREEN_BRIGHTNESS_FOR_VR); BRIGHTNESS_FOR_VR_URI = System.getUriFor(System.SCREEN_BRIGHTNESS_FOR_VR);
BRIGHTNESS_ADJ_URI = System.getUriFor(System.SCREEN_AUTO_BRIGHTNESS_ADJ); BRIGHTNESS_ADJ_URI = System.getUriFor(System.SCREEN_AUTO_BRIGHTNESS_ADJ);
@@ -112,10 +110,8 @@ public class BrightnessLevelPreferenceController extends AbstractPreferenceContr
public void updateState(Preference preference) { public void updateState(Preference preference) {
updatedSummary(preference); updatedSummary(preference);
} }
@Override @Override
public void onStart() { public void onStart() {
mContentResolver.registerContentObserver(BRIGHTNESS_MODE_URI, false, mBrightnessObserver);
mContentResolver.registerContentObserver(BRIGHTNESS_URI, false, mBrightnessObserver); mContentResolver.registerContentObserver(BRIGHTNESS_URI, false, mBrightnessObserver);
mContentResolver.registerContentObserver(BRIGHTNESS_FOR_VR_URI, false, mBrightnessObserver); mContentResolver.registerContentObserver(BRIGHTNESS_FOR_VR_URI, false, mBrightnessObserver);
mContentResolver.registerContentObserver(BRIGHTNESS_ADJ_URI, false, mBrightnessObserver); mContentResolver.registerContentObserver(BRIGHTNESS_ADJ_URI, false, mBrightnessObserver);
@@ -137,19 +133,12 @@ public class BrightnessLevelPreferenceController extends AbstractPreferenceContr
final double value = System.getInt(mContentResolver, System.SCREEN_BRIGHTNESS_FOR_VR, final double value = System.getInt(mContentResolver, System.SCREEN_BRIGHTNESS_FOR_VR,
mMaxBrightness); mMaxBrightness);
return getPercentage(value, mMinVrBrightness, mMaxVrBrightness); return getPercentage(value, mMinVrBrightness, mMaxVrBrightness);
} } else {
final int brightnessMode = Settings.System.getInt(mContentResolver,
System.SCREEN_BRIGHTNESS_MODE, System.SCREEN_BRIGHTNESS_MODE_MANUAL);
if (brightnessMode == System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC) {
final float value = Settings.System.getFloat(mContentResolver,
System.SCREEN_AUTO_BRIGHTNESS_ADJ, 0);
// auto brightness is between -1 and 1
return getPercentage(value, -1, 1);
}
final double value = Settings.System.getInt(mContentResolver, System.SCREEN_BRIGHTNESS, final double value = Settings.System.getInt(mContentResolver, System.SCREEN_BRIGHTNESS,
mMinBrightness); mMinBrightness);
return getPercentage(value, mMinBrightness, mMaxBrightness); return getPercentage(value, mMinBrightness, mMaxBrightness);
} }
}
private double getPercentage(double value, int min, int max) { private double getPercentage(double value, int min, int max) {
if (value > max) { if (value > max) {

View File

@@ -89,8 +89,6 @@ public class BrightnessLevelPreferenceControllerTest {
controller.onStart(); controller.onStart();
assertThat(shadowContentResolver.getContentObservers(
System.getUriFor(System.SCREEN_BRIGHTNESS_MODE))).isNotEmpty();
assertThat(shadowContentResolver.getContentObservers( assertThat(shadowContentResolver.getContentObservers(
System.getUriFor(System.SCREEN_BRIGHTNESS))).isNotEmpty(); System.getUriFor(System.SCREEN_BRIGHTNESS))).isNotEmpty();
assertThat(shadowContentResolver.getContentObservers( assertThat(shadowContentResolver.getContentObservers(
@@ -110,8 +108,6 @@ public class BrightnessLevelPreferenceControllerTest {
controller.onStart(); controller.onStart();
controller.onStop(); controller.onStop();
assertThat(shadowContentResolver.getContentObservers(
System.getUriFor(System.SCREEN_BRIGHTNESS_MODE))).isEmpty();
assertThat(shadowContentResolver.getContentObservers( assertThat(shadowContentResolver.getContentObservers(
System.getUriFor(System.SCREEN_BRIGHTNESS))).isEmpty(); System.getUriFor(System.SCREEN_BRIGHTNESS))).isEmpty();
assertThat(shadowContentResolver.getContentObservers( assertThat(shadowContentResolver.getContentObservers(
@@ -136,11 +132,11 @@ public class BrightnessLevelPreferenceControllerTest {
System.putInt(mContentResolver, System.SCREEN_BRIGHTNESS_MODE, System.putInt(mContentResolver, System.SCREEN_BRIGHTNESS_MODE,
System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC); System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC);
System.putFloat(mContentResolver, System.SCREEN_AUTO_BRIGHTNESS_ADJ, 0.0f); System.putInt(mContentResolver, System.SCREEN_BRIGHTNESS, 31);
mController.updateState(mPreference); mController.updateState(mPreference);
verify(mPreference).setSummary("50%"); verify(mPreference).setSummary("31%");
} }
@Test @Test
@@ -175,11 +171,11 @@ public class BrightnessLevelPreferenceControllerTest {
System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC); System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC);
reset(mPreference); reset(mPreference);
System.putFloat(mContentResolver, System.SCREEN_AUTO_BRIGHTNESS_ADJ, 1.5f); System.putInt(mContentResolver, System.SCREEN_BRIGHTNESS, 115);
mController.updateState(mPreference); mController.updateState(mPreference);
verify(mPreference).setSummary("100%"); verify(mPreference).setSummary("100%");
System.putFloat(mContentResolver, System.SCREEN_AUTO_BRIGHTNESS_ADJ, -1.5f); System.putInt(mContentResolver, System.SCREEN_BRIGHTNESS, -10);
mController.updateState(mPreference); mController.updateState(mPreference);
verify(mPreference).setSummary("0%"); verify(mPreference).setSummary("0%");