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

Commit 118dc135 authored by Steve Elliott's avatar Steve Elliott
Browse files

Inline notif pipeline flag into SBNActivityStarter

This change is a no-op; the flag is now enabled-by-default, so all
removed code paths here are effectively dead.

Bug: 200269355
Test: atest SystemUITests
Change-Id: Ib10fa8e96a3abfe55b7ba3ae7d33d8a4e66a1e2f
parent cad876d4
Loading
Loading
Loading
Loading
+1 −2
Original line number Original line Diff line number Diff line
@@ -16,7 +16,6 @@
package com.android.systemui.statusbar.notification.collection
package com.android.systemui.statusbar.notification.collection


import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.statusbar.notification.NotifPipelineFlags
import com.android.systemui.statusbar.notification.collection.listbuilder.OnAfterRenderEntryListener
import com.android.systemui.statusbar.notification.collection.listbuilder.OnAfterRenderEntryListener
import com.android.systemui.statusbar.notification.collection.listbuilder.OnAfterRenderGroupListener
import com.android.systemui.statusbar.notification.collection.listbuilder.OnAfterRenderGroupListener
import com.android.systemui.statusbar.notification.collection.listbuilder.OnAfterRenderListListener
import com.android.systemui.statusbar.notification.collection.listbuilder.OnAfterRenderListListener
+6 −38
Original line number Original line Diff line number Diff line
@@ -52,21 +52,15 @@ import com.android.systemui.EventLogTags;
import com.android.systemui.animation.ActivityLaunchAnimator;
import com.android.systemui.animation.ActivityLaunchAnimator;
import com.android.systemui.assist.AssistManager;
import com.android.systemui.assist.AssistManager;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.NotificationClickNotifier;
import com.android.systemui.statusbar.NotificationClickNotifier;
import com.android.systemui.statusbar.NotificationLockscreenUserManager;
import com.android.systemui.statusbar.NotificationLockscreenUserManager;
import com.android.systemui.statusbar.NotificationPresenter;
import com.android.systemui.statusbar.NotificationPresenter;
import com.android.systemui.statusbar.NotificationRemoteInputManager;
import com.android.systemui.statusbar.NotificationRemoteInputManager;
import com.android.systemui.statusbar.notification.NotifPipelineFlags;
import com.android.systemui.statusbar.notification.NotificationActivityStarter;
import com.android.systemui.statusbar.notification.NotificationActivityStarter;
import com.android.systemui.statusbar.notification.NotificationEntryListener;
import com.android.systemui.statusbar.notification.NotificationEntryManager;
import com.android.systemui.statusbar.notification.NotificationLaunchAnimatorControllerProvider;
import com.android.systemui.statusbar.notification.NotificationLaunchAnimatorControllerProvider;
import com.android.systemui.statusbar.notification.collection.NotifPipeline;
import com.android.systemui.statusbar.notification.collection.NotifPipeline;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.collection.notifcollection.NotifCollectionListener;
import com.android.systemui.statusbar.notification.collection.notifcollection.NotifCollectionListener;
import com.android.systemui.statusbar.notification.collection.render.GroupMembershipManager;
import com.android.systemui.statusbar.notification.collection.render.NotificationVisibilityProvider;
import com.android.systemui.statusbar.notification.collection.render.NotificationVisibilityProvider;
import com.android.systemui.statusbar.notification.interruption.NotificationInterruptStateProvider;
import com.android.systemui.statusbar.notification.interruption.NotificationInterruptStateProvider;
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
@@ -92,24 +86,19 @@ class StatusBarNotificationActivityStarter implements NotificationActivityStarte


    private final Context mContext;
    private final Context mContext;


    private final CommandQueue mCommandQueue;
    private final Handler mMainThreadHandler;
    private final Handler mMainThreadHandler;
    private final Executor mUiBgExecutor;
    private final Executor mUiBgExecutor;


    private final NotificationEntryManager mEntryManager;
    private final NotifPipeline mNotifPipeline;
    private final NotificationVisibilityProvider mVisibilityProvider;
    private final NotificationVisibilityProvider mVisibilityProvider;
    private final HeadsUpManagerPhone mHeadsUpManager;
    private final HeadsUpManagerPhone mHeadsUpManager;
    private final ActivityStarter mActivityStarter;
    private final ActivityStarter mActivityStarter;
    private final NotificationClickNotifier mClickNotifier;
    private final NotificationClickNotifier mClickNotifier;
    private final StatusBarStateController mStatusBarStateController;
    private final StatusBarKeyguardViewManager mStatusBarKeyguardViewManager;
    private final StatusBarKeyguardViewManager mStatusBarKeyguardViewManager;
    private final KeyguardManager mKeyguardManager;
    private final KeyguardManager mKeyguardManager;
    private final IDreamManager mDreamManager;
    private final IDreamManager mDreamManager;
    private final Optional<BubblesManager> mBubblesManagerOptional;
    private final Optional<BubblesManager> mBubblesManagerOptional;
    private final Lazy<AssistManager> mAssistManagerLazy;
    private final Lazy<AssistManager> mAssistManagerLazy;
    private final NotificationRemoteInputManager mRemoteInputManager;
    private final NotificationRemoteInputManager mRemoteInputManager;
    private final GroupMembershipManager mGroupMembershipManager;
    private final NotificationLockscreenUserManager mLockscreenUserManager;
    private final NotificationLockscreenUserManager mLockscreenUserManager;
    private final ShadeController mShadeController;
    private final ShadeController mShadeController;
    private final KeyguardStateController mKeyguardStateController;
    private final KeyguardStateController mKeyguardStateController;
@@ -118,7 +107,6 @@ class StatusBarNotificationActivityStarter implements NotificationActivityStarte
    private final StatusBarRemoteInputCallback mStatusBarRemoteInputCallback;
    private final StatusBarRemoteInputCallback mStatusBarRemoteInputCallback;
    private final ActivityIntentHelper mActivityIntentHelper;
    private final ActivityIntentHelper mActivityIntentHelper;


    private final NotifPipelineFlags mNotifPipelineFlags;
    private final MetricsLogger mMetricsLogger;
    private final MetricsLogger mMetricsLogger;
    private final StatusBarNotificationActivityStarterLogger mLogger;
    private final StatusBarNotificationActivityStarterLogger mLogger;


@@ -134,23 +122,19 @@ class StatusBarNotificationActivityStarter implements NotificationActivityStarte
    @Inject
    @Inject
    StatusBarNotificationActivityStarter(
    StatusBarNotificationActivityStarter(
            Context context,
            Context context,
            CommandQueue commandQueue,
            Handler mainThreadHandler,
            Handler mainThreadHandler,
            Executor uiBgExecutor,
            Executor uiBgExecutor,
            NotificationEntryManager entryManager,
            NotifPipeline notifPipeline,
            NotifPipeline notifPipeline,
            NotificationVisibilityProvider visibilityProvider,
            NotificationVisibilityProvider visibilityProvider,
            HeadsUpManagerPhone headsUpManager,
            HeadsUpManagerPhone headsUpManager,
            ActivityStarter activityStarter,
            ActivityStarter activityStarter,
            NotificationClickNotifier clickNotifier,
            NotificationClickNotifier clickNotifier,
            StatusBarStateController statusBarStateController,
            StatusBarKeyguardViewManager statusBarKeyguardViewManager,
            StatusBarKeyguardViewManager statusBarKeyguardViewManager,
            KeyguardManager keyguardManager,
            KeyguardManager keyguardManager,
            IDreamManager dreamManager,
            IDreamManager dreamManager,
            Optional<BubblesManager> bubblesManagerOptional,
            Optional<BubblesManager> bubblesManagerOptional,
            Lazy<AssistManager> assistManagerLazy,
            Lazy<AssistManager> assistManagerLazy,
            NotificationRemoteInputManager remoteInputManager,
            NotificationRemoteInputManager remoteInputManager,
            GroupMembershipManager groupMembershipManager,
            NotificationLockscreenUserManager lockscreenUserManager,
            NotificationLockscreenUserManager lockscreenUserManager,
            ShadeController shadeController,
            ShadeController shadeController,
            KeyguardStateController keyguardStateController,
            KeyguardStateController keyguardStateController,
@@ -158,7 +142,6 @@ class StatusBarNotificationActivityStarter implements NotificationActivityStarte
            LockPatternUtils lockPatternUtils,
            LockPatternUtils lockPatternUtils,
            StatusBarRemoteInputCallback remoteInputCallback,
            StatusBarRemoteInputCallback remoteInputCallback,
            ActivityIntentHelper activityIntentHelper,
            ActivityIntentHelper activityIntentHelper,
            NotifPipelineFlags notifPipelineFlags,
            MetricsLogger metricsLogger,
            MetricsLogger metricsLogger,
            StatusBarNotificationActivityStarterLogger logger,
            StatusBarNotificationActivityStarterLogger logger,
            OnUserInteractionCallback onUserInteractionCallback,
            OnUserInteractionCallback onUserInteractionCallback,
@@ -168,23 +151,18 @@ class StatusBarNotificationActivityStarter implements NotificationActivityStarte
            ActivityLaunchAnimator activityLaunchAnimator,
            ActivityLaunchAnimator activityLaunchAnimator,
            NotificationLaunchAnimatorControllerProvider notificationAnimationProvider) {
            NotificationLaunchAnimatorControllerProvider notificationAnimationProvider) {
        mContext = context;
        mContext = context;
        mCommandQueue = commandQueue;
        mMainThreadHandler = mainThreadHandler;
        mMainThreadHandler = mainThreadHandler;
        mUiBgExecutor = uiBgExecutor;
        mUiBgExecutor = uiBgExecutor;
        mEntryManager = entryManager;
        mNotifPipeline = notifPipeline;
        mVisibilityProvider = visibilityProvider;
        mVisibilityProvider = visibilityProvider;
        mHeadsUpManager = headsUpManager;
        mHeadsUpManager = headsUpManager;
        mActivityStarter = activityStarter;
        mActivityStarter = activityStarter;
        mClickNotifier = clickNotifier;
        mClickNotifier = clickNotifier;
        mStatusBarStateController = statusBarStateController;
        mStatusBarKeyguardViewManager = statusBarKeyguardViewManager;
        mStatusBarKeyguardViewManager = statusBarKeyguardViewManager;
        mKeyguardManager = keyguardManager;
        mKeyguardManager = keyguardManager;
        mDreamManager = dreamManager;
        mDreamManager = dreamManager;
        mBubblesManagerOptional = bubblesManagerOptional;
        mBubblesManagerOptional = bubblesManagerOptional;
        mAssistManagerLazy = assistManagerLazy;
        mAssistManagerLazy = assistManagerLazy;
        mRemoteInputManager = remoteInputManager;
        mRemoteInputManager = remoteInputManager;
        mGroupMembershipManager = groupMembershipManager;
        mLockscreenUserManager = lockscreenUserManager;
        mLockscreenUserManager = lockscreenUserManager;
        mShadeController = shadeController;
        mShadeController = shadeController;
        mKeyguardStateController = keyguardStateController;
        mKeyguardStateController = keyguardStateController;
@@ -192,7 +170,6 @@ class StatusBarNotificationActivityStarter implements NotificationActivityStarte
        mLockPatternUtils = lockPatternUtils;
        mLockPatternUtils = lockPatternUtils;
        mStatusBarRemoteInputCallback = remoteInputCallback;
        mStatusBarRemoteInputCallback = remoteInputCallback;
        mActivityIntentHelper = activityIntentHelper;
        mActivityIntentHelper = activityIntentHelper;
        mNotifPipelineFlags = notifPipelineFlags;
        mMetricsLogger = metricsLogger;
        mMetricsLogger = metricsLogger;
        mLogger = logger;
        mLogger = logger;
        mOnUserInteractionCallback = onUserInteractionCallback;
        mOnUserInteractionCallback = onUserInteractionCallback;
@@ -203,22 +180,13 @@ class StatusBarNotificationActivityStarter implements NotificationActivityStarte
        mActivityLaunchAnimator = activityLaunchAnimator;
        mActivityLaunchAnimator = activityLaunchAnimator;
        mNotificationAnimationProvider = notificationAnimationProvider;
        mNotificationAnimationProvider = notificationAnimationProvider;


        if (!mNotifPipelineFlags.isNewPipelineEnabled()) {
        notifPipeline.addCollectionListener(new NotifCollectionListener() {
            mEntryManager.addNotificationEntryListener(new NotificationEntryListener() {
                @Override
                public void onPendingEntryAdded(NotificationEntry entry) {
                    handleFullScreenIntent(entry);
                }
            });
        } else {
            mNotifPipeline.addCollectionListener(new NotifCollectionListener() {
            @Override
            @Override
            public void onEntryAdded(NotificationEntry entry) {
            public void onEntryAdded(NotificationEntry entry) {
                handleFullScreenIntent(entry);
                handleFullScreenIntent(entry);
            }
            }
        });
        });
    }
    }
    }


    /**
    /**
     * Called when a notification is clicked.
     * Called when a notification is clicked.
+8 −21
Original line number Original line Diff line number Diff line
@@ -59,18 +59,15 @@ import com.android.systemui.assist.AssistManager;
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.plugins.statusbar.StatusBarStateController;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.NotificationClickNotifier;
import com.android.systemui.statusbar.NotificationClickNotifier;
import com.android.systemui.statusbar.NotificationLockscreenUserManager;
import com.android.systemui.statusbar.NotificationLockscreenUserManager;
import com.android.systemui.statusbar.NotificationPresenter;
import com.android.systemui.statusbar.NotificationPresenter;
import com.android.systemui.statusbar.NotificationRemoteInputManager;
import com.android.systemui.statusbar.NotificationRemoteInputManager;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.notification.NotifPipelineFlags;
import com.android.systemui.statusbar.notification.NotificationEntryManager;
import com.android.systemui.statusbar.notification.NotificationEntryManager;
import com.android.systemui.statusbar.notification.NotificationLaunchAnimatorControllerProvider;
import com.android.systemui.statusbar.notification.NotificationLaunchAnimatorControllerProvider;
import com.android.systemui.statusbar.notification.collection.NotifPipeline;
import com.android.systemui.statusbar.notification.collection.NotifPipeline;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.collection.legacy.NotificationGroupManagerLegacy;
import com.android.systemui.statusbar.notification.collection.render.NotificationVisibilityProvider;
import com.android.systemui.statusbar.notification.collection.render.NotificationVisibilityProvider;
import com.android.systemui.statusbar.notification.interruption.NotificationInterruptStateProvider;
import com.android.systemui.statusbar.notification.interruption.NotificationInterruptStateProvider;
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
@@ -127,8 +124,6 @@ public class StatusBarNotificationActivityStarterTest extends SysuiTestCase {
    @Mock
    @Mock
    private ShadeControllerImpl mShadeController;
    private ShadeControllerImpl mShadeController;
    @Mock
    @Mock
    private NotifPipelineFlags mNotifPipelineFlags;
    @Mock
    private NotifPipeline mNotifPipeline;
    private NotifPipeline mNotifPipeline;
    @Mock
    @Mock
    private NotificationVisibilityProvider mVisibilityProvider;
    private NotificationVisibilityProvider mVisibilityProvider;
@@ -148,15 +143,13 @@ public class StatusBarNotificationActivityStarterTest extends SysuiTestCase {
    private ActivityLaunchAnimator mActivityLaunchAnimator;
    private ActivityLaunchAnimator mActivityLaunchAnimator;
    @Mock
    @Mock
    private InteractionJankMonitor mJankMonitor;
    private InteractionJankMonitor mJankMonitor;
    private FakeExecutor mUiBgExecutor = new FakeExecutor(new FakeSystemClock());
    private final FakeExecutor mUiBgExecutor = new FakeExecutor(new FakeSystemClock());
    private NotificationTestHelper mNotificationTestHelper;
    private ExpandableNotificationRow mNotificationRow;
    private ExpandableNotificationRow mNotificationRow;
    private ExpandableNotificationRow mBubbleNotificationRow;
    private ExpandableNotificationRow mBubbleNotificationRow;


    private final Answer<Void> mCallOnDismiss = answerVoid(
    private final Answer<Void> mCallOnDismiss = answerVoid(
            (OnDismissAction dismissAction, Runnable cancel,
            (OnDismissAction dismissAction, Runnable cancel,
                    Boolean afterKeyguardGone) -> dismissAction.onDismiss());
                    Boolean afterKeyguardGone) -> dismissAction.onDismiss());
    private ArrayList<NotificationEntry> mActiveNotifications;


    @Before
    @Before
    public void setUp() throws Exception {
    public void setUp() throws Exception {
@@ -165,29 +158,28 @@ public class StatusBarNotificationActivityStarterTest extends SysuiTestCase {
        when(mContentIntent.getCreatorUserHandle()).thenReturn(UserHandle.of(1));
        when(mContentIntent.getCreatorUserHandle()).thenReturn(UserHandle.of(1));
        when(mContentIntent.getIntent()).thenReturn(mContentIntentInner);
        when(mContentIntent.getIntent()).thenReturn(mContentIntentInner);


        mNotificationTestHelper = new NotificationTestHelper(
        NotificationTestHelper notificationTestHelper = new NotificationTestHelper(
                mContext,
                mContext,
                mDependency,
                mDependency,
                TestableLooper.get(this));
                TestableLooper.get(this));


        // Create standard notification with contentIntent
        // Create standard notification with contentIntent
        mNotificationRow = mNotificationTestHelper.createRow();
        mNotificationRow = notificationTestHelper.createRow();
        StatusBarNotification sbn = mNotificationRow.getEntry().getSbn();
        StatusBarNotification sbn = mNotificationRow.getEntry().getSbn();
        sbn.getNotification().contentIntent = mContentIntent;
        sbn.getNotification().contentIntent = mContentIntent;
        sbn.getNotification().flags |= Notification.FLAG_AUTO_CANCEL;
        sbn.getNotification().flags |= Notification.FLAG_AUTO_CANCEL;


        // Create bubble notification row with contentIntent
        // Create bubble notification row with contentIntent
        mBubbleNotificationRow = mNotificationTestHelper.createBubble();
        mBubbleNotificationRow = notificationTestHelper.createBubble();
        StatusBarNotification bubbleSbn = mBubbleNotificationRow.getEntry().getSbn();
        StatusBarNotification bubbleSbn = mBubbleNotificationRow.getEntry().getSbn();
        bubbleSbn.getNotification().contentIntent = mContentIntent;
        bubbleSbn.getNotification().contentIntent = mContentIntent;
        bubbleSbn.getNotification().flags |= Notification.FLAG_AUTO_CANCEL;
        bubbleSbn.getNotification().flags |= Notification.FLAG_AUTO_CANCEL;


        mActiveNotifications = new ArrayList<>();
        ArrayList<NotificationEntry> activeNotifications = new ArrayList<>();
        mActiveNotifications.add(mNotificationRow.getEntry());
        activeNotifications.add(mNotificationRow.getEntry());
        mActiveNotifications.add(mBubbleNotificationRow.getEntry());
        activeNotifications.add(mBubbleNotificationRow.getEntry());
        when(mEntryManager.getVisibleNotifications()).thenReturn(mActiveNotifications);
        when(mEntryManager.getVisibleNotifications()).thenReturn(activeNotifications);
        when(mStatusBarStateController.getState()).thenReturn(StatusBarState.SHADE);
        when(mStatusBarStateController.getState()).thenReturn(StatusBarState.SHADE);
        when(mNotifPipelineFlags.isNewPipelineEnabled()).thenReturn(false);
        when(mOnUserInteractionCallback.registerFutureDismissal(eq(mNotificationRow.getEntry()),
        when(mOnUserInteractionCallback.registerFutureDismissal(eq(mNotificationRow.getEntry()),
                anyInt())).thenReturn(mFutureDismissalRunnable);
                anyInt())).thenReturn(mFutureDismissalRunnable);
        when(mVisibilityProvider.obtain(anyString(), anyBoolean()))
        when(mVisibilityProvider.obtain(anyString(), anyBoolean()))
@@ -207,23 +199,19 @@ public class StatusBarNotificationActivityStarterTest extends SysuiTestCase {
        mNotificationActivityStarter =
        mNotificationActivityStarter =
                new StatusBarNotificationActivityStarter(
                new StatusBarNotificationActivityStarter(
                        getContext(),
                        getContext(),
                        mock(CommandQueue.class),
                        mHandler,
                        mHandler,
                        mUiBgExecutor,
                        mUiBgExecutor,
                        mEntryManager,
                        mNotifPipeline,
                        mNotifPipeline,
                        mVisibilityProvider,
                        mVisibilityProvider,
                        headsUpManager,
                        headsUpManager,
                        mActivityStarter,
                        mActivityStarter,
                        mClickNotifier,
                        mClickNotifier,
                        mock(StatusBarStateController.class),
                        mStatusBarKeyguardViewManager,
                        mStatusBarKeyguardViewManager,
                        mock(KeyguardManager.class),
                        mock(KeyguardManager.class),
                        mock(IDreamManager.class),
                        mock(IDreamManager.class),
                        Optional.of(mBubblesManager),
                        Optional.of(mBubblesManager),
                        () -> mAssistManager,
                        () -> mAssistManager,
                        mRemoteInputManager,
                        mRemoteInputManager,
                        mock(NotificationGroupManagerLegacy.class),
                        mock(NotificationLockscreenUserManager.class),
                        mock(NotificationLockscreenUserManager.class),
                        mShadeController,
                        mShadeController,
                        mKeyguardStateController,
                        mKeyguardStateController,
@@ -231,7 +219,6 @@ public class StatusBarNotificationActivityStarterTest extends SysuiTestCase {
                        mock(LockPatternUtils.class),
                        mock(LockPatternUtils.class),
                        mock(StatusBarRemoteInputCallback.class),
                        mock(StatusBarRemoteInputCallback.class),
                        mActivityIntentHelper,
                        mActivityIntentHelper,
                        mNotifPipelineFlags,
                        mock(MetricsLogger.class),
                        mock(MetricsLogger.class),
                        mock(StatusBarNotificationActivityStarterLogger.class),
                        mock(StatusBarNotificationActivityStarterLogger.class),
                        mOnUserInteractionCallback,
                        mOnUserInteractionCallback,
+1 −1

File changed.

Contains only whitespace changes.