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

Commit 612034b3 authored by Julia Reynolds's avatar Julia Reynolds
Browse files

Stop tracking HUN state on entry

Test: HeadsUpManagerImplTest
Test: AmbientStateTest
Bug: 395857098
Flag: com.android.systemui.notification_bundle_ui
Change-Id: I507fc6a76f8813fb1ac5a520e49413c3734d49e7
parent b86c4a61
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import com.android.systemui.flags.DisableSceneContainer
import com.android.systemui.flags.andSceneContainer
import com.android.systemui.shade.transition.LargeScreenShadeInterpolator
import com.android.systemui.statusbar.StatusBarState
import com.android.systemui.statusbar.notification.data.repository.HeadsUpRepository
import com.android.systemui.statusbar.notification.headsup.AvalancheController
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager
import com.android.systemui.util.mockito.mock
@@ -47,6 +48,7 @@ class AmbientStateTest(flags: FlagsParameterization) : SysuiTestCase() {
    private val statusBarKeyguardViewManager = mock<StatusBarKeyguardViewManager>()
    private val largeScreenShadeInterpolator = mock<LargeScreenShadeInterpolator>()
    private val avalancheController = mock<AvalancheController>()
    private val headsupRepository = mock<HeadsUpRepository>()

    private lateinit var sut: AmbientState

@@ -72,6 +74,7 @@ class AmbientStateTest(flags: FlagsParameterization) : SysuiTestCase() {
                bypassController,
                statusBarKeyguardViewManager,
                largeScreenShadeInterpolator,
                headsupRepository,
                avalancheController,
            )
    }
+3 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import com.android.systemui.statusbar.StatusBarState
import com.android.systemui.statusbar.notification.RoundableState
import com.android.systemui.statusbar.notification.collection.EntryAdapter
import com.android.systemui.statusbar.notification.collection.NotificationEntry
import com.android.systemui.statusbar.notification.data.repository.HeadsUpRepository
import com.android.systemui.statusbar.notification.emptyshade.ui.view.EmptyShadeView
import com.android.systemui.statusbar.notification.footer.ui.view.FooterView
import com.android.systemui.statusbar.notification.footer.ui.view.FooterView.FooterViewState
@@ -61,6 +62,7 @@ class StackScrollAlgorithmTest(flags: FlagsParameterization) : SysuiTestCase() {
    private val dumpManager = mock<DumpManager>()
    private val mStatusBarKeyguardViewManager = mock<StatusBarKeyguardViewManager>()
    private val notificationShelf = mock<NotificationShelf>()
    private val headsUpRepository = mock<HeadsUpRepository>()
    private val emptyShadeView =
        EmptyShadeView(context, /* attrs= */ null).apply {
            layout(/* l= */ 0, /* t= */ 0, /* r= */ 100, /* b= */ 100)
@@ -74,6 +76,7 @@ class StackScrollAlgorithmTest(flags: FlagsParameterization) : SysuiTestCase() {
            /* bypassController */ { false },
            mStatusBarKeyguardViewManager,
            largeScreenShadeInterpolator,
            headsUpRepository,
            avalancheController,
        )

+3 −1
Original line number Diff line number Diff line
@@ -332,7 +332,9 @@ public class HeadsUpManagerImpl
            onEntryAdded(headsUpEntry, requestedPinnedStatus);
            // TODO(b/328390331) move accessibility events to the view layer
            entry.sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED);
            if (!NotificationBundleUi.isEnabled()) {
                entry.setIsHeadsUpEntry(true);
            }

            updateNotificationInternal(entry.getKey(), requestedPinnedStatus);
            entry.setInterruption();
+9 −1
Original line number Diff line number Diff line
@@ -35,8 +35,10 @@ import com.android.systemui.shade.transition.LargeScreenShadeInterpolator;
import com.android.systemui.statusbar.NotificationShelf;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.data.repository.HeadsUpRepository;
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
import com.android.systemui.statusbar.notification.row.ExpandableView;
import com.android.systemui.statusbar.notification.shared.NotificationBundleUi;
import com.android.systemui.statusbar.notification.stack.StackScrollAlgorithm.BypassController;
import com.android.systemui.statusbar.notification.stack.StackScrollAlgorithm.SectionProvider;
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
@@ -60,6 +62,7 @@ public class AmbientState implements Dumpable {
    private final BypassController mBypassController;
    private final LargeScreenShadeInterpolator mLargeScreenShadeInterpolator;
    private final AvalancheController mAvalancheController;
    private final HeadsUpRepository mHeadsUpRepository;

    /**
     *  Used to read bouncer states.
@@ -304,6 +307,7 @@ public class AmbientState implements Dumpable {
            @NonNull BypassController bypassController,
            @Nullable StatusBarKeyguardViewManager statusBarKeyguardViewManager,
            @NonNull LargeScreenShadeInterpolator largeScreenShadeInterpolator,
            @NonNull HeadsUpRepository headsUpRepository,
            AvalancheController avalancheController
    ) {
        mSectionProvider = sectionProvider;
@@ -311,6 +315,7 @@ public class AmbientState implements Dumpable {
        mStatusBarKeyguardViewManager = statusBarKeyguardViewManager;
        mLargeScreenShadeInterpolator = largeScreenShadeInterpolator;
        mAvalancheController = avalancheController;
        mHeadsUpRepository = headsUpRepository;
        reload(context);
        dumpManager.registerDumpable(this);
    }
@@ -690,7 +695,10 @@ public class AmbientState implements Dumpable {
    }

    public boolean isPulsing(NotificationEntry entry) {
        return mPulsing && entry.isHeadsUpEntry();
        boolean isHeadsUp = NotificationBundleUi.isEnabled()
                ? mHeadsUpRepository.isHeadsUpEntry(entry.getKey())
                : entry.isHeadsUpEntry();
        return mPulsing && isHeadsUp;
    }

    public void setPulsingRow(ExpandableNotificationRow row) {
+4 −0
Original line number Diff line number Diff line
@@ -85,10 +85,12 @@ import com.android.systemui.statusbar.SysuiStatusBarStateController;
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.data.repository.HeadsUpRepository;
import com.android.systemui.statusbar.notification.emptyshade.shared.ModesEmptyShadeFix;
import com.android.systemui.statusbar.notification.emptyshade.ui.view.EmptyShadeView;
import com.android.systemui.statusbar.notification.footer.ui.view.FooterView;
import com.android.systemui.statusbar.notification.headsup.AvalancheController;
import com.android.systemui.statusbar.notification.headsup.HeadsUpManager;
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
import com.android.systemui.statusbar.notification.row.ExpandableView;
import com.android.systemui.statusbar.notification.shared.NotificationThrottleHun;
@@ -157,6 +159,7 @@ public class NotificationStackScrollLayoutTest extends SysuiTestCase {
    @Mock private StatusBarKeyguardViewManager mStatusBarKeyguardViewManager;
    @Mock private LargeScreenShadeInterpolator mLargeScreenShadeInterpolator;
    @Mock private AvalancheController mAvalancheController;
    @Mock private HeadsUpRepository mHeadsUpRepository;

    public NotificationStackScrollLayoutTest(FlagsParameterization flags) {
        super();
@@ -176,6 +179,7 @@ public class NotificationStackScrollLayoutTest extends SysuiTestCase {
                mBypassController,
                mStatusBarKeyguardViewManager,
                mLargeScreenShadeInterpolator,
                mHeadsUpRepository,
                mAvalancheController
        ));

Loading