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

Commit cef226f3 authored by Andrew Xu's avatar Andrew Xu Committed by Android (Google) Code Review
Browse files

Merge "[Notif] Use the correct API to check dismissibility when hovered" into main

parents 288bf55e 474201a1
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -26,7 +26,7 @@ import com.android.systemui.Flags
import com.android.systemui.SysuiTestCase
import com.android.systemui.statusbar.notification.collection.provider.mockNotificationDismissibilityProvider
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow
import com.android.systemui.statusbar.notification.row.createRow
import com.android.systemui.statusbar.notification.row.createInitializedRow
import com.android.systemui.testKosmos
import com.google.common.truth.Truth.assertThat
import org.junit.Test
@@ -48,7 +48,7 @@ class NotificationCloseButtonTest : SysuiTestCase() {
    @DisableFlags(Flags.FLAG_NOTIFICATION_ADD_X_ON_HOVER_TO_DISMISS)
    fun verifyWhenFeatureDisabled() {
        // By default, the close button should be gone.
        val row = kosmos.createRow()
        val row = kosmos.createInitializedRow()
        val closeButton = getCloseButton(row)
        assertThat(closeButton).isNotNull()
        assertThat(closeButton.visibility).isEqualTo(View.GONE)
@@ -73,7 +73,7 @@ class NotificationCloseButtonTest : SysuiTestCase() {
        whenever(kosmos.mockNotificationDismissibilityProvider.isDismissable(any()))
            .thenReturn(true)
        // By default, the close button should be gone.
        val row = kosmos.createRow()
        val row = kosmos.createInitializedRow()
        val closeButton = getCloseButton(row)
        assertThat(closeButton).isNotNull()
        assertThat(closeButton.visibility).isEqualTo(View.GONE)
@@ -111,7 +111,7 @@ class NotificationCloseButtonTest : SysuiTestCase() {
        // By default, the close button should be gone.
        whenever(kosmos.mockNotificationDismissibilityProvider.isDismissable(any()))
            .thenReturn(false)
        val row = kosmos.createRow()
        val row = kosmos.createInitializedRow()
        val closeButton = getCloseButton(row)
        assertThat(closeButton).isNotNull()
        assertThat(closeButton.visibility).isEqualTo(View.GONE)
+1 −1
Original line number Diff line number Diff line
@@ -859,7 +859,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView

        // Do not bother checking the dismiss button's target visibility if the notification cannot
        // be dismissed.
        if (!canEntryBeDismissed()) {
        if (!canExpandableViewBeDismissed()) {
            return false;
        }

+8 −0
Original line number Diff line number Diff line
@@ -23,6 +23,8 @@ import com.android.systemui.kosmos.testCase
import com.android.systemui.statusbar.notification.collection.BundleSpec
import com.android.systemui.statusbar.notification.collection.NotificationEntry
import com.android.systemui.statusbar.notification.collection.buildPromotedOngoingEntry
import org.mockito.Mockito
import org.mockito.kotlin.whenever

var Kosmos.expandableNotificationRowBuilder by
    Kosmos.Fixture {
@@ -45,6 +47,12 @@ fun Kosmos.createRow(): ExpandableNotificationRow {
    return expandableNotificationRowBuilder.createRow()
}

fun Kosmos.createInitializedRow(): ExpandableNotificationRow {
    val row = Mockito.spy(createRow())
    whenever(row.hasFinishedInitialization()).thenReturn(true)
    return row
}

fun Kosmos.createPromotedOngoingRow(): ExpandableNotificationRow {
    return expandableNotificationRowBuilder.createRow(buildPromotedOngoingEntry())
}