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

Commit 60607a90 authored by Joe Onorato's avatar Joe Onorato
Browse files

Make sure that when the screen is off, we don't try to turn the buttons on too.

Bug: 3117801
Change-Id: I763f114a2b0426660d29bbda04ea7db12c1137e8
parent b6a2256e
Loading
Loading
Loading
Loading
+16 −2
Original line number Diff line number Diff line
@@ -1794,8 +1794,12 @@ class PowerManagerService extends IPowerManager.Stub

    private void updateLightsLocked(int newState, int forceState) {
        final int oldState = mPowerState;
        if ((newState & SCREEN_ON_BIT) != 0) {
            // Only turn on the buttons or keyboard if the screen is also on.
            // We should never see the buttons on but not the screen.
            newState = applyButtonState(newState);
            newState = applyKeyboardState(newState);
        }
        final int realDifference = (newState ^ oldState);
        final int difference = realDifference | forceState;
        if (difference == 0) {
@@ -1898,6 +1902,16 @@ class PowerManagerService extends IPowerManager.Stub
                    INITIAL_SCREEN_BRIGHTNESS, nominalCurrentValue);
        }

        if (mSpew) {
            Slog.d(TAG, "offMask=0x" + Integer.toHexString(offMask)
                    + " dimMask=0x" + Integer.toHexString(dimMask)
                    + " onMask=0x" + Integer.toHexString(onMask)
                    + " difference=0x" + Integer.toHexString(difference)
                    + " realDifference=0x" + Integer.toHexString(realDifference)
                    + " forceState=0x" + Integer.toHexString(forceState)
                    );
        }

        if (offMask != 0) {
            if (mSpew) Slog.i(TAG, "Setting brightess off: " + offMask);
            setLightBrightness(offMask, Power.BRIGHTNESS_OFF);