diff options
| -rw-r--r-- | packages/Keyguard/src/com/android/keyguard/KeyguardViewManager.java | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardViewManager.java b/packages/Keyguard/src/com/android/keyguard/KeyguardViewManager.java index d37aaaf11215..a0cad8444ea9 100644 --- a/packages/Keyguard/src/com/android/keyguard/KeyguardViewManager.java +++ b/packages/Keyguard/src/com/android/keyguard/KeyguardViewManager.java @@ -431,7 +431,18 @@ public class KeyguardViewManager { public synchronized void onScreenTurnedOn(final IKeyguardShowCallback callback) { if (DEBUG) Log.d(TAG, "onScreenTurnedOn()"); mScreenOn = true; - final IBinder token = mKeyguardHost == null ? null : mKeyguardHost.getWindowToken(); + final IBinder token; + + // If keyguard is disabled, we need to inform PhoneWindowManager with a null + // token so it doesn't wait for us to draw... + final boolean disabled = + mLockPatternUtils.isLockScreenDisabled() && !mLockPatternUtils.isSecure(); + if (mKeyguardHost == null || disabled) { + token = null; + } else { + token = mKeyguardHost.getWindowToken(); + } + if (mKeyguardView != null) { mKeyguardView.onScreenTurnedOn(); |