am 3cba7288: Merge change I6ccd2ebc into eclair

Merge commit '3cba72880b78b81cda2868136462c9e261a3e403' into eclair-mr2

* commit '3cba72880b78b81cda2868136462c9e261a3e403':
  Expose PowerManager.isScreenOn in the public api.
This commit is contained in:
Charles Mendis
2009-11-06 11:46:43 -08:00
committed by Android Git Automerger
5 changed files with 41 additions and 9 deletions

View File

@@ -105888,6 +105888,17 @@
<parameter name="time" type="long"> <parameter name="time" type="long">
</parameter> </parameter>
</method> </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" <method name="newWakeLock"
return="android.os.PowerManager.WakeLock" return="android.os.PowerManager.WakeLock"
abstract="false" abstract="false"

View File

@@ -31,6 +31,7 @@ interface IPowerManager
long getScreenOnTime(); long getScreenOnTime();
void preventScreenOn(boolean prevent); void preventScreenOn(boolean prevent);
void setScreenBrightnessOverride(int brightness); void setScreenBrightnessOverride(int brightness);
boolean isScreenOn();
// sets the brightness of the backlights (screen, keyboard, button) 0-255 // sets the brightness of the backlights (screen, keyboard, button) 0-255
void setBacklightBrightness(int brightness); void setBacklightBrightness(int brightness);

View File

@@ -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() private PowerManager()
{ {
} }

View File

@@ -1780,13 +1780,13 @@ class PowerManagerService extends IPowerManager.Stub
} }
} }
boolean screenIsOn() { public boolean isScreenOn() {
synchronized (mLocks) { synchronized (mLocks) {
return (mPowerState & SCREEN_ON_BIT) != 0; return (mPowerState & SCREEN_ON_BIT) != 0;
} }
} }
boolean screenIsBright() { boolean isScreenBright() {
synchronized (mLocks) { synchronized (mLocks) {
return (mPowerState & SCREEN_BRIGHT) == SCREEN_BRIGHT; return (mPowerState & SCREEN_BRIGHT) == SCREEN_BRIGHT;
} }
@@ -2089,7 +2089,7 @@ class PowerManagerService extends IPowerManager.Stub
boolean enabled = (mode == SCREEN_BRIGHTNESS_MODE_AUTOMATIC); boolean enabled = (mode == SCREEN_BRIGHTNESS_MODE_AUTOMATIC);
if (mUseSoftwareAutoBrightness && mAutoBrightessEnabled != enabled) { if (mUseSoftwareAutoBrightness && mAutoBrightessEnabled != enabled) {
mAutoBrightessEnabled = enabled; mAutoBrightessEnabled = enabled;
if (screenIsOn()) { if (isScreenOn()) {
// force recompute of backlight values // force recompute of backlight values
if (mLightSensorValue >= 0) { if (mLightSensorValue >= 0) {
int value = (int)mLightSensorValue; int value = (int)mLightSensorValue;

View File

@@ -6095,8 +6095,8 @@ public class WindowManagerService extends IWindowManager.Stub
} }
// XXX end hack // XXX end hack
boolean screenIsOff = !mPowerManager.screenIsOn(); boolean screenIsOff = !mPowerManager.isScreenOn();
boolean screenIsDim = !mPowerManager.screenIsBright(); boolean screenIsDim = !mPowerManager.isScreenBright();
int actions = mPolicy.interceptKeyTq(event, !screenIsOff); int actions = mPolicy.interceptKeyTq(event, !screenIsOff);
if ((actions & WindowManagerPolicy.ACTION_GO_TO_SLEEP) != 0) { if ((actions & WindowManagerPolicy.ACTION_GO_TO_SLEEP) != 0) {
@@ -6126,8 +6126,8 @@ public class WindowManagerService extends IWindowManager.Stub
} }
case RawInputEvent.EV_REL: { case RawInputEvent.EV_REL: {
boolean screenIsOff = !mPowerManager.screenIsOn(); boolean screenIsOff = !mPowerManager.isScreenOn();
boolean screenIsDim = !mPowerManager.screenIsBright(); boolean screenIsDim = !mPowerManager.isScreenBright();
if (screenIsOff) { if (screenIsOff) {
if (!mPolicy.isWakeRelMovementTq(event.deviceId, if (!mPolicy.isWakeRelMovementTq(event.deviceId,
device.classes, event)) { device.classes, event)) {
@@ -6143,8 +6143,8 @@ public class WindowManagerService extends IWindowManager.Stub
} }
case RawInputEvent.EV_ABS: { case RawInputEvent.EV_ABS: {
boolean screenIsOff = !mPowerManager.screenIsOn(); boolean screenIsOff = !mPowerManager.isScreenOn();
boolean screenIsDim = !mPowerManager.screenIsBright(); boolean screenIsDim = !mPowerManager.isScreenBright();
if (screenIsOff) { if (screenIsOff) {
if (!mPolicy.isWakeAbsMovementTq(event.deviceId, if (!mPolicy.isWakeAbsMovementTq(event.deviceId,
device.classes, event)) { device.classes, event)) {