From 691c27459655c8a1e2bd868fddae9d6a5035a3bc Mon Sep 17 00:00:00 2001 From: Brad Stenning Date: Fri, 19 Apr 2019 11:48:00 -0700 Subject: [PATCH] Fix NPE for devices that don't use a lock icon in sysui. Bug: 130880522 Test: Manual Change-Id: I9daa0eedd73df963069077976fbb3af008c4070d --- .../systemui/statusbar/KeyguardIndicationController.java | 5 ++++- .../statusbar/phone/StatusBarKeyguardViewManager.java | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java index 7d4cf75059dda..6101593451108 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java @@ -134,7 +134,10 @@ public class KeyguardIndicationController implements StateListener { mTextView.getTextColors() : ColorStateList.valueOf(Color.WHITE); mDisclosure = indicationArea.findViewById(R.id.keyguard_indication_enterprise_disclosure); mLockIcon = lockIcon; - mLockIcon.setOnLongClickListener(this::handleTrustCircleClick); + // lock icon is not used on all form factors. + if (mLockIcon != null) { + mLockIcon.setOnLongClickListener(this::handleTrustCircleClick); + } mWakeLock = new SettableWakeLock(wakeLock, TAG); mLockPatternUtils = lockPatternUtils; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java index 09fa9ca6d0cf4..6e17dc22b9073 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java @@ -250,6 +250,10 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb } private void updateLockIcon() { + // Not all form factors have a lock icon + if (mLockIconContainer == null) { + return; + } boolean keyguardWithoutQs = mStatusBarStateController.getState() == StatusBarState.KEYGUARD && !mNotificationPanelView.isQsExpanded(); int lockVisibility = (mBouncer.isShowing() || keyguardWithoutQs)