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

Commit 7b4b07cc authored by Yuri Lin's avatar Yuri Lin Committed by Android (Google) Code Review
Browse files

Merge "On notification update, take the newest value of shouldHeadsUp" into tm-qpr-dev

parents ddc26a33 0d3b37cd
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -393,7 +393,7 @@ class HeadsUpCoordinator @Inject constructor(
            val posted = mPostedEntries.compute(entry.key) { _, value ->
                value?.also { update ->
                    update.wasUpdated = true
                    update.shouldHeadsUpEver = update.shouldHeadsUpEver || shouldHeadsUpEver
                    update.shouldHeadsUpEver = shouldHeadsUpEver
                    update.shouldHeadsUpAgain = update.shouldHeadsUpAgain || shouldHeadsUpAgain
                    update.isAlerting = isAlerting
                    update.isBinding = isBinding
+34 −0
Original line number Diff line number Diff line
@@ -336,6 +336,40 @@ class HeadsUpCoordinatorTest : SysuiTestCase() {
        verify(mHeadsUpManager, never()).showNotification(mEntry)
    }

    @Test
    fun testOnEntryUpdated_toAlert() {
        // GIVEN that an entry is posted that should not heads up
        setShouldHeadsUp(mEntry, false)
        mCollectionListener.onEntryAdded(mEntry)

        // WHEN it's updated to heads up
        setShouldHeadsUp(mEntry)
        mCollectionListener.onEntryUpdated(mEntry)
        mBeforeTransformGroupsListener.onBeforeTransformGroups(listOf(mEntry))
        mBeforeFinalizeFilterListener.onBeforeFinalizeFilter(listOf(mEntry))

        // THEN the notification alerts
        finishBind(mEntry)
        verify(mHeadsUpManager).showNotification(mEntry)
    }

    @Test
    fun testOnEntryUpdated_toNotAlert() {
        // GIVEN that an entry is posted that should heads up
        setShouldHeadsUp(mEntry)
        mCollectionListener.onEntryAdded(mEntry)

        // WHEN it's updated to not heads up
        setShouldHeadsUp(mEntry, false)
        mCollectionListener.onEntryUpdated(mEntry)
        mBeforeTransformGroupsListener.onBeforeTransformGroups(listOf(mEntry))
        mBeforeFinalizeFilterListener.onBeforeFinalizeFilter(listOf(mEntry))

        // THEN the notification is never bound or shown
        verify(mHeadsUpViewBinder, never()).bindHeadsUpView(any(), any())
        verify(mHeadsUpManager, never()).showNotification(any())
    }

    @Test
    fun testOnEntryRemovedRemovesHeadsUpNotification() {
        // GIVEN the current HUN is mEntry