From a625b38cb3a6a6b3a890369b7bbbed7c028cb120 Mon Sep 17 00:00:00 2001 From: Mike Lockwood Date: Sat, 12 Sep 2009 17:36:03 -0700 Subject: [PATCH] PowerManagerService: Fix keyboard backlight support: Turn off keyboard backlight immediately when keyboard is closed. Changing keyboard visibility state signals user activity except in the case where the keyboard is closed and the screen is already off. Fixes bugs b/1351141 and b/1319625 Change-Id: If4bf2c1dd8e0c2bc08196e443b6103a6041f27e1 Signed-off-by: Mike Lockwood --- .../com/android/server/PowerManagerService.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/services/java/com/android/server/PowerManagerService.java b/services/java/com/android/server/PowerManagerService.java index 38df47b418953..ba65f01ef6862 100644 --- a/services/java/com/android/server/PowerManagerService.java +++ b/services/java/com/android/server/PowerManagerService.java @@ -63,7 +63,7 @@ import java.util.Observable; import java.util.Observer; class PowerManagerService extends IPowerManager.Stub - implements LocalPowerManager,Watchdog.Monitor, SensorEventListener { + implements LocalPowerManager, Watchdog.Monitor, SensorEventListener { private static final String TAG = "PowerManagerService"; static final String PARTIAL_NAME = "PowerManagerService"; @@ -1848,7 +1848,17 @@ class PowerManagerService extends IPowerManager.Stub } public void setKeyboardVisibility(boolean visible) { - mKeyboardVisible = visible; + synchronized (mLocks) { + if (mSpew) { + Log.d(TAG, "setKeyboardVisibility: " + visible); + } + mKeyboardVisible = visible; + // don't signal user activity when closing keyboard if the screen is off. + // otherwise, we want to make sure the backlights are adjusted. + if (visible || (mPowerState & SCREEN_ON_BIT) != 0) { + userActivity(SystemClock.uptimeMillis(), false, BUTTON_EVENT, true); + } + } } /**