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

Commit cf26404e authored by Julia Reynolds's avatar Julia Reynolds
Browse files

Migrate stray NotificationEntry usages in ENR

Migrate direct usages of mEntry and remove some dead code.

Test: BundleEntryTest
Test: NotificationEntryTest
Test: OriginalUnseenKeyguardCoordinatorTest
Test: ExpandableNotificationRowTest
Test: NotificationGutsManagerWithScenesTest
Test: NotificationMenuRowTest
Bug: 395857098
Flag: com.android.systemui.notification_bundle_ui
Change-Id: I73fe0893823a6f7c717422334fadc91285b18f74
parent e9389790
Loading
Loading
Loading
Loading
+33 −0
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package com.android.systemui.statusbar.notification.collection

import android.app.Notification
import android.graphics.Color
import android.platform.test.annotations.EnableFlags
import android.platform.test.flag.junit.SetFlagsRule
import android.testing.TestableLooper.RunWithLooper
@@ -72,4 +74,35 @@ class BundleEntryTest : SysuiTestCase() {
    fun getKey_adapter() {
        assertThat(underTest.entryAdapter.key).isEqualTo("key")
    }

    @Test
    @EnableFlags(NotificationBundleUi.FLAG_NAME)
    fun isClearable_adapter() {
        assertThat(underTest.entryAdapter.isClearable).isTrue()
    }

    @Test
    @EnableFlags(NotificationBundleUi.FLAG_NAME)
    fun getSummarization_adapter() {
        assertThat(underTest.entryAdapter.summarization).isNull()
    }

    @Test
    @EnableFlags(NotificationBundleUi.FLAG_NAME)
    fun getContrastedColor_adapter() {
        assertThat(underTest.entryAdapter.getContrastedColor(context, false, Color.WHITE))
            .isEqualTo(Notification.COLOR_DEFAULT)
    }

    @Test
    @EnableFlags(NotificationBundleUi.FLAG_NAME)
    fun canPeek_adapter() {
        assertThat(underTest.entryAdapter.canPeek()).isFalse()
    }

    @Test
    @EnableFlags(NotificationBundleUi.FLAG_NAME)
    fun getWhen_adapter() {
        assertThat(underTest.entryAdapter.`when`).isEqualTo(0)
    }
}
 No newline at end of file
+72 −1
Original line number Diff line number Diff line
@@ -163,9 +163,10 @@ public class NotificationEntryTest extends SysuiTestCase {

    @Test
    public void testIsExemptFromDndVisualSuppression_media() {
        MediaSession session = new MediaSession(mContext, "test");
        Notification.Builder n = new Notification.Builder(mContext, "")
                .setStyle(new Notification.MediaStyle()
                        .setMediaSession(mock(MediaSession.Token.class)))
                        .setMediaSession(session.getSessionToken()))
                .setSmallIcon(R.drawable.ic_person)
                .setContentTitle("Title")
                .setContentText("Text");
@@ -593,6 +594,76 @@ public class NotificationEntryTest extends SysuiTestCase {
        assertThat(entry.getEntryAdapter().getGroupRoot()).isEqualTo(parent.getEntryAdapter());
    }

    @Test
    @EnableFlags(NotificationBundleUi.FLAG_NAME)
    public void isClearable_adapter() {
        ExpandableNotificationRow row = mock(ExpandableNotificationRow.class);
        Notification notification = new Notification.Builder(mContext, "")
                .setSmallIcon(R.drawable.ic_person)
                .build();

        NotificationEntry entry = new NotificationEntryBuilder()
                .setPkg(TEST_PACKAGE_NAME)
                .setOpPkg(TEST_PACKAGE_NAME)
                .setUid(TEST_UID)
                .setChannel(mChannel)
                .setId(mId++)
                .setNotification(notification)
                .setUser(new UserHandle(ActivityManager.getCurrentUser()))
                .build();
        entry.setRow(row);

        assertThat(entry.getEntryAdapter().isClearable()).isEqualTo(entry.isClearable());
    }

    @Test
    @EnableFlags(NotificationBundleUi.FLAG_NAME)
    public void getSummarization_adapter() {
        ExpandableNotificationRow row = mock(ExpandableNotificationRow.class);
        Notification notification = new Notification.Builder(mContext, "")
                .setSmallIcon(R.drawable.ic_person)
                .build();

        NotificationEntry entry = new NotificationEntryBuilder()
                .setPkg(TEST_PACKAGE_NAME)
                .setOpPkg(TEST_PACKAGE_NAME)
                .setUid(TEST_UID)
                .setChannel(mChannel)
                .setId(mId++)
                .setNotification(notification)
                .setUser(new UserHandle(ActivityManager.getCurrentUser()))
                .build();
        Ranking ranking = new RankingBuilder(entry.getRanking())
                .setSummarization("hello")
                .build();
        entry.setRanking(ranking);
        entry.setRow(row);

        assertThat(entry.getEntryAdapter().getSummarization()).isEqualTo("hello");
    }

    @Test
    @EnableFlags(NotificationBundleUi.FLAG_NAME)
    public void getIcons_adapter() {
        ExpandableNotificationRow row = mock(ExpandableNotificationRow.class);
        Notification notification = new Notification.Builder(mContext, "")
                .setSmallIcon(R.drawable.ic_person)
                .build();

        NotificationEntry entry = new NotificationEntryBuilder()
                .setPkg(TEST_PACKAGE_NAME)
                .setOpPkg(TEST_PACKAGE_NAME)
                .setUid(TEST_UID)
                .setChannel(mChannel)
                .setId(mId++)
                .setNotification(notification)
                .setUser(new UserHandle(ActivityManager.getCurrentUser()))
                .build();
        entry.setRow(row);

        assertThat(entry.getEntryAdapter().getIcons()).isEqualTo(entry.getIcons());
    }

    private Notification.Action createContextualAction(String title) {
        return new Notification.Action.Builder(
                Icon.createWithResource(getContext(), android.R.drawable.sym_def_app_icon),
+14 −0
Original line number Diff line number Diff line
@@ -16,8 +16,11 @@
package com.android.systemui.statusbar.notification.collection.coordinator

import android.app.Notification
import android.app.Notification.MediaStyle
import android.media.session.MediaSession
import android.platform.test.flag.junit.FlagsParameterization
import android.provider.Settings
import android.service.notification.StatusBarNotification
import androidx.test.filters.SmallTest
import com.android.systemui.SysuiTestCase
import com.android.systemui.dump.dumpManager
@@ -36,6 +39,7 @@ import com.android.systemui.scene.data.repository.Idle
import com.android.systemui.scene.data.repository.setTransition
import com.android.systemui.scene.domain.interactor.sceneInteractor
import com.android.systemui.scene.shared.model.Scenes
import com.android.systemui.statusbar.SbnBuilder
import com.android.systemui.statusbar.notification.collection.GroupEntryBuilder
import com.android.systemui.statusbar.notification.collection.NotifPipeline
import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder
@@ -217,6 +221,16 @@ class OriginalUnseenKeyguardCoordinatorTest(flags: FlagsParameterization) : Sysu
                        mock<ExpandableNotificationRow>().apply {
                            whenever(isMediaRow).thenReturn(true)
                        }
                    sbn = SbnBuilder().setNotification(
                        Notification.Builder(context, "channel").setStyle(
                            MediaStyle().setMediaSession(
                                MediaSession(
                                    context,
                                    "tag"
                                ).sessionToken
                            )
                        ).build()
                    ).build()
                }
            collectionListener.onEntryAdded(fakeEntry)

+4 −7
Original line number Diff line number Diff line
@@ -80,9 +80,6 @@ import com.android.systemui.statusbar.policy.DeviceProvisionedController
import com.android.systemui.testKosmos
import com.android.systemui.util.kotlin.JavaAdapter
import com.android.systemui.wmshell.BubblesManager
import java.util.Optional
import kotlin.test.assertNotNull
import kotlin.test.fail
import kotlinx.coroutines.test.runCurrent
import kotlinx.coroutines.test.runTest
import org.junit.Assert.assertEquals
@@ -110,6 +107,9 @@ import org.mockito.kotlin.verify
import org.mockito.kotlin.whenever
import platform.test.runner.parameterized.ParameterizedAndroidJunit4
import platform.test.runner.parameterized.Parameters
import java.util.Optional
import kotlin.test.assertNotNull
import kotlin.test.fail

/** Tests for [NotificationGutsManager]. */
@SmallTest
@@ -509,7 +509,6 @@ class NotificationGutsManagerTest(flags: FlagsParameterization) : SysuiTestCase(
            .setImportance(NotificationManager.IMPORTANCE_HIGH)
            .build()

        whenever(row.isNonblockable).thenReturn(false)
        whenever(highPriorityProvider.isHighPriority(entry)).thenReturn(true)
        val statusBarNotification = entry.sbn
        gutsManager.initializeNotificationInfo(row, notificationInfoView)
@@ -546,7 +545,6 @@ class NotificationGutsManagerTest(flags: FlagsParameterization) : SysuiTestCase(
        NotificationEntryHelper.modifyRanking(row.entry)
            .setUserSentiment(NotificationListenerService.Ranking.USER_SENTIMENT_NEGATIVE)
            .build()
        whenever(row.isNonblockable).thenReturn(false)
        val statusBarNotification = row.entry.sbn
        val entry = row.entry

@@ -586,7 +584,6 @@ class NotificationGutsManagerTest(flags: FlagsParameterization) : SysuiTestCase(
        NotificationEntryHelper.modifyRanking(row.entry)
            .setUserSentiment(NotificationListenerService.Ranking.USER_SENTIMENT_NEGATIVE)
            .build()
        whenever(row.isNonblockable).thenReturn(false)
        val statusBarNotification = row.entry.sbn
        val entry = row.entry

@@ -641,7 +638,7 @@ class NotificationGutsManagerTest(flags: FlagsParameterization) : SysuiTestCase(
    ): NotificationMenuRowPlugin.MenuItem {
        val menuRow: NotificationMenuRowPlugin =
            NotificationMenuRow(mContext, peopleNotificationIdentifier)
        menuRow.createMenu(row, row.entry.sbn)
        menuRow.createMenu(row)

        val menuItem = menuRow.getLongpressMenuItem(mContext)
        assertNotNull(menuItem)
+8 −8
Original line number Diff line number Diff line
@@ -72,7 +72,7 @@ public class NotificationMenuRowTest extends LeakCheckedTest {
    public void testAttachDetach() {
        NotificationMenuRowPlugin row =
                new NotificationMenuRow(mContext, mPeopleNotificationIdentifier);
        row.createMenu(mRow, null);
        row.createMenu(mRow);
        ViewUtils.attachView(row.getMenuView());
        TestableLooper.get(this).processAllMessages();
        ViewUtils.detachView(row.getMenuView());
@@ -83,9 +83,9 @@ public class NotificationMenuRowTest extends LeakCheckedTest {
    public void testRecreateMenu() {
        NotificationMenuRowPlugin row =
                new NotificationMenuRow(mContext, mPeopleNotificationIdentifier);
        row.createMenu(mRow, null);
        row.createMenu(mRow);
        assertTrue(row.getMenuView() != null);
        row.createMenu(mRow, null);
        row.createMenu(mRow);
        assertTrue(row.getMenuView() != null);
    }

@@ -103,7 +103,7 @@ public class NotificationMenuRowTest extends LeakCheckedTest {
        Settings.Global.putInt(mContext.getContentResolver(), SHOW_NEW_NOTIF_DISMISS, 0);

        NotificationMenuRow row = new NotificationMenuRow(mContext, mPeopleNotificationIdentifier);
        row.createMenu(mRow, null);
        row.createMenu(mRow);

        ViewGroup container = (ViewGroup) row.getMenuView();
        // noti blocking
@@ -116,7 +116,7 @@ public class NotificationMenuRowTest extends LeakCheckedTest {
        Settings.Global.putInt(mContext.getContentResolver(), SHOW_NEW_NOTIF_DISMISS, 0);

        NotificationMenuRow row = new NotificationMenuRow(mContext, mPeopleNotificationIdentifier);
        row.createMenu(mRow, null);
        row.createMenu(mRow);

        ViewGroup container = (ViewGroup) row.getMenuView();
        // just for noti blocking
@@ -129,7 +129,7 @@ public class NotificationMenuRowTest extends LeakCheckedTest {
        Settings.Global.putInt(mContext.getContentResolver(), SHOW_NEW_NOTIF_DISMISS, 0);

        NotificationMenuRow row = new NotificationMenuRow(mContext, mPeopleNotificationIdentifier);
        row.createMenu(mRow, null);
        row.createMenu(mRow);

        ViewGroup container = (ViewGroup) row.getMenuView();
        // one for snooze and one for noti blocking
@@ -142,7 +142,7 @@ public class NotificationMenuRowTest extends LeakCheckedTest {
        Settings.Global.putInt(mContext.getContentResolver(), SHOW_NEW_NOTIF_DISMISS, 1);

        NotificationMenuRow row = new NotificationMenuRow(mContext, mPeopleNotificationIdentifier);
        row.createMenu(mRow, null);
        row.createMenu(mRow);

        ViewGroup container = (ViewGroup) row.getMenuView();
        // Clear menu
@@ -417,7 +417,7 @@ public class NotificationMenuRowTest extends LeakCheckedTest {
    public void testOnTouchMove() {
        NotificationMenuRow row = Mockito.spy(
                new NotificationMenuRow(mContext, mPeopleNotificationIdentifier));
        row.createMenu(mRow, null);
        row.createMenu(mRow);
        doReturn(50f).when(row).getDismissThreshold();
        doReturn(true).when(row).canBeDismissed();
        doReturn(mView).when(row).getMenuView();
Loading