diff options
| author | YuanQY <yuanqingyun@gmail.com> | 2013-02-08 10:59:22 +0800 |
|---|---|---|
| committer | Gerrit Code Review <gerrit@review.cyanogenmod.com> | 2013-02-10 21:10:18 -0800 |
| commit | e8b4b3b9329ff85c6ece2076cfa1225769951c5c (patch) | |
| tree | 800248d112efa6c567c5d7639c7f6325ef6f92a8 /services/java | |
| parent | c83dd1143ae385823501b67b7ee4382e911478f5 (diff) | |
| download | frameworks_base-e8b4b3b9329ff85c6ece2076cfa1225769951c5c.zip frameworks_base-e8b4b3b9329ff85c6ece2076cfa1225769951c5c.tar.gz frameworks_base-e8b4b3b9329ff85c6ece2076cfa1225769951c5c.tar.bz2 | |
Keyboard light: Fix the physical keyboard not light when it's visiable.
Change-Id: I595afd3cb6b422a17ae0f6ec20aa51979db13810
Diffstat (limited to 'services/java')
| -rw-r--r-- | services/java/com/android/server/power/DisplayPowerController.java | 1 | ||||
| -rw-r--r-- | services/java/com/android/server/power/PowerManagerService.java | 17 |
2 files changed, 18 insertions, 0 deletions
diff --git a/services/java/com/android/server/power/DisplayPowerController.java b/services/java/com/android/server/power/DisplayPowerController.java index bbd2baa..96bdbc3 100644 --- a/services/java/com/android/server/power/DisplayPowerController.java +++ b/services/java/com/android/server/power/DisplayPowerController.java @@ -769,6 +769,7 @@ final class DisplayPowerController { mNotifier.onScreenOn(); } else { mLights.getLight(LightsService.LIGHT_ID_BUTTONS).setBrightness(0); + mLights.getLight(LightsService.LIGHT_ID_KEYBOARD).setBrightness(0); mNotifier.onScreenOff(); } } diff --git a/services/java/com/android/server/power/PowerManagerService.java b/services/java/com/android/server/power/PowerManagerService.java index 6604af6..d4fa948 100644 --- a/services/java/com/android/server/power/PowerManagerService.java +++ b/services/java/com/android/server/power/PowerManagerService.java @@ -187,6 +187,7 @@ public final class PowerManagerService extends IPowerManager.Stub private DreamManagerService mDreamManager; private LightsService.Light mAttentionLight; private LightsService.Light mButtonsLight; + private LightsService.Light mKeyboardLight; private final Object mLock = new Object(); @@ -376,6 +377,7 @@ public final class PowerManagerService extends IPowerManager.Stub private static native void nativeSetInteractive(boolean enable); private static native void nativeSetAutoSuspend(boolean enable); private static native void nativeCpuBoost(int duration); + private boolean mKeyboardVisible = false; public PowerManagerService() { synchronized (mLock) { @@ -449,6 +451,7 @@ public final class PowerManagerService extends IPowerManager.Stub mSettingsObserver = new SettingsObserver(mHandler); mAttentionLight = mLightsService.getLight(LightsService.LIGHT_ID_ATTENTION); mButtonsLight = mLightsService.getLight(LightsService.LIGHT_ID_BUTTONS); + mKeyboardLight = mLightsService.getLight(LightsService.LIGHT_ID_KEYBOARD); // Register for broadcasts from other components of the system. IntentFilter filter = new IntentFilter(); @@ -877,6 +880,18 @@ public final class PowerManagerService extends IPowerManager.Stub } @Override // Binder call + public void setKeyboardVisibility(boolean visible) { + synchronized (mLock) { + if (DEBUG_SPEW) { + Slog.d(TAG, "setKeyboardVisibility: " + visible); + } + if (mKeyboardVisible != visible) { + mKeyboardVisible = visible; + } + } + } + + @Override // Binder call public void wakeUp(long eventTime) { if (eventTime > SystemClock.uptimeMillis()) { throw new IllegalArgumentException("event time must not be in the future"); @@ -1304,11 +1319,13 @@ public final class PowerManagerService extends IPowerManager.Stub 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 (brightness != 0) { nextTimeout = now + BUTTON_ON_DURATION; } |
