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

Commit 5e6c92e2 authored by Skrilax_CZ's avatar Skrilax_CZ Committed by Gerrit Code Review
Browse files

Keep keyboard lit until the screen is dimmed

Do not use button timeout for keyboard (which is intrusive on QWERTY
sliders). Keep it lit until the screen dims instead of turning it off
like the buttons after 5 seconds. Also consider setting keyboard
visibility as a user activity.
parent a1810eff
Loading
Loading
Loading
Loading
+9 −6
Original line number Diff line number Diff line
@@ -915,11 +915,14 @@ public final class PowerManagerService extends IPowerManager.Stub
            if (mKeyboardVisible != visible) {
                mKeyboardVisible = visible;
                if (!visible) {
                    mKeyboardLight.turnOff();
                    // If hiding keyboard, turn off leds
                    setKeyboardLight(false, 1);
                    setKeyboardLight(false, 2);
                }
                synchronized (mLock) {
                    mDirty |= DIRTY_USER_ACTIVITY;
                    updatePowerStateLocked();
                }
            }
        }
    }
@@ -1361,15 +1364,14 @@ public final class PowerManagerService extends IPowerManager.Stub
                    nextTimeout = mLastUserActivityTime
                            + screenOffTimeout - screenDimDuration;
                    if (now < nextTimeout) {
                        if (now > mLastUserActivityTime + BUTTON_ON_DURATION) {
                            mButtonsLight.setBrightness(0);
                            mKeyboardLight.setBrightness(0);
                        } else {
                        int brightness = mButtonBrightnessOverrideFromWindowManager >= 0
                                ? mButtonBrightnessOverrideFromWindowManager
                                : mDisplayPowerRequest.screenBrightness;
                            mButtonsLight.setBrightness(brightness);
                        mKeyboardLight.setBrightness(mKeyboardVisible ? brightness : 0);
                        if (now > mLastUserActivityTime + BUTTON_ON_DURATION) {
                            mButtonsLight.setBrightness(0);
                        } else {
                            mButtonsLight.setBrightness(brightness);
                            if (brightness != 0) {
                                nextTimeout = now + BUTTON_ON_DURATION;
                            }
@@ -1378,6 +1380,7 @@ public final class PowerManagerService extends IPowerManager.Stub
                    } else {
                        nextTimeout = mLastUserActivityTime + screenOffTimeout;
                        if (now < nextTimeout) {
                            mKeyboardLight.setBrightness(0);
                            mUserActivitySummary |= USER_ACTIVITY_SCREEN_DIM;
                        }
                    }