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

Commit 62967060 authored by Yuri Lin's avatar Yuri Lin Committed by Automerger Merge Worker
Browse files

Merge "On notification update, take the newest value of shouldHeadsUp" into...

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

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20104164



Change-Id: I4d04b89da7c4ec93d74b704891682b3129ae900b
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 34a59470 7b4b07cc
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