Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2d70be9b authored by Ben Lin's avatar Ben Lin
Browse files

Move more initialization logic into NotificationsControllerImpl.

Also goodbye old pipeline code.

Bug: 234837740
Test: make and push
Change-Id: If3f43620f98396c5f352f2f9a54fa05982d6bb18
parent 19a4214e
Loading
Loading
Loading
Loading
+12 −27
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.people.widget.PeopleSpaceWidgetManager
import com.android.systemui.plugins.statusbar.NotificationSwipeActionHelper.SnoozeOption
import com.android.systemui.statusbar.NotificationListener
import com.android.systemui.statusbar.NotificationMediaManager
import com.android.systemui.statusbar.NotificationPresenter
import com.android.systemui.statusbar.notification.AnimatedImageNotificationManager
import com.android.systemui.statusbar.notification.NotifPipelineFlags
@@ -41,6 +42,7 @@ import com.android.systemui.statusbar.notification.collection.provider.DebugMode
import com.android.systemui.statusbar.notification.collection.render.NotifStackController
import com.android.systemui.statusbar.notification.interruption.HeadsUpController
import com.android.systemui.statusbar.notification.interruption.HeadsUpViewBinder
import com.android.systemui.statusbar.notification.logging.NotificationLogger
import com.android.systemui.statusbar.notification.row.NotifBindPipelineInitializer
import com.android.systemui.statusbar.notification.stack.NotificationListContainer
import com.android.systemui.statusbar.phone.CentralSurfaces
@@ -74,12 +76,14 @@ class NotificationsControllerImpl @Inject constructor(
    private val targetSdkResolver: TargetSdkResolver,
    private val newNotifPipelineInitializer: Lazy<NotifPipelineInitializer>,
    private val notifBindPipelineInitializer: NotifBindPipelineInitializer,
    private val notificationLogger: NotificationLogger,
    private val deviceProvisionedController: DeviceProvisionedController,
    private val notificationRowBinder: NotificationRowBinderImpl,
    private val bindEventManagerImpl: BindEventManagerImpl,
    private val remoteInputUriController: RemoteInputUriController,
    private val groupManagerLegacy: Lazy<NotificationGroupManagerLegacy>,
    private val groupAlertTransferHelper: NotificationGroupAlertTransferHelper,
    private val notificationsMediaManager: NotificationMediaManager,
    private val headsUpManager: HeadsUpManager,
    private val headsUpController: HeadsUpController,
    private val headsUpViewBinder: HeadsUpViewBinder,
@@ -118,34 +122,15 @@ class NotificationsControllerImpl @Inject constructor(
        notifBindPipelineInitializer.initialize()
        animatedImageNotificationManager.bind()

        if (INITIALIZE_NEW_PIPELINE) {
        newNotifPipelineInitializer.get().initialize(
                notificationListener,
                notificationRowBinder,
                listContainer,
                stackController)
        }

        if (notifPipelineFlags.isNewPipelineEnabled()) {
        targetSdkResolver.initialize(notifPipeline.get())
            // TODO
        } else {
            targetSdkResolver.initialize(entryManager)
            remoteInputUriController.attach(entryManager)
            groupAlertTransferHelper.bind(entryManager, groupManagerLegacy.get())
            bindEventManagerImpl.attachToLegacyPipeline(entryManager)
            headsUpManager.addListener(groupManagerLegacy.get())
            headsUpManager.addListener(groupAlertTransferHelper)
            headsUpController.attach(entryManager, headsUpManager)
            groupManagerLegacy.get().setHeadsUpManager(headsUpManager)
            groupAlertTransferHelper.setHeadsUpManager(headsUpManager)
            debugModeFilterProvider.registerInvalidationListener {
                entryManager.updateNotifications("debug mode filter changed")
            }

            entryManager.initialize(notificationListener, legacyRanker)
        }

        notificationsMediaManager.setUpWithPresenter(presenter)
        notificationLogger.setUpWithContainer(listContainer)
        peopleSpaceWidgetManager.attach(notificationListener)
    }

+0 −1
Original line number Diff line number Diff line
@@ -1151,7 +1151,6 @@ public class CentralSurfacesImpl extends CoreStartable implements

        // TODO: Deal with the ugliness that comes from having some of the status bar broken out
        // into fragments, but the rest here, it leaves some awkward lifecycle and whatnot.
        mNotificationLogger.setUpWithContainer(mNotifListContainer);
        mNotificationIconAreaController.setupShelf(mNotificationShelfController);
        mPanelExpansionStateManager.addExpansionListener(mWakeUpCoordinator);
        mUserSwitcherController.init(mNotificationShadeWindowView);
+0 −16
Original line number Diff line number Diff line
@@ -51,7 +51,6 @@ import com.android.systemui.statusbar.NotificationMediaManager;
import com.android.systemui.statusbar.NotificationPresenter;
import com.android.systemui.statusbar.NotificationRemoteInputManager;
import com.android.systemui.statusbar.NotificationShadeWindowController;
import com.android.systemui.statusbar.NotificationViewHierarchyManager;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.SysuiStatusBarStateController;
import com.android.systemui.statusbar.notification.AboveShelfObserver;
@@ -88,7 +87,6 @@ class StatusBarNotificationPresenter implements NotificationPresenter,

    private final ActivityStarter mActivityStarter;
    private final KeyguardStateController mKeyguardStateController;
    private final NotificationViewHierarchyManager mViewHierarchyManager;
    private final NotificationLockscreenUserManager mLockscreenUserManager;
    private final SysuiStatusBarStateController mStatusBarStateController;
    private final NotifShadeEventSource mNotifShadeEventSource;
@@ -139,7 +137,6 @@ class StatusBarNotificationPresenter implements NotificationPresenter,
            ShadeController shadeController,
            LockscreenShadeTransitionController shadeTransitionController,
            CommandQueue commandQueue,
            NotificationViewHierarchyManager notificationViewHierarchyManager,
            NotificationLockscreenUserManager lockscreenUserManager,
            SysuiStatusBarStateController sysuiStatusBarStateController,
            NotifShadeEventSource notifShadeEventSource,
@@ -166,7 +163,6 @@ class StatusBarNotificationPresenter implements NotificationPresenter,
        mShadeController = shadeController;
        mShadeTransitionController = shadeTransitionController;
        mCommandQueue = commandQueue;
        mViewHierarchyManager = notificationViewHierarchyManager;
        mLockscreenUserManager = lockscreenUserManager;
        mStatusBarStateController = sysuiStatusBarStateController;
        mNotifShadeEventSource = notifShadeEventSource;
@@ -203,21 +199,10 @@ class StatusBarNotificationPresenter implements NotificationPresenter,

        initController.addPostInitTask(() -> {
            mKeyguardIndicationController.init();
            mViewHierarchyManager.setUpWithPresenter(this,
                    stackScrollerController.getNotifStackController(),
                    mNotifListContainer);
            mNotifShadeEventSource.setShadeEmptiedCallback(this::maybeClosePanelForShadeEmptied);
            mNotifShadeEventSource.setNotifRemovedByUserCallback(this::maybeEndAmbientPulse);
            if (!mNotifPipelineFlags.isNewPipelineEnabled()) {
                mEntryManager.setUpWithPresenter(this);
                mEntryManager.addNotificationLifetimeExtender(mHeadsUpManager);
                mEntryManager.addNotificationLifetimeExtender(mGutsManager);
                mEntryManager.addNotificationLifetimeExtenders(
                        remoteInputManager.getLifetimeExtenders());
            }
            notificationInterruptStateProvider.addSuppressor(mInterruptSuppressor);
            mLockscreenUserManager.setUpWithPresenter(this);
            mMediaManager.setUpWithPresenter(this);
            mGutsManager.setUpWithPresenter(
                    this, mNotifListContainer, mCheckSaveListener, mOnSettingsClickListener);
            // ForegroundServiceNotificationListener adds its listener in its constructor
@@ -329,7 +314,6 @@ class StatusBarNotificationPresenter implements NotificationPresenter,
            mShadeController.addPostCollapseAction(() -> updateNotificationViews(reason));
            return;
        }
        mViewHierarchyManager.updateNotificationViews();
        mNotificationPanel.updateNotificationViews(reason);
    }

+0 −2
Original line number Diff line number Diff line
@@ -46,7 +46,6 @@ import com.android.systemui.statusbar.NotificationLockscreenUserManager;
import com.android.systemui.statusbar.NotificationMediaManager;
import com.android.systemui.statusbar.NotificationRemoteInputManager;
import com.android.systemui.statusbar.NotificationShadeWindowController;
import com.android.systemui.statusbar.NotificationViewHierarchyManager;
import com.android.systemui.statusbar.SysuiStatusBarStateController;
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
import com.android.systemui.statusbar.notification.NotifPipelineFlags;
@@ -121,7 +120,6 @@ public class StatusBarNotificationPresenterTest extends SysuiTestCase {
                mock(ShadeControllerImpl.class),
                mock(LockscreenShadeTransitionController.class),
                mCommandQueue,
                mock(NotificationViewHierarchyManager.class),
                mock(NotificationLockscreenUserManager.class),
                mock(SysuiStatusBarStateController.class),
                mock(NotifShadeEventSource.class),