From 0df686d2e4fdb1518c0f7cbcd3cafb5e8aee1d73 Mon Sep 17 00:00:00 2001 From: "eddy-sh.chen" Date: Thu, 22 Feb 2018 18:10:21 +0800 Subject: Don't wait keyguard drawn if device has no keyguard Instead, call finishKeyguardDrawn() if device has no keyguard to avoid redundant waiting times. Bug: 72972510 Change-Id: Id756de05691be2593fa06d3b55e5e24ad1ea7b19 --- services/core/java/com/android/server/policy/PhoneWindowManager.java | 2 +- .../com/android/server/policy/keyguard/KeyguardServiceDelegate.java | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java index da14c360f16a..d21947665c32 100644 --- a/services/core/java/com/android/server/policy/PhoneWindowManager.java +++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java @@ -6791,7 +6791,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { mWindowManagerDrawComplete = false; mScreenOnListener = screenOnListener; - if (mKeyguardDelegate != null) { + if (mKeyguardDelegate != null && mKeyguardDelegate.hasKeyguard()) { mHandler.removeMessages(MSG_KEYGUARD_DRAWN_TIMEOUT); mHandler.sendEmptyMessageDelayed(MSG_KEYGUARD_DRAWN_TIMEOUT, getKeyguardDrawnTimeout()); diff --git a/services/core/java/com/android/server/policy/keyguard/KeyguardServiceDelegate.java b/services/core/java/com/android/server/policy/keyguard/KeyguardServiceDelegate.java index 5a5471b1b4f5..33456491bcae 100644 --- a/services/core/java/com/android/server/policy/keyguard/KeyguardServiceDelegate.java +++ b/services/core/java/com/android/server/policy/keyguard/KeyguardServiceDelegate.java @@ -235,6 +235,10 @@ public class KeyguardServiceDelegate { return false; } + public boolean hasKeyguard() { + return mKeyguardState.deviceHasKeyguard; + } + public boolean isInputRestricted() { if (mKeyguardService != null) { mKeyguardState.inputRestricted = mKeyguardService.isInputRestricted(); -- cgit v1.2.3-59-g8ed1b