From e2e77a0d542fc0755bef1c27bb7510598f5a0ca1 Mon Sep 17 00:00:00 2001 From: Heemin Seog Date: Tue, 11 Feb 2020 14:09:19 -0800 Subject: Delay registering of callbacks until bouncer is created Bug: 149188153 Test: manual (build, boot, set lockscreen, show keyguard), atest SystemUITests Change-Id: I46b50f1e937746e937de78b01edb5cc7c4cf37b3 --- .../phone/StatusBarKeyguardViewManager.java | 28 +++++++++++++++------- 1 file changed, 19 insertions(+), 9 deletions(-) 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 6a046884e835..0644a42202d5 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java @@ -19,6 +19,7 @@ package com.android.systemui.statusbar.phone; import static android.view.ViewRootImpl.NEW_INSETS_MODE_FULL; import static android.view.ViewRootImpl.sNewInsetsMode; import static android.view.WindowInsets.Type.navigationBars; + import static com.android.systemui.plugins.ActivityStarter.OnDismissAction; import static com.android.systemui.statusbar.phone.BiometricUnlockController.MODE_UNLOCK_FADING; import static com.android.systemui.statusbar.phone.BiometricUnlockController.MODE_WAKE_AND_UNLOCK; @@ -95,6 +96,8 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb private static String TAG = "StatusBarKeyguardViewManager"; protected final Context mContext; + private final ConfigurationController mConfigurationController; + private final NavigationModeController mNavigationModeController; private final NotificationShadeWindowController mNotificationShadeWindowController; private final BouncerExpansionCallback mExpansionCallback = new BouncerExpansionCallback() { @Override @@ -208,21 +211,14 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb mContext = context; mViewMediatorCallback = callback; mLockPatternUtils = lockPatternUtils; + mConfigurationController = configurationController; + mNavigationModeController = navigationModeController; mNotificationShadeWindowController = notificationShadeWindowController; mKeyguardStateController = keyguardStateController; mMediaManager = notificationMediaManager; mKeyguardUpdateManager = keyguardUpdateMonitor; - mKeyguardUpdateManager.registerCallback(mUpdateMonitorCallback); mStatusBarStateController = sysuiStatusBarStateController; - mStatusBarStateController.addCallback(this); - configurationController.addCallback(this); - mGesturalNav = QuickStepContract.isGesturalMode( - navigationModeController.addListener(this)); mDockManager = dockManager; - if (mDockManager != null) { - mDockManager.addListener(mDockEventListener); - mIsDocked = mDockManager.isDocked(); - } } public void registerStatusBar(StatusBar statusBar, @@ -246,6 +242,20 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb notificationPanelViewController.addExpansionListener(this); mBypassController = bypassController; mNotificationContainer = notificationContainer; + + registerListeners(); + } + + private void registerListeners() { + mKeyguardUpdateManager.registerCallback(mUpdateMonitorCallback); + mStatusBarStateController.addCallback(this); + mConfigurationController.addCallback(this); + mGesturalNav = QuickStepContract.isGesturalMode( + mNavigationModeController.addListener(this)); + if (mDockManager != null) { + mDockManager.addListener(mDockEventListener); + mIsDocked = mDockManager.isDocked(); + } } @Override -- cgit v1.2.3-59-g8ed1b