diff options
| -rw-r--r-- | api/current.xml | 11 | ||||
| -rw-r--r-- | core/java/android/os/IPowerManager.aidl | 1 | ||||
| -rw-r--r-- | core/java/android/os/PowerManager.java | 20 | ||||
| -rw-r--r-- | services/java/com/android/server/PowerManagerService.java | 6 | ||||
| -rw-r--r-- | services/java/com/android/server/WindowManagerService.java | 12 |
5 files changed, 41 insertions, 9 deletions
diff --git a/api/current.xml b/api/current.xml index 2cda5bd96bf8..50b45d6c7322 100644 --- a/api/current.xml +++ b/api/current.xml @@ -105888,6 +105888,17 @@ <parameter name="time" type="long"> </parameter> </method> +<method name="isScreenOn" + return="boolean" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +> +</method> <method name="newWakeLock" return="android.os.PowerManager.WakeLock" abstract="false" diff --git a/core/java/android/os/IPowerManager.aidl b/core/java/android/os/IPowerManager.aidl index 5ac543d81058..bcf769da339b 100644 --- a/core/java/android/os/IPowerManager.aidl +++ b/core/java/android/os/IPowerManager.aidl @@ -31,6 +31,7 @@ interface IPowerManager long getScreenOnTime(); void preventScreenOn(boolean prevent); void setScreenBrightnessOverride(int brightness); + boolean isScreenOn(); // sets the brightness of the backlights (screen, keyboard, button) 0-255 void setBacklightBrightness(int brightness); diff --git a/core/java/android/os/PowerManager.java b/core/java/android/os/PowerManager.java index 11c96d2b4b3c..2efc23041038 100644 --- a/core/java/android/os/PowerManager.java +++ b/core/java/android/os/PowerManager.java @@ -420,6 +420,26 @@ public class PowerManager } } + /** + * Returns whether the screen is currently on. The screen could be bright + * or dim. + * + * {@samplecode + * PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); + * boolean isScreenOn = pm.isScreenOn(); + * } + * + * @return whether the screen is on (bright or dim). + */ + public boolean isScreenOn() + { + try { + return mService.isScreenOn(); + } catch (RemoteException e) { + return false; + } + } + private PowerManager() { } diff --git a/services/java/com/android/server/PowerManagerService.java b/services/java/com/android/server/PowerManagerService.java index 611a86e3576a..270e3cba52a3 100644 --- a/services/java/com/android/server/PowerManagerService.java +++ b/services/java/com/android/server/PowerManagerService.java @@ -1780,13 +1780,13 @@ class PowerManagerService extends IPowerManager.Stub } } - boolean screenIsOn() { + public boolean isScreenOn() { synchronized (mLocks) { return (mPowerState & SCREEN_ON_BIT) != 0; } } - boolean screenIsBright() { + boolean isScreenBright() { synchronized (mLocks) { return (mPowerState & SCREEN_BRIGHT) == SCREEN_BRIGHT; } @@ -2089,7 +2089,7 @@ class PowerManagerService extends IPowerManager.Stub boolean enabled = (mode == SCREEN_BRIGHTNESS_MODE_AUTOMATIC); if (mUseSoftwareAutoBrightness && mAutoBrightessEnabled != enabled) { mAutoBrightessEnabled = enabled; - if (screenIsOn()) { + if (isScreenOn()) { // force recompute of backlight values if (mLightSensorValue >= 0) { int value = (int)mLightSensorValue; diff --git a/services/java/com/android/server/WindowManagerService.java b/services/java/com/android/server/WindowManagerService.java index d3645c35ffa5..9acc97ab49cb 100644 --- a/services/java/com/android/server/WindowManagerService.java +++ b/services/java/com/android/server/WindowManagerService.java @@ -6095,8 +6095,8 @@ public class WindowManagerService extends IWindowManager.Stub } // XXX end hack - boolean screenIsOff = !mPowerManager.screenIsOn(); - boolean screenIsDim = !mPowerManager.screenIsBright(); + boolean screenIsOff = !mPowerManager.isScreenOn(); + boolean screenIsDim = !mPowerManager.isScreenBright(); int actions = mPolicy.interceptKeyTq(event, !screenIsOff); if ((actions & WindowManagerPolicy.ACTION_GO_TO_SLEEP) != 0) { @@ -6126,8 +6126,8 @@ public class WindowManagerService extends IWindowManager.Stub } case RawInputEvent.EV_REL: { - boolean screenIsOff = !mPowerManager.screenIsOn(); - boolean screenIsDim = !mPowerManager.screenIsBright(); + boolean screenIsOff = !mPowerManager.isScreenOn(); + boolean screenIsDim = !mPowerManager.isScreenBright(); if (screenIsOff) { if (!mPolicy.isWakeRelMovementTq(event.deviceId, device.classes, event)) { @@ -6143,8 +6143,8 @@ public class WindowManagerService extends IWindowManager.Stub } case RawInputEvent.EV_ABS: { - boolean screenIsOff = !mPowerManager.screenIsOn(); - boolean screenIsDim = !mPowerManager.screenIsBright(); + boolean screenIsOff = !mPowerManager.isScreenOn(); + boolean screenIsDim = !mPowerManager.isScreenBright(); if (screenIsOff) { if (!mPolicy.isWakeAbsMovementTq(event.deviceId, device.classes, event)) { |