Merge commit '7c64d4486ad8704f0b63474e2da0dd89147771ad' into eclair-mr2-plus-aosp * commit '7c64d4486ad8704f0b63474e2da0dd89147771ad': PowerManagerService: Clear Binder calling identity around calls to Sensor Manager.
This commit is contained in:
@@ -2273,15 +2273,27 @@ class PowerManagerService extends IPowerManager.Stub
|
|||||||
if (mSpew) {
|
if (mSpew) {
|
||||||
Log.d(TAG, "enableProximityLockLocked");
|
Log.d(TAG, "enableProximityLockLocked");
|
||||||
}
|
}
|
||||||
|
// clear calling identity so sensor manager battery stats are accurate
|
||||||
|
long identity = Binder.clearCallingIdentity();
|
||||||
|
try {
|
||||||
mSensorManager.registerListener(mProximityListener, mProximitySensor,
|
mSensorManager.registerListener(mProximityListener, mProximitySensor,
|
||||||
SensorManager.SENSOR_DELAY_NORMAL);
|
SensorManager.SENSOR_DELAY_NORMAL);
|
||||||
|
} finally {
|
||||||
|
Binder.restoreCallingIdentity(identity);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void disableProximityLockLocked() {
|
private void disableProximityLockLocked() {
|
||||||
if (mSpew) {
|
if (mSpew) {
|
||||||
Log.d(TAG, "disableProximityLockLocked");
|
Log.d(TAG, "disableProximityLockLocked");
|
||||||
}
|
}
|
||||||
|
// clear calling identity so sensor manager battery stats are accurate
|
||||||
|
long identity = Binder.clearCallingIdentity();
|
||||||
|
try {
|
||||||
mSensorManager.unregisterListener(mProximityListener);
|
mSensorManager.unregisterListener(mProximityListener);
|
||||||
|
} finally {
|
||||||
|
Binder.restoreCallingIdentity(identity);
|
||||||
|
}
|
||||||
synchronized (mLocks) {
|
synchronized (mLocks) {
|
||||||
if (mProximitySensorActive) {
|
if (mProximitySensorActive) {
|
||||||
mProximitySensorActive = false;
|
mProximitySensorActive = false;
|
||||||
@@ -2296,6 +2308,9 @@ class PowerManagerService extends IPowerManager.Stub
|
|||||||
}
|
}
|
||||||
if (mSensorManager != null && mLightSensorEnabled != enable) {
|
if (mSensorManager != null && mLightSensorEnabled != enable) {
|
||||||
mLightSensorEnabled = enable;
|
mLightSensorEnabled = enable;
|
||||||
|
// clear calling identity so sensor manager battery stats are accurate
|
||||||
|
long identity = Binder.clearCallingIdentity();
|
||||||
|
try {
|
||||||
if (enable) {
|
if (enable) {
|
||||||
mSensorManager.registerListener(mLightListener, mLightSensor,
|
mSensorManager.registerListener(mLightListener, mLightSensor,
|
||||||
SensorManager.SENSOR_DELAY_NORMAL);
|
SensorManager.SENSOR_DELAY_NORMAL);
|
||||||
@@ -2303,6 +2318,9 @@ class PowerManagerService extends IPowerManager.Stub
|
|||||||
mSensorManager.unregisterListener(mLightListener);
|
mSensorManager.unregisterListener(mLightListener);
|
||||||
mHandler.removeCallbacks(mAutoBrightnessTask);
|
mHandler.removeCallbacks(mAutoBrightnessTask);
|
||||||
}
|
}
|
||||||
|
} finally {
|
||||||
|
Binder.restoreCallingIdentity(identity);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user