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

Commit c785962c authored by Rupesh Bansal's avatar Rupesh Bansal
Browse files

Make brightness transition to ON immediate if the screen was OFF because of close proxiity

Currently, we ramp the brightness change from the start to end value at
a configurable speed. If this configuration is set to a small value,
users can have a deteriorated experience for the cases when they are on
a phone call with phone on their ear, and then immediately want to
check the phone display. This CL is to fix this experience, and make the
transition immediate for such scenarios

Bug: 238573816
Test: Manual
Change-Id: I08a441641d836fcca746be549d7327e29cf2fb59
parent 9ef43b2f
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -1204,6 +1204,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
        }
        assert(state != Display.STATE_UNKNOWN);

        boolean skipRampBecauseOfProximityChangeToNegative = false;
        // Apply the proximity sensor.
        if (mProximitySensor != null) {
            if (mPowerRequest.useProximitySensor && state != Display.STATE_OFF) {
@@ -1241,6 +1242,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
                // the screen back on.  Also turn it back on if we've been asked to ignore the
                // prox sensor temporarily.
                mScreenOffBecauseOfProximity = false;
                skipRampBecauseOfProximityChangeToNegative = true;
                sendOnProximityNegativeWithWakelock();
            }
        } else {
@@ -1521,8 +1523,8 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call

            final boolean wasOrWillBeInVr =
                    (state == Display.STATE_VR || oldState == Display.STATE_VR);
            final boolean initialRampSkip =
                    state == Display.STATE_ON && mSkipRampState != RAMP_STATE_SKIP_NONE;
            final boolean initialRampSkip = (state == Display.STATE_ON && mSkipRampState
                    != RAMP_STATE_SKIP_NONE) || skipRampBecauseOfProximityChangeToNegative;
            // While dozing, sometimes the brightness is split into buckets. Rather than animating
            // through the buckets, which is unlikely to be smooth in the first place, just jump
            // right to the suggested brightness.