summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorrepo sync <lockwood@android.com>2009-11-18 20:12:50 -0500
committerrepo sync <lockwood@android.com>2009-11-18 20:13:09 -0500
commitd28fcd5bb8e5734a12b83f7cefde759c009e7b6e (patch)
tree8badeba02d7e7705611736b08287663bc7e6a4ee /services
parent5b2f5ced25aee6fec49ffd30abeca2801c98fbd8 (diff)
parentefd91d7ce01c7bd538fb0ca66d9f5395352211f8 (diff)
downloadframeworks_base-d28fcd5bb8e5734a12b83f7cefde759c009e7b6e.zip
frameworks_base-d28fcd5bb8e5734a12b83f7cefde759c009e7b6e.tar.gz
frameworks_base-d28fcd5bb8e5734a12b83f7cefde759c009e7b6e.tar.bz2
resolved conflicts for merge of efd91d7c to eclair-mr2-plus-aosp
Signed-off-by: repo sync <lockwood@android.com>
Diffstat (limited to 'services')
-rw-r--r--services/java/com/android/server/PowerManagerService.java18
1 files changed, 12 insertions, 6 deletions
diff --git a/services/java/com/android/server/PowerManagerService.java b/services/java/com/android/server/PowerManagerService.java
index d1ff243..c5102e9 100644
--- a/services/java/com/android/server/PowerManagerService.java
+++ b/services/java/com/android/server/PowerManagerService.java
@@ -306,7 +306,7 @@ class PowerManagerService extends IPowerManager.Stub
public void release() {
if (!mRefCounted || --mCount == 0) {
- PowerManagerService.this.releaseWakeLockLocked(mToken, false);
+ PowerManagerService.this.releaseWakeLockLockedmToken, 0, false);
}
if (mCount < 0) {
throw new RuntimeException("WakeLock under-locked " + mTag);
@@ -545,7 +545,7 @@ class PowerManagerService extends IPowerManager.Stub
}
public void binderDied() {
synchronized (mLocks) {
- releaseWakeLockLocked(this.binder, true);
+ releaseWakeLockLocked(this.binder, 0, true);
}
}
final int flags;
@@ -690,18 +690,18 @@ class PowerManagerService extends IPowerManager.Stub
}
}
- public void releaseWakeLock(IBinder lock) {
+ public void releaseWakeLock(IBinder lock, int flags) {
int uid = Binder.getCallingUid();
if (uid != Process.myUid()) {
mContext.enforceCallingOrSelfPermission(android.Manifest.permission.WAKE_LOCK, null);
}
synchronized (mLocks) {
- releaseWakeLockLocked(lock, false);
+ releaseWakeLockLocked(lock, flags, false);
}
}
- private void releaseWakeLockLocked(IBinder lock, boolean death) {
+ private void releaseWakeLockLocked(IBinder lock, int flags, boolean death) {
int releaseUid;
String releaseName;
int releaseType;
@@ -733,7 +733,8 @@ class PowerManagerService extends IPowerManager.Stub
} else if ((wl.flags & LOCK_MASK) == PowerManager.PROXIMITY_SCREEN_OFF_WAKE_LOCK) {
mProximityWakeLockCount--;
if (mProximityWakeLockCount == 0) {
- if (mProximitySensorActive) {
+ if (mProximitySensorActive &&
+ ((flags & PowerManager.WAIT_FOR_PROXIMITY_NEGATIVE) != 0)) {
// wait for proximity sensor to go negative before disabling sensor
if (mDebugProximitySensor) {
Log.d(TAG, "waiting for proximity sensor to go negative");
@@ -1909,6 +1910,11 @@ class PowerManagerService extends IPowerManager.Stub
Log.d(TAG, "ignoring user activity while turning off screen");
return;
}
+ // Disable proximity sensor if if user presses power key while we are in the
+ // "waiting for proximity sensor to go negative" state.
+ if (mProximitySensorActive && mProximityWakeLockCount == 0) {
+ mProximitySensorActive = false;
+ }
if (mLastEventTime <= time || force) {
mLastEventTime = time;
if ((mUserActivityAllowed && !mProximitySensorActive) || force) {