diff --git a/services/java/com/android/server/PowerManagerService.java b/services/java/com/android/server/PowerManagerService.java index a03ac6c53e372..611a86e3576ae 100644 --- a/services/java/com/android/server/PowerManagerService.java +++ b/services/java/com/android/server/PowerManagerService.java @@ -2349,11 +2349,9 @@ class PowerManagerService extends IPowerManager.Stub } finally { Binder.restoreCallingIdentity(identity); } - synchronized (mLocks) { - if (mProximitySensorActive) { - mProximitySensorActive = false; - forceUserActivityLocked(); - } + if (mProximitySensorActive) { + mProximitySensorActive = false; + forceUserActivityLocked(); } } @@ -2361,6 +2359,10 @@ class PowerManagerService extends IPowerManager.Stub if (mSpew) { Log.d(TAG, "proximityChangedLocked, active: " + active); } + if (mProximityCount <= 0) { + Log.d(TAG, "Ignoring proximity change after last proximity lock is released"); + return; + } if (active) { goToSleepLocked(SystemClock.uptimeMillis()); mProximitySensorActive = true;