Merge "[CS] Make StatusBarNotificationPresenter a singleton." into udc-qpr-dev

This commit is contained in:
Caitlin Shkuratov
2023-07-27 14:02:54 +00:00
committed by Android (Google) Code Review
5 changed files with 8 additions and 11 deletions

View File

@@ -72,6 +72,7 @@ import com.android.systemui.statusbar.phone.ManagedProfileControllerImpl;
import com.android.systemui.statusbar.phone.StatusBarIconController; import com.android.systemui.statusbar.phone.StatusBarIconController;
import com.android.systemui.statusbar.phone.StatusBarIconControllerImpl; import com.android.systemui.statusbar.phone.StatusBarIconControllerImpl;
import com.android.systemui.statusbar.phone.StatusBarIconList; import com.android.systemui.statusbar.phone.StatusBarIconList;
import com.android.systemui.statusbar.phone.StatusBarNotificationPresenterModule;
import com.android.systemui.statusbar.phone.StatusBarRemoteInputCallback; import com.android.systemui.statusbar.phone.StatusBarRemoteInputCallback;
import com.android.systemui.statusbar.phone.ongoingcall.OngoingCallController; import com.android.systemui.statusbar.phone.ongoingcall.OngoingCallController;
import com.android.systemui.statusbar.phone.ongoingcall.OngoingCallFlags; import com.android.systemui.statusbar.phone.ongoingcall.OngoingCallFlags;
@@ -96,7 +97,7 @@ import java.util.concurrent.Executor;
* their own version of CentralSurfaces can include just dependencies, without injecting * their own version of CentralSurfaces can include just dependencies, without injecting
* CentralSurfaces itself. * CentralSurfaces itself.
*/ */
@Module @Module(includes = {StatusBarNotificationPresenterModule.class})
public interface CentralSurfacesDependenciesModule { public interface CentralSurfacesDependenciesModule {
/** */ /** */
@SysUISingleton @SysUISingleton

View File

@@ -623,7 +623,7 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
private final ActivityLaunchAnimator mActivityLaunchAnimator; private final ActivityLaunchAnimator mActivityLaunchAnimator;
private NotificationLaunchAnimatorControllerProvider mNotificationAnimationProvider; private NotificationLaunchAnimatorControllerProvider mNotificationAnimationProvider;
protected NotificationPresenter mPresenter; private final NotificationPresenter mPresenter;
private NotificationActivityStarter mNotificationActivityStarter; private NotificationActivityStarter mNotificationActivityStarter;
private final Lazy<NotificationShadeDepthController> mNotificationShadeDepthControllerLazy; private final Lazy<NotificationShadeDepthController> mNotificationShadeDepthControllerLazy;
private final Optional<Bubbles> mBubblesOptional; private final Optional<Bubbles> mBubblesOptional;
@@ -724,6 +724,7 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
Lazy<NotificationShadeWindowViewController> notificationShadeWindowViewControllerLazy, Lazy<NotificationShadeWindowViewController> notificationShadeWindowViewControllerLazy,
NotificationShelfController notificationShelfController, NotificationShelfController notificationShelfController,
NotificationStackScrollLayoutController notificationStackScrollLayoutController, NotificationStackScrollLayoutController notificationStackScrollLayoutController,
NotificationPresenter notificationPresenter,
DozeParameters dozeParameters, DozeParameters dozeParameters,
ScrimController scrimController, ScrimController scrimController,
Lazy<LockscreenWallpaper> lockscreenWallpaperLazy, Lazy<LockscreenWallpaper> lockscreenWallpaperLazy,
@@ -830,6 +831,7 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
mStackScrollerController = notificationStackScrollLayoutController; mStackScrollerController = notificationStackScrollLayoutController;
mStackScroller = mStackScrollerController.getView(); mStackScroller = mStackScrollerController.getView();
mNotifListContainer = mStackScrollerController.getNotificationListContainer(); mNotifListContainer = mStackScrollerController.getNotificationListContainer();
mPresenter = notificationPresenter;
mDozeServiceHost = dozeServiceHost; mDozeServiceHost = dozeServiceHost;
mPowerManager = powerManager; mPowerManager = powerManager;
mDozeParameters = dozeParameters; mDozeParameters = dozeParameters;
@@ -1604,7 +1606,6 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
mShadeController.setNotificationShadeWindowViewController( mShadeController.setNotificationShadeWindowViewController(
getNotificationShadeWindowViewController()); getNotificationShadeWindowViewController());
mBackActionInteractor.setup(mQsController, mShadeSurface); mBackActionInteractor.setup(mQsController, mShadeSurface);
mPresenter = mCentralSurfacesComponent.getNotificationPresenter();
mNotificationActivityStarter = mCentralSurfacesComponent.getNotificationActivityStarter(); mNotificationActivityStarter = mCentralSurfacesComponent.getNotificationActivityStarter();
mHeadsUpManager.addListener(mCentralSurfacesComponent.getStatusBarHeadsUpChangeListener()); mHeadsUpManager.addListener(mCentralSurfacesComponent.getStatusBarHeadsUpChangeListener());

View File

@@ -32,6 +32,7 @@ import android.view.View;
import com.android.internal.statusbar.IStatusBarService; import com.android.internal.statusbar.IStatusBarService;
import com.android.systemui.InitController; import com.android.systemui.InitController;
import com.android.systemui.R; import com.android.systemui.R;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.plugins.ActivityStarter.OnDismissAction; import com.android.systemui.plugins.ActivityStarter.OnDismissAction;
import com.android.systemui.power.domain.interactor.PowerInteractor; import com.android.systemui.power.domain.interactor.PowerInteractor;
@@ -59,12 +60,11 @@ import com.android.systemui.statusbar.notification.row.NotificationGutsManager;
import com.android.systemui.statusbar.notification.row.NotificationGutsManager.OnSettingsClickListener; import com.android.systemui.statusbar.notification.row.NotificationGutsManager.OnSettingsClickListener;
import com.android.systemui.statusbar.notification.stack.NotificationListContainer; import com.android.systemui.statusbar.notification.stack.NotificationListContainer;
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController; import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController;
import com.android.systemui.statusbar.phone.dagger.CentralSurfacesComponent;
import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.statusbar.policy.KeyguardStateController;
import javax.inject.Inject; import javax.inject.Inject;
@CentralSurfacesComponent.CentralSurfacesScope @SysUISingleton
class StatusBarNotificationPresenter implements NotificationPresenter, CommandQueue.Callbacks { class StatusBarNotificationPresenter implements NotificationPresenter, CommandQueue.Callbacks {
private static final String TAG = "StatusBarNotificationPresenter"; private static final String TAG = "StatusBarNotificationPresenter";

View File

@@ -22,13 +22,11 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME;
import com.android.systemui.scene.ui.view.WindowRootView; import com.android.systemui.scene.ui.view.WindowRootView;
import com.android.systemui.shade.ShadeHeaderController; import com.android.systemui.shade.ShadeHeaderController;
import com.android.systemui.statusbar.NotificationPresenter;
import com.android.systemui.statusbar.notification.NotificationActivityStarter; import com.android.systemui.statusbar.notification.NotificationActivityStarter;
import com.android.systemui.statusbar.phone.CentralSurfacesCommandQueueCallbacks; import com.android.systemui.statusbar.phone.CentralSurfacesCommandQueueCallbacks;
import com.android.systemui.statusbar.phone.CentralSurfacesImpl; import com.android.systemui.statusbar.phone.CentralSurfacesImpl;
import com.android.systemui.statusbar.phone.StatusBarHeadsUpChangeListener; import com.android.systemui.statusbar.phone.StatusBarHeadsUpChangeListener;
import com.android.systemui.statusbar.phone.StatusBarNotificationActivityStarterModule; import com.android.systemui.statusbar.phone.StatusBarNotificationActivityStarterModule;
import com.android.systemui.statusbar.phone.StatusBarNotificationPresenterModule;
import com.android.systemui.statusbar.phone.fragment.CollapsedStatusBarFragment; import com.android.systemui.statusbar.phone.fragment.CollapsedStatusBarFragment;
import dagger.Subcomponent; import dagger.Subcomponent;
@@ -51,7 +49,6 @@ import javax.inject.Scope;
@Subcomponent(modules = { @Subcomponent(modules = {
StatusBarViewModule.class, StatusBarViewModule.class,
StatusBarNotificationActivityStarterModule.class, StatusBarNotificationActivityStarterModule.class,
StatusBarNotificationPresenterModule.class,
}) })
@CentralSurfacesComponent.CentralSurfacesScope @CentralSurfacesComponent.CentralSurfacesScope
public interface CentralSurfacesComponent { public interface CentralSurfacesComponent {
@@ -97,6 +94,4 @@ public interface CentralSurfacesComponent {
CollapsedStatusBarFragment createCollapsedStatusBarFragment(); CollapsedStatusBarFragment createCollapsedStatusBarFragment();
NotificationActivityStarter getNotificationActivityStarter(); NotificationActivityStarter getNotificationActivityStarter();
NotificationPresenter getNotificationPresenter();
} }

View File

@@ -513,6 +513,7 @@ public class CentralSurfacesImplTest extends SysuiTestCase {
mNotificationShadeWindowViewControllerLazy, mNotificationShadeWindowViewControllerLazy,
mNotificationShelfController, mNotificationShelfController,
mStackScrollerController, mStackScrollerController,
mNotificationPresenter,
mDozeParameters, mDozeParameters,
mScrimController, mScrimController,
mLockscreenWallpaperLazy, mLockscreenWallpaperLazy,
@@ -590,7 +591,6 @@ public class CentralSurfacesImplTest extends SysuiTestCase {
// TODO(b/277764509): we should be able to call mCentralSurfaces.start() and have all the // TODO(b/277764509): we should be able to call mCentralSurfaces.start() and have all the
// below values initialized automatically. // below values initialized automatically.
mCentralSurfaces.mDozeScrimController = mDozeScrimController; mCentralSurfaces.mDozeScrimController = mDozeScrimController;
mCentralSurfaces.mPresenter = mNotificationPresenter;
mCentralSurfaces.mKeyguardIndicationController = mKeyguardIndicationController; mCentralSurfaces.mKeyguardIndicationController = mKeyguardIndicationController;
mCentralSurfaces.mBarService = mBarService; mCentralSurfaces.mBarService = mBarService;
mCentralSurfaces.mGestureWakeLock = mPowerManager.newWakeLock( mCentralSurfaces.mGestureWakeLock = mPowerManager.newWakeLock(