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

Commit 8120ae65 authored by Caitlin Shkuratov's avatar Caitlin Shkuratov
Browse files

[Central Surfaces] Have NSSL call NotificationsController directly.

Removes a CentralSurfaces reference by having NSSL talk directly to
NotificationsController instead of indirectly through
CentralSurfacesImpl.

Bug: 277764509
Bug: 277762009
Test: manual: verified NotificationsController#resetUserExpandedStates
called on screen off and after collapsing the shade while on lockscreen
Test: atest NotificationStackScrollLayoutControllerTest
NotificationStackScrollLayoutTest

Change-Id: I6137e77906862c84daa700d61983b399974609ad
parent 31e69820
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -104,13 +104,13 @@ import com.android.systemui.statusbar.notification.NotificationUtils;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.collection.render.GroupExpansionManager;
import com.android.systemui.statusbar.notification.collection.render.GroupMembershipManager;
import com.android.systemui.statusbar.notification.init.NotificationsController;
import com.android.systemui.statusbar.notification.logging.NotificationLogger;
import com.android.systemui.statusbar.notification.row.ActivatableNotificationView;
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
import com.android.systemui.statusbar.notification.row.ExpandableView;
import com.android.systemui.statusbar.notification.row.FooterView;
import com.android.systemui.statusbar.notification.row.StackScrollerDecorView;
import com.android.systemui.statusbar.phone.CentralSurfaces;
import com.android.systemui.statusbar.phone.HeadsUpAppearanceController;
import com.android.systemui.statusbar.phone.HeadsUpTouchHelper;
import com.android.systemui.statusbar.phone.ScreenOffAnimationController;
@@ -315,7 +315,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
        }
    };
    private NotificationStackScrollLogger mLogger;
    private CentralSurfaces mCentralSurfaces;
    private NotificationsController mNotificationsController;
    private ActivityStarter mActivityStarter;
    private final int[] mTempInt2 = new int[2];
    private boolean mGenerateChildOrderChangedEvent;
@@ -3989,7 +3989,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
        mAmbientState.setExpansionChanging(false);
        if (!mIsExpanded) {
            resetScrollPosition();
            mCentralSurfaces.resetUserExpandedStates();
            mNotificationsController.resetUserExpandedStates();
            clearTemporaryViews();
            clearUserLockedViews();
            cancelActiveSwipe();
@@ -4570,8 +4570,8 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
        return max + getStackTranslation();
    }

    public void setCentralSurfaces(CentralSurfaces centralSurfaces) {
        this.mCentralSurfaces = centralSurfaces;
    public void setNotificationsController(NotificationsController notificationsController) {
        this.mNotificationsController = notificationsController;
    }

    public void setActivityStarter(ActivityStarter activityStarter) {
+5 −1
Original line number Diff line number Diff line
@@ -100,6 +100,7 @@ import com.android.systemui.statusbar.notification.collection.render.NotifStats;
import com.android.systemui.statusbar.notification.collection.render.NotificationVisibilityProvider;
import com.android.systemui.statusbar.notification.collection.render.SectionHeaderController;
import com.android.systemui.statusbar.notification.dagger.SilentHeader;
import com.android.systemui.statusbar.notification.init.NotificationsController;
import com.android.systemui.statusbar.notification.logging.NotificationLogger;
import com.android.systemui.statusbar.notification.row.ActivatableNotificationView;
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
@@ -146,6 +147,7 @@ public class NotificationStackScrollLayoutController {

    private final boolean mAllowLongPress;
    private final NotificationGutsManager mNotificationGutsManager;
    private final NotificationsController mNotificationsController;
    private final NotificationVisibilityProvider mVisibilityProvider;
    private final HeadsUpManagerPhone mHeadsUpManager;
    private final NotificationRoundnessManager mNotificationRoundnessManager;
@@ -616,6 +618,7 @@ public class NotificationStackScrollLayoutController {
            NotificationStackScrollLayout view,
            @Named(ALLOW_NOTIFICATION_LONG_PRESS_NAME) boolean allowLongPress,
            NotificationGutsManager notificationGutsManager,
            NotificationsController notificationsController,
            NotificationVisibilityProvider visibilityProvider,
            HeadsUpManagerPhone headsUpManager,
            NotificationRoundnessManager notificationRoundnessManager,
@@ -664,6 +667,7 @@ public class NotificationStackScrollLayoutController {
        mLogger = logger;
        mAllowLongPress = allowLongPress;
        mNotificationGutsManager = notificationGutsManager;
        mNotificationsController = notificationsController;
        mVisibilityProvider = visibilityProvider;
        mHeadsUpManager = headsUpManager;
        mNotificationRoundnessManager = notificationRoundnessManager;
@@ -714,7 +718,7 @@ public class NotificationStackScrollLayoutController {
        mView.setController(this);
        mView.setLogger(mLogger);
        mView.setTouchHandler(new TouchHandler());
        mView.setCentralSurfaces(mCentralSurfaces);
        mView.setNotificationsController(mNotificationsController);
        mView.setActivityStarter(mActivityStarter);
        mView.setClearAllAnimationListener(this::onAnimationEnd);
        mView.setClearAllListener((selection) -> mUiEventLogger.log(
+0 −2
Original line number Diff line number Diff line
@@ -293,8 +293,6 @@ public interface CentralSurfaces extends Dumpable, LifecycleOwner {

    void readyForKeyguardDone();

    void resetUserExpandedStates();

    void setLockscreenUser(int newUserId);

    void showKeyguard();
+1 −6
Original line number Diff line number Diff line
@@ -2314,7 +2314,7 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
                    mNotificationShadeWindowController.setNotTouchable(false);
                }
                finishBarAnimations();
                resetUserExpandedStates();
                mNotificationsController.resetUserExpandedStates();
            }
            Trace.endSection();
        }
@@ -2333,11 +2333,6 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
        }
    };

    @Override
    public void resetUserExpandedStates() {
        mNotificationsController.resetUserExpandedStates();
    }

    /**
     * Notify the shade controller that the current user changed
     *
+3 −0
Original line number Diff line number Diff line
@@ -71,6 +71,7 @@ import com.android.systemui.statusbar.notification.collection.render.GroupExpans
import com.android.systemui.statusbar.notification.collection.render.NotifStats;
import com.android.systemui.statusbar.notification.collection.render.NotificationVisibilityProvider;
import com.android.systemui.statusbar.notification.collection.render.SectionHeaderController;
import com.android.systemui.statusbar.notification.init.NotificationsController;
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
import com.android.systemui.statusbar.notification.row.NotificationGutsManager;
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController.NotificationPanelEvent;
@@ -106,6 +107,7 @@ import java.util.Optional;
public class NotificationStackScrollLayoutControllerTest extends SysuiTestCase {

    @Mock private NotificationGutsManager mNotificationGutsManager;
    @Mock private NotificationsController mNotificationsController;
    @Mock private NotificationVisibilityProvider mVisibilityProvider;
    @Mock private HeadsUpManagerPhone mHeadsUpManager;
    @Mock private NotificationRoundnessManager mNotificationRoundnessManager;
@@ -455,6 +457,7 @@ public class NotificationStackScrollLayoutControllerTest extends SysuiTestCase {
                mNotificationStackScrollLayout,
                true,
                mNotificationGutsManager,
                mNotificationsController,
                mVisibilityProvider,
                mHeadsUpManager,
                mNotificationRoundnessManager,
Loading