Merge "Fix issue where keyguard reports a valid token but doesn't draw" into klp-dev
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardViewManager.java b/packages/Keyguard/src/com/android/keyguard/KeyguardViewManager.java
index a0cad84..fd7cae6 100644
--- a/packages/Keyguard/src/com/android/keyguard/KeyguardViewManager.java
+++ b/packages/Keyguard/src/com/android/keyguard/KeyguardViewManager.java
@@ -431,17 +431,13 @@
public synchronized void onScreenTurnedOn(final IKeyguardShowCallback callback) {
if (DEBUG) Log.d(TAG, "onScreenTurnedOn()");
mScreenOn = true;
- final IBinder token;
- // If keyguard is disabled, we need to inform PhoneWindowManager with a null
+ // If keyguard is not showing, 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();
- }
+ final IBinder token = isShowing() ? mKeyguardHost.getWindowToken() : null;
+
+ if (DEBUG && token == null) Slog.v(TAG, "send wm null token: "
+ + (mKeyguardHost == null ? "host was null" : "not showing"));
if (mKeyguardView != null) {
mKeyguardView.onScreenTurnedOn();