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

Commit 4384409d authored by Fiona Campbell's avatar Fiona Campbell
Browse files

Fix slider being at 0 on unlock

This was happening due to a change that sourced the brightness value
from the brightnessInfo object, which includes brightness state
(invalid and -1/off) as well.

This change ensures the brightnessInfo object will only store valid
brightness values (ie, when the display is ON, and therefore the
brightness is between min & max).

Bug: 187776200
Test: manual
Change-Id: I6b7077da1354f0b21c570f4e2283aa6830dbdb93
parent 89681165
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -941,6 +941,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
        final boolean mustNotify;
        final int previousPolicy;
        boolean mustInitialize = false;
        boolean shouldSaveBrightnessInfo = true;
        int brightnessAdjustmentFlags = 0;
        mBrightnessReasonTemp.set(null);
        synchronized (mLock) {
@@ -1071,6 +1072,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
        if (state == Display.STATE_OFF) {
            brightnessState = PowerManager.BRIGHTNESS_OFF_FLOAT;
            mBrightnessReasonTemp.setReason(BrightnessReason.REASON_SCREEN_OFF);
            shouldSaveBrightnessInfo = false;
        }

        // Always use the VR brightness when in the VR state.
@@ -1197,6 +1199,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
                && Display.isDozeState(state)) {
            brightnessState = mScreenBrightnessDozeConfig;
            mBrightnessReasonTemp.setReason(BrightnessReason.REASON_DOZE_DEFAULT);
            shouldSaveBrightnessInfo = false;
        }

        // Apply manual brightness.
@@ -1213,8 +1216,11 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call

        // Save out the brightness info now that the brightness state for this iteration has been
        // finalized and before we send out notifications about the brightness changing.
        if (shouldSaveBrightnessInfo) {
            saveBrightnessInfo(brightnessState);

        }

        if (updateScreenBrightnessSetting) {
            // Tell the rest of the system about the new brightness in case we had to change it
            // for things like auto-brightness or high-brightness-mode. Note that we do this