From e8f321e7495e2c9e61e7dea61c0ccc543768c80f Mon Sep 17 00:00:00 2001 From: Jorim Jaggi Date: Mon, 7 Nov 2016 16:48:31 -0800 Subject: [PATCH] Update callbacks when initializing to initial state This fixes a bug where activity manager was not informed about the lockscreen state if Keyguard was disabled and SystemUI crashed, so we just displayed a black screen. Test: - Set no lockscreen - Crash SystemUI Change-Id: I93b8ed74dd12af6903ffdb05b59c78f2f12febb4 --- .../systemui/keyguard/KeyguardViewMediator.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java index f8c50f6291b8d..8f1a943d98ff0 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java +++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java @@ -645,9 +645,7 @@ public class KeyguardViewMediator extends SystemUI { // Assume keyguard is showing (unless it's disabled) until we know for sure... setShowingLocked(!shouldWaitForProvisioning() && !mLockPatternUtils.isLockScreenDisabled( - KeyguardUpdateMonitor.getCurrentUser())); - updateInputRestrictedLocked(); - mTrustManager.reportKeyguardShowingChanged(); + KeyguardUpdateMonitor.getCurrentUser()), true /* forceCallbacks */); mStatusBarKeyguardViewManager = SystemUIFactory.getInstance().createStatusBarKeyguardViewManager(mContext, @@ -1980,7 +1978,11 @@ public class KeyguardViewMediator extends SystemUI { } private void setShowingLocked(boolean showing) { - if (showing != mShowing) { + setShowingLocked(showing, false /* forceCallbacks */); + } + + private void setShowingLocked(boolean showing, boolean forceCallbacks) { + if (showing != mShowing || forceCallbacks) { mShowing = showing; int size = mKeyguardStateCallbacks.size(); for (int i = size - 1; i >= 0; i--) {