Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 30b66159 authored by Michael Wright's avatar Michael Wright
Browse files

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
parent 9024b4eb
Loading
Loading
Loading
Loading
+4 −15
Original line number Diff line number Diff line
@@ -45,7 +45,6 @@ public class BrightnessLevelPreferenceController extends AbstractPreferenceContr

    private static final String TAG = "BrightnessPrefCtrl";
    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_FOR_VR_URI;
    private static final Uri BRIGHTNESS_ADJ_URI;
@@ -59,7 +58,6 @@ public class BrightnessLevelPreferenceController extends AbstractPreferenceContr
    private Preference mPreference;

    static {
        BRIGHTNESS_MODE_URI = System.getUriFor(System.SCREEN_BRIGHTNESS_MODE);
        BRIGHTNESS_URI = System.getUriFor(System.SCREEN_BRIGHTNESS);
        BRIGHTNESS_FOR_VR_URI = System.getUriFor(System.SCREEN_BRIGHTNESS_FOR_VR);
        BRIGHTNESS_ADJ_URI = System.getUriFor(System.SCREEN_AUTO_BRIGHTNESS_ADJ);
@@ -112,10 +110,8 @@ public class BrightnessLevelPreferenceController extends AbstractPreferenceContr
    public void updateState(Preference preference) {
        updatedSummary(preference);
    }

    @Override
    public void onStart() {
        mContentResolver.registerContentObserver(BRIGHTNESS_MODE_URI, false, mBrightnessObserver);
        mContentResolver.registerContentObserver(BRIGHTNESS_URI, false, mBrightnessObserver);
        mContentResolver.registerContentObserver(BRIGHTNESS_FOR_VR_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,
                    mMaxBrightness);
            return getPercentage(value, mMinVrBrightness, mMaxVrBrightness);
        }
        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);
        }
        } else {
            final double value = Settings.System.getInt(mContentResolver, System.SCREEN_BRIGHTNESS,
                    mMinBrightness);
            return getPercentage(value, mMinBrightness, mMaxBrightness);
        }
    }

    private double getPercentage(double value, int min, int max) {
        if (value > max) {
+4 −8
Original line number Diff line number Diff line
@@ -89,8 +89,6 @@ public class BrightnessLevelPreferenceControllerTest {

        controller.onStart();

        assertThat(shadowContentResolver.getContentObservers(
            System.getUriFor(System.SCREEN_BRIGHTNESS_MODE))).isNotEmpty();
        assertThat(shadowContentResolver.getContentObservers(
            System.getUriFor(System.SCREEN_BRIGHTNESS))).isNotEmpty();
        assertThat(shadowContentResolver.getContentObservers(
@@ -110,8 +108,6 @@ public class BrightnessLevelPreferenceControllerTest {
        controller.onStart();
        controller.onStop();

        assertThat(shadowContentResolver.getContentObservers(
            System.getUriFor(System.SCREEN_BRIGHTNESS_MODE))).isEmpty();
        assertThat(shadowContentResolver.getContentObservers(
            System.getUriFor(System.SCREEN_BRIGHTNESS))).isEmpty();
        assertThat(shadowContentResolver.getContentObservers(
@@ -136,11 +132,11 @@ public class BrightnessLevelPreferenceControllerTest {
        System.putInt(mContentResolver, System.SCREEN_BRIGHTNESS_MODE,
            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);

        verify(mPreference).setSummary("50%");
        verify(mPreference).setSummary("31%");
    }

    @Test
@@ -175,11 +171,11 @@ public class BrightnessLevelPreferenceControllerTest {
                System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC);

        reset(mPreference);
        System.putFloat(mContentResolver, System.SCREEN_AUTO_BRIGHTNESS_ADJ, 1.5f);
        System.putInt(mContentResolver, System.SCREEN_BRIGHTNESS, 115);
        mController.updateState(mPreference);
        verify(mPreference).setSummary("100%");

        System.putFloat(mContentResolver, System.SCREEN_AUTO_BRIGHTNESS_ADJ, -1.5f);
        System.putInt(mContentResolver, System.SCREEN_BRIGHTNESS, -10);
        mController.updateState(mPreference);
        verify(mPreference).setSummary("0%");