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

Commit c20a8d84 authored by Steve Elliott's avatar Steve Elliott
Browse files

Inline notif pipeline flag into NSSLController

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: I1800d66bbeb3c46e505ffbdd35b650a1a06382b9
parent ea5be36f
Loading
Loading
Loading
Loading
+17 −83
Original line number Original line Diff line number Diff line
@@ -28,7 +28,6 @@ import static com.android.systemui.statusbar.notification.stack.NotificationStac
import static com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout.ROWS_GENTLE;
import static com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout.ROWS_GENTLE;
import static com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout.ROWS_HIGH_PRIORITY;
import static com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout.ROWS_HIGH_PRIORITY;
import static com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout.SelectedRows;
import static com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout.SelectedRows;
import static com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout.canChildBeCleared;
import static com.android.systemui.statusbar.phone.NotificationIconAreaController.HIGH_PRIORITY;
import static com.android.systemui.statusbar.phone.NotificationIconAreaController.HIGH_PRIORITY;


import android.content.res.Configuration;
import android.content.res.Configuration;
@@ -38,12 +37,10 @@ import android.graphics.PointF;
import android.os.Trace;
import android.os.Trace;
import android.os.UserHandle;
import android.os.UserHandle;
import android.provider.Settings;
import android.provider.Settings;
import android.service.notification.NotificationListenerService;
import android.service.notification.StatusBarNotification;
import android.service.notification.StatusBarNotification;
import android.util.Log;
import android.util.Log;
import android.util.Pair;
import android.util.Pair;
import android.view.Display;
import android.view.Display;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.MotionEvent;
import android.view.View;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup;
@@ -53,20 +50,17 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.Nullable;


import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.colorextraction.ColorExtractor;
import com.android.internal.jank.InteractionJankMonitor;
import com.android.internal.jank.InteractionJankMonitor;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.UiEvent;
import com.android.internal.logging.UiEvent;
import com.android.internal.logging.UiEventLogger;
import com.android.internal.logging.UiEventLogger;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.statusbar.IStatusBarService;
import com.android.systemui.ExpandHelper;
import com.android.systemui.ExpandHelper;
import com.android.systemui.Gefingerpoken;
import com.android.systemui.Gefingerpoken;
import com.android.systemui.R;
import com.android.systemui.R;
import com.android.systemui.SwipeHelper;
import com.android.systemui.SwipeHelper;
import com.android.systemui.classifier.Classifier;
import com.android.systemui.classifier.Classifier;
import com.android.systemui.classifier.FalsingCollector;
import com.android.systemui.classifier.FalsingCollector;
import com.android.systemui.colorextraction.SysuiColorExtractor;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.media.KeyguardMediaController;
import com.android.systemui.media.KeyguardMediaController;
@@ -85,9 +79,7 @@ import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.SysuiStatusBarStateController;
import com.android.systemui.statusbar.SysuiStatusBarStateController;
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
import com.android.systemui.statusbar.notification.LaunchAnimationParameters;
import com.android.systemui.statusbar.notification.LaunchAnimationParameters;
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.NotificationEntryManager;
import com.android.systemui.statusbar.notification.collection.NotifCollection;
import com.android.systemui.statusbar.notification.collection.NotifCollection;
import com.android.systemui.statusbar.notification.collection.NotifPipeline;
import com.android.systemui.statusbar.notification.collection.NotifPipeline;
@@ -163,13 +155,10 @@ public class NotificationStackScrollLayoutController {
    private final Resources mResources;
    private final Resources mResources;
    private final NotificationSwipeHelper.Builder mNotificationSwipeHelperBuilder;
    private final NotificationSwipeHelper.Builder mNotificationSwipeHelperBuilder;
    private final ScrimController mScrimController;
    private final ScrimController mScrimController;
    private final NotifPipelineFlags mNotifPipelineFlags;
    private final NotifPipeline mNotifPipeline;
    private final NotifPipeline mNotifPipeline;
    private final NotifCollection mNotifCollection;
    private final NotifCollection mNotifCollection;
    private final NotificationEntryManager mNotificationEntryManager;
    private final NotificationEntryManager mNotificationEntryManager;
    private final IStatusBarService mIStatusBarService;
    private final UiEventLogger mUiEventLogger;
    private final UiEventLogger mUiEventLogger;
    private final LayoutInflater mLayoutInflater;
    private final NotificationRemoteInputManager mRemoteInputManager;
    private final NotificationRemoteInputManager mRemoteInputManager;
    private final VisualStabilityManager mVisualStabilityManager;
    private final VisualStabilityManager mVisualStabilityManager;
    private final ShadeController mShadeController;
    private final ShadeController mShadeController;
@@ -206,8 +195,6 @@ public class NotificationStackScrollLayoutController {
    @Nullable
    @Nullable
    private NotificationActivityStarter mNotificationActivityStarter;
    private NotificationActivityStarter mNotificationActivityStarter;


    private ColorExtractor.OnColorsChangedListener mOnColorsChangedListener;

    @VisibleForTesting
    @VisibleForTesting
    final View.OnAttachStateChangeListener mOnAttachStateChangeListener =
    final View.OnAttachStateChangeListener mOnAttachStateChangeListener =
            new View.OnAttachStateChangeListener() {
            new View.OnAttachStateChangeListener() {
@@ -256,10 +243,7 @@ public class NotificationStackScrollLayoutController {
            mView.setAnimateBottomOnLayout(true);
            mView.setAnimateBottomOnLayout(true);
        }
        }
        // Let's update the footer once the notifications have been updated (in the next frame)
        // Let's update the footer once the notifications have been updated (in the next frame)
        mView.post(() -> {
        mView.post(this::updateFooter);
            updateFooter();
            updateSectionBoundaries("dynamic privacy changed");
        });
    };
    };


    @VisibleForTesting
    @VisibleForTesting
@@ -634,7 +618,6 @@ public class NotificationStackScrollLayoutController {
            KeyguardMediaController keyguardMediaController,
            KeyguardMediaController keyguardMediaController,
            KeyguardBypassController keyguardBypassController,
            KeyguardBypassController keyguardBypassController,
            ZenModeController zenModeController,
            ZenModeController zenModeController,
            SysuiColorExtractor colorExtractor,
            NotificationLockscreenUserManager lockscreenUserManager,
            NotificationLockscreenUserManager lockscreenUserManager,
            MetricsLogger metricsLogger,
            MetricsLogger metricsLogger,
            DumpManager dumpManager,
            DumpManager dumpManager,
@@ -647,15 +630,12 @@ public class NotificationStackScrollLayoutController {
            NotificationGroupManagerLegacy legacyGroupManager,
            NotificationGroupManagerLegacy legacyGroupManager,
            GroupExpansionManager groupManager,
            GroupExpansionManager groupManager,
            @SilentHeader SectionHeaderController silentHeaderController,
            @SilentHeader SectionHeaderController silentHeaderController,
            NotifPipelineFlags notifPipelineFlags,
            NotifPipeline notifPipeline,
            NotifPipeline notifPipeline,
            NotifCollection notifCollection,
            NotifCollection notifCollection,
            NotificationEntryManager notificationEntryManager,
            NotificationEntryManager notificationEntryManager,
            LockscreenShadeTransitionController lockscreenShadeTransitionController,
            LockscreenShadeTransitionController lockscreenShadeTransitionController,
            ShadeTransitionController shadeTransitionController,
            ShadeTransitionController shadeTransitionController,
            IStatusBarService iStatusBarService,
            UiEventLogger uiEventLogger,
            UiEventLogger uiEventLogger,
            LayoutInflater layoutInflater,
            NotificationRemoteInputManager remoteInputManager,
            NotificationRemoteInputManager remoteInputManager,
            VisualStabilityManager visualStabilityManager,
            VisualStabilityManager visualStabilityManager,
            ShadeController shadeController,
            ShadeController shadeController,
@@ -698,14 +678,11 @@ public class NotificationStackScrollLayoutController {
                mCentralSurfaces.requestNotificationUpdate("onGroupsChanged");
                mCentralSurfaces.requestNotificationUpdate("onGroupsChanged");
            }
            }
        });
        });
        mNotifPipelineFlags = notifPipelineFlags;
        mSilentHeaderController = silentHeaderController;
        mSilentHeaderController = silentHeaderController;
        mNotifPipeline = notifPipeline;
        mNotifPipeline = notifPipeline;
        mNotifCollection = notifCollection;
        mNotifCollection = notifCollection;
        mNotificationEntryManager = notificationEntryManager;
        mNotificationEntryManager = notificationEntryManager;
        mIStatusBarService = iStatusBarService;
        mUiEventLogger = uiEventLogger;
        mUiEventLogger = uiEventLogger;
        mLayoutInflater = layoutInflater;
        mRemoteInputManager = remoteInputManager;
        mRemoteInputManager = remoteInputManager;
        mVisualStabilityManager = visualStabilityManager;
        mVisualStabilityManager = visualStabilityManager;
        mShadeController = shadeController;
        mShadeController = shadeController;
@@ -745,21 +722,12 @@ public class NotificationStackScrollLayoutController {
                .setOnMenuEventListener(mMenuEventListener)
                .setOnMenuEventListener(mMenuEventListener)
                .build();
                .build();


        if (mNotifPipelineFlags.isNewPipelineEnabled()) {
        mNotifPipeline.addCollectionListener(new NotifCollectionListener() {
        mNotifPipeline.addCollectionListener(new NotifCollectionListener() {
            @Override
            @Override
            public void onEntryUpdated(NotificationEntry entry) {
            public void onEntryUpdated(NotificationEntry entry) {
                mView.onEntryUpdated(entry);
                mView.onEntryUpdated(entry);
            }
            }
        });
        });
        } else {
            mNotificationEntryManager.addNotificationEntryListener(new NotificationEntryListener() {
                @Override
                public void onPreEntryUpdated(NotificationEntry entry) {
                    mView.onEntryUpdated(entry);
                }
            });
        }


        mView.initView(mView.getContext(), mSwipeHelper, mNotificationStackSizeCalculator);
        mView.initView(mView.getContext(), mSwipeHelper, mNotificationStackSizeCalculator);
        mView.setKeyguardBypassEnabled(mKeyguardBypassController.getBypassEnabled());
        mView.setKeyguardBypassEnabled(mKeyguardBypassController.getBypassEnabled());
@@ -1231,10 +1199,6 @@ public class NotificationStackScrollLayoutController {
        Trace.endSection();
        Trace.endSection();
    }
    }


    public boolean areNotificationsHiddenInShade() {
        return mZenModeController.areNotificationsHiddenInShade();
    }

    public boolean isShowingEmptyShadeView() {
    public boolean isShowingEmptyShadeView() {
        return mShowEmptyShadeView;
        return mShowEmptyShadeView;
    }
    }
@@ -1339,15 +1303,6 @@ public class NotificationStackScrollLayoutController {
        };
        };
    }
    }


    public void updateSectionBoundaries(String reason) {
        if (mNotifPipelineFlags.isNewPipelineEnabled()) {
            return;
        }
        Trace.beginSection("NSSLC.updateSectionBoundaries");
        mView.updateSectionBoundaries(reason);
        Trace.endSection();
    }

    public void updateFooter() {
    public void updateFooter() {
        Trace.beginSection("NSSLC.updateFooter");
        Trace.beginSection("NSSLC.updateFooter");
        mView.updateFooter();
        mView.updateFooter();
@@ -1463,7 +1418,6 @@ public class NotificationStackScrollLayoutController {


    private void onAnimationEnd(List<ExpandableNotificationRow> viewsToRemove,
    private void onAnimationEnd(List<ExpandableNotificationRow> viewsToRemove,
            @SelectedRows int selectedRows) {
            @SelectedRows int selectedRows) {
        if (mNotifPipelineFlags.isNewPipelineEnabled()) {
        if (selectedRows == ROWS_ALL) {
        if (selectedRows == ROWS_ALL) {
            mNotifCollection.dismissAllNotifications(
            mNotifCollection.dismissAllNotifications(
                    mLockscreenUserManager.getCurrentUserId());
                    mLockscreenUserManager.getCurrentUserId());
@@ -1477,26 +1431,6 @@ public class NotificationStackScrollLayoutController {
            }
            }
            mNotifCollection.dismissNotifications(entriesWithRowsDismissedFromShade);
            mNotifCollection.dismissNotifications(entriesWithRowsDismissedFromShade);
        }
        }
        } else {
            for (ExpandableNotificationRow rowToRemove : viewsToRemove) {
                if (canChildBeCleared(rowToRemove)) {
                    mNotificationEntryManager.performRemoveNotification(
                            rowToRemove.getEntry().getSbn(),
                            getDismissedByUserStats(rowToRemove.getEntry()),
                            NotificationListenerService.REASON_CANCEL_ALL);
                } else {
                    rowToRemove.resetTranslation();
                }
            }
            if (selectedRows == ROWS_ALL) {
                try {
                    // TODO(b/169585328): Do not clear media player notifications
                    mIStatusBarService.onClearAllNotifications(
                            mLockscreenUserManager.getCurrentUserId());
                } catch (Exception ignored) {
                }
            }
        }
    }
    }


    /**
    /**
+0 −1
Original line number Original line Diff line number Diff line
@@ -3979,7 +3979,6 @@ public class NotificationPanelViewController extends PanelViewController {
     * {@link ShadeViewManager}.
     * {@link ShadeViewManager}.
     */
     */
    public void updateNotificationViews(String reason) {
    public void updateNotificationViews(String reason) {
        mNotificationStackScrollLayoutController.updateSectionBoundaries(reason);
        mNotificationStackScrollLayoutController.updateFooter();
        mNotificationStackScrollLayoutController.updateFooter();


        mNotificationIconAreaController.updateNotificationIcons(createVisibleEntriesList());
        mNotificationIconAreaController.updateNotificationIcons(createVisibleEntriesList());
+0 −5
Original line number Original line Diff line number Diff line
@@ -150,7 +150,6 @@ public class NotificationStackScrollLayoutControllerTest extends SysuiTestCase {
        MockitoAnnotations.initMocks(this);
        MockitoAnnotations.initMocks(this);


        when(mNotificationSwipeHelperBuilder.build()).thenReturn(mNotificationSwipeHelper);
        when(mNotificationSwipeHelperBuilder.build()).thenReturn(mNotificationSwipeHelper);
        when(mNotifPipelineFlags.isNewPipelineEnabled()).thenReturn(false);


        mController = new NotificationStackScrollLayoutController(
        mController = new NotificationStackScrollLayoutController(
                true,
                true,
@@ -166,7 +165,6 @@ public class NotificationStackScrollLayoutControllerTest extends SysuiTestCase {
                mKeyguardMediaController,
                mKeyguardMediaController,
                mKeyguardBypassController,
                mKeyguardBypassController,
                mZenModeController,
                mZenModeController,
                mColorExtractor,
                mNotificationLockscreenUserManager,
                mNotificationLockscreenUserManager,
                mMetricsLogger,
                mMetricsLogger,
                mDumpManager,
                mDumpManager,
@@ -179,15 +177,12 @@ public class NotificationStackScrollLayoutControllerTest extends SysuiTestCase {
                mLegacyGroupManager,
                mLegacyGroupManager,
                mLegacyGroupManager,
                mLegacyGroupManager,
                mSilentHeaderController,
                mSilentHeaderController,
                mNotifPipelineFlags,
                mNotifPipeline,
                mNotifPipeline,
                mNotifCollection,
                mNotifCollection,
                mEntryManager,
                mEntryManager,
                mLockscreenShadeTransitionController,
                mLockscreenShadeTransitionController,
                mShadeTransitionController,
                mShadeTransitionController,
                mIStatusBarService,
                mUiEventLogger,
                mUiEventLogger,
                mLayoutInflater,
                mRemoteInputManager,
                mRemoteInputManager,
                mVisualStabilityManager,
                mVisualStabilityManager,
                mShadeController,
                mShadeController,