summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSkrilax_CZ <skrilax@gmail.com>2013-04-27 23:01:17 +0200
committerGerrit Code Review <gerrit@cyanogenmod.org>2013-05-05 21:26:39 -0700
commit5e6c92e2fffd3406f2cbaa08f744e6189afcf484 (patch)
tree2d461db71b84bc49fe249104a3a13864086b717d
parenta1810eff06acf67b9fae62cb7b58fb31af41318c (diff)
downloadframeworks_base-5e6c92e2fffd3406f2cbaa08f744e6189afcf484.zip
frameworks_base-5e6c92e2fffd3406f2cbaa08f744e6189afcf484.tar.gz
frameworks_base-5e6c92e2fffd3406f2cbaa08f744e6189afcf484.tar.bz2
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.
-rw-r--r--services/java/com/android/server/power/PowerManagerService.java15
1 files changed, 9 insertions, 6 deletions
diff --git a/services/java/com/android/server/power/PowerManagerService.java b/services/java/com/android/server/power/PowerManagerService.java
index f1971c4..40279a2 100644
--- a/services/java/com/android/server/power/PowerManagerService.java
+++ b/services/java/com/android/server/power/PowerManagerService.java
@@ -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) {
+ int brightness = mButtonBrightnessOverrideFromWindowManager >= 0
+ ? mButtonBrightnessOverrideFromWindowManager
+ : mDisplayPowerRequest.screenBrightness;
+ mKeyboardLight.setBrightness(mKeyboardVisible ? brightness : 0);
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 (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;
}
}