From 6eade79f90b5a592c16a6a5fb0a4b409dc3848e6 Mon Sep 17 00:00:00 2001 From: Jeff Brown Date: Tue, 10 Sep 2013 18:45:25 -0700 Subject: [PATCH] Ignore ON_AFTER_RELEASE for partial wake locks. This is a regression in the new power manager. Apparently some apps try to use ON_AFTER_RELEASE with partial wake locks which doesn't make sense. Ignore the flag just like we used to prior to JB MR1. Bug: 10336375 Change-Id: Ib307eb60201612ba9bb03dc4da3365aba0b4848d --- .../java/com/android/server/power/PowerManagerService.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/services/java/com/android/server/power/PowerManagerService.java b/services/java/com/android/server/power/PowerManagerService.java index 777ffe7c0b65c..2167f67319fee 100644 --- a/services/java/com/android/server/power/PowerManagerService.java +++ b/services/java/com/android/server/power/PowerManagerService.java @@ -650,8 +650,8 @@ public final class PowerManagerService extends IPowerManager.Stub } private void applyWakeLockFlagsOnAcquireLocked(WakeLock wakeLock) { - if ((wakeLock.mFlags & PowerManager.ACQUIRE_CAUSES_WAKEUP) != 0 && - isScreenLock(wakeLock)) { + if ((wakeLock.mFlags & PowerManager.ACQUIRE_CAUSES_WAKEUP) != 0 + && isScreenLock(wakeLock)) { wakeUpNoUpdateLocked(SystemClock.uptimeMillis()); } } @@ -725,7 +725,8 @@ public final class PowerManagerService extends IPowerManager.Stub } private void applyWakeLockFlagsOnReleaseLocked(WakeLock wakeLock) { - if ((wakeLock.mFlags & PowerManager.ON_AFTER_RELEASE) != 0) { + if ((wakeLock.mFlags & PowerManager.ON_AFTER_RELEASE) != 0 + && isScreenLock(wakeLock)) { userActivityNoUpdateLocked(SystemClock.uptimeMillis(), PowerManager.USER_ACTIVITY_EVENT_OTHER, PowerManager.USER_ACTIVITY_FLAG_NO_CHANGE_LIGHTS,