From 4f5d1511b9123c342ba96fbd335f77749fde00de Mon Sep 17 00:00:00 2001 From: Craig Mautner Date: Thu, 21 Jun 2012 13:03:41 -0700 Subject: [PATCH] Make sure onScreenTurnedOn is called at power on. KeyguardViewMediator.onScreenTurnedOn is not called if the device is booted into the power-on state. In this case mScreenOn remains false and the lockscreen will always appear after outgoing calls. This fix ensures that onScreenTurnedOn is called when the device is powered up in the on state. Fixes bug 6709173. Change-Id: I7557d8f002307b9125bc53b13bc3cb4c5c9b2758 --- .../android/internal/policy/impl/KeyguardViewMediator.java | 4 +++- .../com/android/internal/policy/impl/PhoneWindowManager.java | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/policy/src/com/android/internal/policy/impl/KeyguardViewMediator.java b/policy/src/com/android/internal/policy/impl/KeyguardViewMediator.java index 85156998a242d..e84e912227c8c 100644 --- a/policy/src/com/android/internal/policy/impl/KeyguardViewMediator.java +++ b/policy/src/com/android/internal/policy/impl/KeyguardViewMediator.java @@ -442,7 +442,9 @@ public class KeyguardViewMediator implements KeyguardViewCallback, mScreenOn = true; mDelayedShowingSequence++; if (DEBUG) Log.d(TAG, "onScreenTurnedOn, seq = " + mDelayedShowingSequence); - notifyScreenOnLocked(showListener); + if (showListener != null) { + notifyScreenOnLocked(showListener); + } } } diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java index beeea8e77f5fa..756a3df770283 100755 --- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java @@ -3608,6 +3608,10 @@ public class PhoneWindowManager implements WindowManagerPolicy { }); } } else { + if (mKeyguardMediator != null) { + // Must set mScreenOn = true. + mKeyguardMediator.onScreenTurnedOn(null); + } synchronized (mLock) { mScreenOnFully = true; }