Move fold state listener registration from constructor to start()
If the callback gets called before start() has run, it can NPE Fixes: 265027517, 264982191 Bug: 265272821 Test: manual and presubmits Change-Id: Ibb3cb8e0771f3d90cefd56e2308838b28c372ff4
This commit is contained in:
@@ -312,6 +312,7 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
|
||||
|
||||
private final Context mContext;
|
||||
private final LockscreenShadeTransitionController mLockscreenShadeTransitionController;
|
||||
private final DeviceStateManager mDeviceStateManager;
|
||||
private CentralSurfacesCommandQueueCallbacks mCommandQueueCallbacks;
|
||||
private float mTransitionToFullShadeProgress = 0f;
|
||||
private NotificationListContainer mNotifListContainer;
|
||||
@@ -879,8 +880,7 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
|
||||
mMessageRouter.subscribeTo(MSG_LAUNCH_TRANSITION_TIMEOUT,
|
||||
id -> onLaunchTransitionTimeout());
|
||||
|
||||
deviceStateManager.registerCallback(mMainExecutor,
|
||||
new FoldStateListener(mContext, this::onFoldedStateChanged));
|
||||
mDeviceStateManager = deviceStateManager;
|
||||
wiredChargingRippleController.registerCallbacks();
|
||||
|
||||
mLightRevealScrimViewModelLazy = lightRevealScrimViewModelLazy;
|
||||
@@ -1069,6 +1069,8 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
|
||||
}
|
||||
});
|
||||
|
||||
registerCallbacks();
|
||||
|
||||
mFalsingManager.addFalsingBeliefListener(mFalsingBeliefListener);
|
||||
|
||||
mPluginManager.addPluginListener(
|
||||
@@ -1123,6 +1125,14 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
|
||||
requestTopUi, componentTag))));
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
/** Registers listeners/callbacks with external dependencies. */
|
||||
void registerCallbacks() {
|
||||
//TODO(b/264502026) move the rest of the listeners here.
|
||||
mDeviceStateManager.registerCallback(mMainExecutor,
|
||||
new FoldStateListener(mContext, this::onFoldedStateChanged));
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
void initShadeVisibilityListener() {
|
||||
mShadeController.setVisibilityListener(new ShadeController.ShadeVisibilityListener() {
|
||||
|
||||
@@ -544,6 +544,7 @@ public class CentralSurfacesImplTest extends SysuiTestCase {
|
||||
mCentralSurfaces.startKeyguard();
|
||||
mInitController.executePostInitTasks();
|
||||
notificationLogger.setUpWithContainer(mNotificationListContainer);
|
||||
mCentralSurfaces.registerCallbacks();
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user