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

Commit e416efe1 authored by Beth Thibodeau's avatar Beth Thibodeau Committed by Android (Google) Code Review
Browse files

Merge "Remove media recommendation smartspace logging" into main

parents 2f39979e c81668f9
Loading
Loading
Loading
Loading
+12 −155
Original line number Diff line number Diff line
@@ -30,21 +30,11 @@ import com.android.systemui.media.controls.shared.model.MediaData
import com.android.systemui.media.controls.shared.model.MediaDataLoadingModel
import com.android.systemui.media.controls.shared.model.SmartspaceMediaData
import com.android.systemui.media.controls.shared.model.SmartspaceMediaLoadingModel
import com.android.systemui.media.controls.util.SmallHash
import com.android.systemui.media.controls.util.mediaSmartspaceLogger
import com.android.systemui.media.controls.util.mockMediaSmartspaceLogger
import com.android.systemui.testKosmos
import com.android.systemui.util.time.systemClock
import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.test.runTest
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.ArgumentMatchers.anyBoolean
import org.mockito.ArgumentMatchers.anyInt
import org.mockito.ArgumentMatchers.eq
import org.mockito.kotlin.never
import org.mockito.kotlin.reset
import org.mockito.kotlin.verify

@SmallTest
@RunWith(AndroidJUnit4::class)
@@ -52,7 +42,6 @@ class MediaFilterRepositoryTest : SysuiTestCase() {

    private val kosmos = testKosmos()
    private val testScope = kosmos.testScope
    private val smartspaceLogger = kosmos.mockMediaSmartspaceLogger
    private val icon = Icon.createWithResource(context, R.drawable.ic_media_play)
    private val mediaRecommendation =
        SmartspaceMediaData(
@@ -61,11 +50,7 @@ class MediaFilterRepositoryTest : SysuiTestCase() {
            recommendations = MediaTestHelper.getValidRecommendationList(icon),
        )

    private val underTest: MediaFilterRepository =
        with(kosmos) {
            mediaSmartspaceLogger = mockMediaSmartspaceLogger
            mediaFilterRepository
        }
    private val underTest: MediaFilterRepository = with(kosmos) { mediaFilterRepository }

    @Test
    fun addSelectedUserMediaEntry_activeThenInactivate() =
@@ -185,29 +170,15 @@ class MediaFilterRepositoryTest : SysuiTestCase() {
            underTest.addSelectedUserMediaEntry(playingData)
            underTest.addMediaDataLoadingState(
                MediaDataLoadingModel.Loaded(playingInstanceId),
                false
            )

            verify(smartspaceLogger)
                .logSmartspaceCardReceived(
                    playingData.smartspaceId,
                    playingData.appUid,
                    cardinality = 2
                false,
            )

            underTest.addSelectedUserMediaEntry(remoteData)
            underTest.addMediaDataLoadingState(
                MediaDataLoadingModel.Loaded(remoteInstanceId),
                false
                false,
            )

            verify(smartspaceLogger)
                .logSmartspaceCardReceived(
                    remoteData.smartspaceId,
                    playingData.appUid,
                    cardinality = 3,
                    rank = 1
                )
            assertThat(currentMedia?.size).isEqualTo(3)
            assertThat(currentMedia)
                .containsExactly(
@@ -215,7 +186,7 @@ class MediaFilterRepositoryTest : SysuiTestCase() {
                    MediaCommonModel.MediaControl(MediaDataLoadingModel.Loaded(remoteInstanceId)),
                    MediaCommonModel.MediaRecommendations(
                        SmartspaceMediaLoadingModel.Loaded(KEY_MEDIA_SMARTSPACE, true)
                    )
                    ),
                )
                .inOrder()
        }
@@ -238,7 +209,7 @@ class MediaFilterRepositoryTest : SysuiTestCase() {
            assertThat(currentMedia)
                .containsExactly(
                    MediaCommonModel.MediaControl(MediaDataLoadingModel.Loaded(playingInstanceId1)),
                    MediaCommonModel.MediaControl(MediaDataLoadingModel.Loaded(playingInstanceId2))
                    MediaCommonModel.MediaControl(MediaDataLoadingModel.Loaded(playingInstanceId2)),
                )
                .inOrder()

@@ -258,29 +229,19 @@ class MediaFilterRepositoryTest : SysuiTestCase() {
                    MediaCommonModel.MediaControl(MediaDataLoadingModel.Loaded(playingInstanceId1)),
                    MediaCommonModel.MediaControl(
                        MediaDataLoadingModel.Loaded(playingInstanceId2, false)
                    )
                    ),
                )
                .inOrder()

            underTest.setOrderedMedia()

            verify(smartspaceLogger, never())
                .logSmartspaceCardReceived(
                    anyInt(),
                    anyInt(),
                    anyInt(),
                    anyBoolean(),
                    anyBoolean(),
                    anyInt(),
                    anyInt()
                )
            assertThat(currentMedia?.size).isEqualTo(2)
            assertThat(currentMedia)
                .containsExactly(
                    MediaCommonModel.MediaControl(
                        MediaDataLoadingModel.Loaded(playingInstanceId2, false)
                    ),
                    MediaCommonModel.MediaControl(MediaDataLoadingModel.Loaded(playingInstanceId1))
                    MediaCommonModel.MediaControl(MediaDataLoadingModel.Loaded(playingInstanceId1)),
                )
                .inOrder()
        }
@@ -321,27 +282,6 @@ class MediaFilterRepositoryTest : SysuiTestCase() {
            )
            underTest.setOrderedMedia()

            val smartspaceId = SmallHash.hash(mediaRecommendation.targetId)
            verify(smartspaceLogger)
                .logSmartspaceCardReceived(
                    eq(smartspaceId),
                    anyInt(),
                    eq(6),
                    anyBoolean(),
                    anyBoolean(),
                    eq(2),
                    anyInt()
                )
            verify(smartspaceLogger, never())
                .logSmartspaceCardReceived(
                    eq(playingAndLocalData.smartspaceId),
                    anyInt(),
                    anyInt(),
                    anyBoolean(),
                    anyBoolean(),
                    anyInt(),
                    anyInt()
                )
            assertThat(currentMedia?.size).isEqualTo(6)
            assertThat(currentMedia)
                .containsExactly(
@@ -376,7 +316,7 @@ class MediaFilterRepositoryTest : SysuiTestCase() {
                    active = true,
                    instanceId = instanceId2,
                    isPlaying = true,
                    notificationKey = KEY_2
                    notificationKey = KEY_2,
                )

            underTest.setMediaFromRecPackageName(PACKAGE_NAME)
@@ -391,11 +331,11 @@ class MediaFilterRepositoryTest : SysuiTestCase() {
                .containsExactly(
                    MediaCommonModel.MediaControl(
                        MediaDataLoadingModel.Loaded(instanceId1),
                        isMediaFromRec = true
                        isMediaFromRec = true,
                    ),
                    MediaCommonModel.MediaRecommendations(
                        SmartspaceMediaLoadingModel.Loaded(KEY_MEDIA_SMARTSPACE)
                    )
                    ),
                )
                .inOrder()

@@ -410,7 +350,7 @@ class MediaFilterRepositoryTest : SysuiTestCase() {
                    MediaCommonModel.MediaControl(MediaDataLoadingModel.Loaded(instanceId1)),
                    MediaCommonModel.MediaRecommendations(
                        SmartspaceMediaLoadingModel.Loaded(KEY_MEDIA_SMARTSPACE)
                    )
                    ),
                )
                .inOrder()
        }
@@ -423,89 +363,6 @@ class MediaFilterRepositoryTest : SysuiTestCase() {
    fun hasActiveMedia_noMediaSet_returnsFalse() =
        testScope.runTest { assertThat(underTest.hasActiveMedia()).isFalse() }

    @Test
    fun updateMediaWithLatency_smartspaceIsLogged() =
        testScope.runTest {
            val instanceId = InstanceId.fakeInstanceId(123)
            val data = createMediaData("app", true, LOCAL, false, instanceId)

            underTest.setRecommendation(mediaRecommendation)
            underTest.setRecommendationsLoadingState(
                SmartspaceMediaLoadingModel.Loaded(KEY_MEDIA_SMARTSPACE, true)
            )

            val smartspaceId = SmallHash.hash(mediaRecommendation.targetId)
            verify(smartspaceLogger)
                .logSmartspaceCardReceived(
                    eq(smartspaceId),
                    anyInt(),
                    eq(1),
                    eq(true),
                    anyBoolean(),
                    eq(0),
                    anyInt()
                )
            reset(smartspaceLogger)

            underTest.addSelectedUserMediaEntry(data)
            underTest.addMediaDataLoadingState(MediaDataLoadingModel.Loaded(instanceId), false)

            verify(smartspaceLogger)
                .logSmartspaceCardReceived(data.smartspaceId, data.appUid, cardinality = 2)

            reset(smartspaceLogger)

            underTest.addSelectedUserMediaEntry(data)
            underTest.addMediaDataLoadingState(
                MediaDataLoadingModel.Loaded(instanceId, receivedSmartspaceCardLatency = 123),
                true
            )

            verify(smartspaceLogger)
                .logSmartspaceCardReceived(
                    SmallHash.hash(data.appUid + kosmos.systemClock.currentTimeMillis().toInt()),
                    data.appUid,
                    cardinality = 2,
                    rank = 0,
                    receivedLatencyMillis = 123
                )
        }

    @Test
    fun resumeMedia_loadSmartspace_allSmartspaceIsLogged() =
        testScope.runTest {
            val resumeInstanceId = InstanceId.fakeInstanceId(123)
            val data = createMediaData("app", false, LOCAL, true, resumeInstanceId)

            underTest.addSelectedUserMediaEntry(data.copy(active = false))
            underTest.addMediaDataLoadingState(MediaDataLoadingModel.Loaded(resumeInstanceId))
            underTest.setRecommendation(mediaRecommendation)
            underTest.setRecommendationsLoadingState(
                SmartspaceMediaLoadingModel.Loaded(KEY_MEDIA_SMARTSPACE, true)
            )

            assertThat(underTest.hasActiveMedia()).isFalse()
            assertThat(underTest.hasAnyMedia()).isTrue()
            val smartspaceId = SmallHash.hash(mediaRecommendation.targetId)
            verify(smartspaceLogger)
                .logSmartspaceCardReceived(
                    eq(smartspaceId),
                    anyInt(),
                    eq(2),
                    eq(true),
                    anyBoolean(),
                    eq(0),
                    anyInt()
                )
            verify(smartspaceLogger)
                .logSmartspaceCardReceived(
                    SmallHash.hash(data.appUid + kosmos.systemClock.currentTimeMillis().toInt()),
                    data.appUid,
                    cardinality = 2,
                    rank = 1
                )
        }

    private fun createMediaData(
        app: String,
        playing: Boolean,
@@ -518,7 +375,7 @@ class MediaFilterRepositoryTest : SysuiTestCase() {
            resumption = isResume,
            notificationKey = "key: $app",
            isPlaying = playing,
            instanceId = instanceId
            instanceId = instanceId,
        )
    }

+1 −98
Original line number Diff line number Diff line
@@ -18,7 +18,6 @@ package com.android.systemui.media.controls.domain.interactor

import android.R
import android.graphics.drawable.Icon
import android.os.Process
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.android.internal.logging.InstanceId
@@ -37,19 +36,12 @@ import com.android.systemui.media.controls.shared.model.MediaData
import com.android.systemui.media.controls.shared.model.MediaDataLoadingModel
import com.android.systemui.media.controls.shared.model.SmartspaceMediaData
import com.android.systemui.media.controls.shared.model.SmartspaceMediaLoadingModel
import com.android.systemui.media.controls.util.MediaSmartspaceLogger
import com.android.systemui.media.controls.util.SmallHash
import com.android.systemui.media.controls.util.mediaSmartspaceLogger
import com.android.systemui.media.controls.util.mockMediaSmartspaceLogger
import com.android.systemui.testKosmos
import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.test.runTest
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.Mockito.reset
import org.mockito.kotlin.never
import org.mockito.kotlin.verify

@SmallTest
@RunWith(AndroidJUnit4::class)
@@ -59,10 +51,7 @@ class MediaCarouselInteractorTest : SysuiTestCase() {
    private val testScope = kosmos.testScope

    private val mediaFilterRepository: MediaFilterRepository =
        with(kosmos) {
            mediaSmartspaceLogger = mockMediaSmartspaceLogger
            mediaFilterRepository
        }
        with(kosmos) { mediaFilterRepository }
    private val mediaRecommendationsInteractor: MediaRecommendationsInteractor =
        kosmos.mediaRecommendationsInteractor
    val icon = Icon.createWithResource(context, R.drawable.ic_media_play)
@@ -73,7 +62,6 @@ class MediaCarouselInteractorTest : SysuiTestCase() {
            packageName = PACKAGE_NAME,
            recommendations = MediaTestHelper.getValidRecommendationList(icon),
        )
    private val smartspaceLogger = kosmos.mockMediaSmartspaceLogger

    private val underTest: MediaCarouselInteractor = kosmos.mediaCarouselInteractor

@@ -163,18 +151,6 @@ class MediaCarouselInteractorTest : SysuiTestCase() {
                    MediaCommonModel.MediaControl(mediaLoadingModel, true),
                )
                .inOrder()

            underTest.logSmartspaceSeenCard(0, 1, false)

            verify(smartspaceLogger)
                .logSmartspaceCardUIEvent(
                    MediaSmartspaceLogger.SMARTSPACE_CARD_SEEN_EVENT,
                    SmallHash.hash(mediaRecommendation.targetId),
                    Process.INVALID_UID,
                    surface = SURFACE,
                    2,
                    true,
                )
        }

    @Test
@@ -269,79 +245,6 @@ class MediaCarouselInteractorTest : SysuiTestCase() {
                .inOrder()
        }

    @Test
    fun loadMediaAndRecommendation_logSmartspaceSeenCard() {
        val instanceId = InstanceId.fakeInstanceId(123)
        val data =
            MediaData(
                active = true,
                instanceId = instanceId,
                packageName = PACKAGE_NAME,
                notificationKey = KEY,
            )
        val smartspaceLoadingModel = SmartspaceMediaLoadingModel.Loaded(KEY_MEDIA_SMARTSPACE)
        val mediaLoadingModel = MediaDataLoadingModel.Loaded(instanceId)

        mediaFilterRepository.addSelectedUserMediaEntry(data)
        mediaFilterRepository.addMediaDataLoadingState(mediaLoadingModel)
        underTest.logSmartspaceSeenCard(0, 1, false)

        verify(smartspaceLogger)
            .logSmartspaceCardUIEvent(
                MediaSmartspaceLogger.SMARTSPACE_CARD_SEEN_EVENT,
                data.smartspaceId,
                data.appUid,
                surface = SURFACE,
                1,
            )

        reset(smartspaceLogger)
        mediaFilterRepository.addSelectedUserMediaEntry(data)
        mediaFilterRepository.addMediaDataLoadingState(mediaLoadingModel)
        underTest.logSmartspaceSeenCard(0, 1, true)

        verify(smartspaceLogger, never())
            .logSmartspaceCardUIEvent(
                MediaSmartspaceLogger.SMARTSPACE_CARD_SEEN_EVENT,
                data.smartspaceId,
                data.appUid,
                surface = SURFACE,
                2,
            )

        reset(smartspaceLogger)
        mediaFilterRepository.setRecommendation(mediaRecommendation)
        mediaFilterRepository.setRecommendationsLoadingState(smartspaceLoadingModel)
        underTest.logSmartspaceSeenCard(1, 1, true)

        verify(smartspaceLogger)
            .logSmartspaceCardUIEvent(
                MediaSmartspaceLogger.SMARTSPACE_CARD_SEEN_EVENT,
                SmallHash.hash(mediaRecommendation.targetId),
                Process.INVALID_UID,
                surface = SURFACE,
                2,
                true,
                rank = 1,
            )

        reset(smartspaceLogger)
        mediaFilterRepository.addSelectedUserMediaEntry(data)
        mediaFilterRepository.addMediaDataLoadingState(
            mediaLoadingModel.copy(receivedSmartspaceCardLatency = 1)
        )
        underTest.logSmartspaceSeenCard(0, 1, true)

        verify(smartspaceLogger)
            .logSmartspaceCardUIEvent(
                MediaSmartspaceLogger.SMARTSPACE_CARD_SEEN_EVENT,
                data.smartspaceId,
                data.appUid,
                surface = SURFACE,
                2,
            )
    }

    companion object {
        private const val KEY_MEDIA_SMARTSPACE = "MEDIA_SMARTSPACE_ID"
        private const val PACKAGE_NAME = "com.android.example"
+6 −50
Original line number Diff line number Diff line
@@ -42,11 +42,7 @@ import com.android.systemui.media.controls.domain.pipeline.mediaDataFilter
import com.android.systemui.media.controls.domain.pipeline.mediaDataProcessor
import com.android.systemui.media.controls.shared.model.MediaData
import com.android.systemui.media.controls.shared.model.SmartspaceMediaData
import com.android.systemui.media.controls.util.MediaSmartspaceLogger.Companion.SMARTSPACE_CARD_CLICK_EVENT
import com.android.systemui.media.controls.util.MediaSmartspaceLogger.Companion.SMARTSPACE_CARD_DISMISS_EVENT
import com.android.systemui.media.controls.util.mediaInstanceId
import com.android.systemui.media.controls.util.mediaSmartspaceLogger
import com.android.systemui.media.controls.util.mockMediaSmartspaceLogger
import com.android.systemui.media.mediaOutputDialogManager
import com.android.systemui.mockActivityIntentHelper
import com.android.systemui.plugins.activityStarter
@@ -57,8 +53,6 @@ import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.test.runTest
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.Mockito.anyBoolean
import org.mockito.Mockito.anyInt
import org.mockito.Mockito.never
import org.mockito.Mockito.verify
import org.mockito.kotlin.any
@@ -73,16 +67,11 @@ class MediaControlInteractorTest : SysuiTestCase() {
    private val kosmos = testKosmos()
    private val testScope = kosmos.testScope

    private val mediaDataFilter: MediaDataFilterImpl =
        with(kosmos) {
            mediaSmartspaceLogger = mockMediaSmartspaceLogger
            mediaDataFilter
        }
    private val mediaDataFilter: MediaDataFilterImpl = with(kosmos) { mediaDataFilter }
    private val activityStarter = kosmos.activityStarter
    private val keyguardStateController = kosmos.keyguardStateController
    private val instanceId: InstanceId = kosmos.mediaInstanceId
    private val notificationLockscreenUserManager = kosmos.notificationLockscreenUserManager
    private val smartspaceLogger = kosmos.mockMediaSmartspaceLogger
    private val icon = Icon.createWithResource(context, R.drawable.ic_media_play)
    private val mediaRecommendation =
        SmartspaceMediaData(
@@ -148,7 +137,7 @@ class MediaControlInteractorTest : SysuiTestCase() {
        val activityController = mock<ActivityTransitionAnimator.Controller>()
        whenever(expandable.activityTransitionController(any())).thenReturn(activityController)

        underTest.startClickIntent(expandable, clickIntent, SMARTSPACE_CARD_CLICK_EVENT, 1)
        underTest.startClickIntent(expandable, clickIntent)

        verify(activityStarter)
            .startPendingIntentMaybeDismissingKeyguard(
@@ -172,17 +161,8 @@ class MediaControlInteractorTest : SysuiTestCase() {
        val mediaData = MediaData(userId = USER_ID, instanceId = instanceId, artist = ARTIST)
        mediaDataFilter.onSmartspaceMediaDataLoaded(KEY_MEDIA_SMARTSPACE, mediaRecommendation, true)
        mediaDataFilter.onMediaDataLoaded(KEY, null, mediaData)
        underTest.startClickIntent(expandable, clickIntent, SMARTSPACE_CARD_CLICK_EVENT, 1)

        verify(smartspaceLogger)
            .logSmartspaceCardUIEvent(
                SMARTSPACE_CARD_CLICK_EVENT,
                mediaData.smartspaceId,
                mediaData.appUid,
                surface = SURFACE,
                cardinality = 2,
                rank = 1,
            )
        underTest.startClickIntent(expandable, clickIntent)

        verify(activityStarter)
            .postStartActivityDismissingKeyguard(eq(clickIntent), eq(activityController))
    }
@@ -270,24 +250,10 @@ class MediaControlInteractorTest : SysuiTestCase() {
        kosmos.mediaDataRepository.addMediaEntry(KEY, mediaData)
        kosmos.mediaDataFilter.onMediaDataLoaded(KEY, null, mediaData)

        underTest.removeMediaControl(null, instanceId, 0L, SMARTSPACE_CARD_DISMISS_EVENT, 1)
        underTest.removeMediaControl(null, instanceId, 0L)
        kosmos.fakeExecutor.advanceClockToNext()
        kosmos.fakeExecutor.runAllReady()

        verify(smartspaceLogger, never())
            .logSmartspaceCardUIEvent(
                anyInt(),
                anyInt(),
                anyInt(),
                anyInt(),
                anyInt(),
                anyBoolean(),
                anyBoolean(),
                anyInt(),
                anyInt(),
                anyInt(),
                anyBoolean(),
            )
        verify(listener).onMediaDataRemoved(eq(KEY), eq(true))
    }

@@ -303,19 +269,10 @@ class MediaControlInteractorTest : SysuiTestCase() {
        mediaDataFilter.onSmartspaceMediaDataLoaded(KEY_MEDIA_SMARTSPACE, mediaRecommendation, true)
        mediaDataFilter.onMediaDataLoaded(KEY, null, mediaData)

        underTest.removeMediaControl(null, instanceId, 0L, SMARTSPACE_CARD_DISMISS_EVENT, 1)
        underTest.removeMediaControl(null, instanceId, 0L)
        kosmos.fakeExecutor.advanceClockToNext()
        kosmos.fakeExecutor.runAllReady()

        verify(smartspaceLogger)
            .logSmartspaceCardUIEvent(
                SMARTSPACE_CARD_DISMISS_EVENT,
                mediaData.smartspaceId,
                mediaData.appUid,
                surface = SURFACE,
                cardinality = 2,
                rank = 1,
            )
        verify(listener).onMediaDataRemoved(eq(KEY), eq(true))
    }

@@ -327,6 +284,5 @@ class MediaControlInteractorTest : SysuiTestCase() {
        private const val ARTIST = "artist"
        private const val ARTIST_2 = "artist2"
        private const val KEY_MEDIA_SMARTSPACE = "MEDIA_SMARTSPACE_ID"
        private const val SURFACE = 4
    }
}
+5 −48
Original line number Diff line number Diff line
@@ -21,7 +21,6 @@ import android.content.ComponentName
import android.content.Intent
import android.content.applicationContext
import android.graphics.drawable.Icon
import android.os.Process
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.android.systemui.SysuiTestCase
@@ -39,11 +38,6 @@ import com.android.systemui.media.controls.domain.pipeline.mediaDataFilter
import com.android.systemui.media.controls.shared.model.MediaRecModel
import com.android.systemui.media.controls.shared.model.MediaRecommendationsModel
import com.android.systemui.media.controls.shared.model.SmartspaceMediaData
import com.android.systemui.media.controls.util.MediaSmartspaceLogger.Companion.SMARTSPACE_CARD_CLICK_EVENT
import com.android.systemui.media.controls.util.MediaSmartspaceLogger.Companion.SMARTSPACE_CARD_DISMISS_EVENT
import com.android.systemui.media.controls.util.SmallHash
import com.android.systemui.media.controls.util.mediaSmartspaceLogger
import com.android.systemui.media.controls.util.mockMediaSmartspaceLogger
import com.android.systemui.plugins.activityStarter
import com.android.systemui.testKosmos
import com.android.systemui.util.mockito.any
@@ -66,11 +60,7 @@ class MediaRecommendationsInteractorTest : SysuiTestCase() {
    private val kosmos = testKosmos().apply { applicationContext = spyContext }
    private val testScope = kosmos.testScope

    private val mediaDataFilter: MediaDataFilterImpl =
        with(kosmos) {
            mediaSmartspaceLogger = mockMediaSmartspaceLogger
            mediaDataFilter
        }
    private val mediaDataFilter: MediaDataFilterImpl = with(kosmos) { mediaDataFilter }
    private val activityStarter = kosmos.activityStarter
    private val icon: Icon = Icon.createWithResource(context, R.drawable.ic_media_play)
    private val smartspaceMediaData: SmartspaceMediaData =
@@ -80,7 +70,6 @@ class MediaRecommendationsInteractorTest : SysuiTestCase() {
            packageName = PACKAGE_NAME,
            recommendations = MediaTestHelper.getValidRecommendationList(icon),
        )
    private val smartspaceLogger = kosmos.mockMediaSmartspaceLogger

    private val underTest: MediaRecommendationsInteractor =
        with(kosmos) {
@@ -132,23 +121,8 @@ class MediaRecommendationsInteractorTest : SysuiTestCase() {
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)

        mediaDataFilter.onSmartspaceMediaDataLoaded(KEY_MEDIA_SMARTSPACE, smartspaceMediaData)
        underTest.removeMediaRecommendations(
            KEY_MEDIA_SMARTSPACE,
            intent,
            0,
            SMARTSPACE_CARD_DISMISS_EVENT,
            1,
        )
        underTest.removeMediaRecommendations(KEY_MEDIA_SMARTSPACE, intent, 0)

        verify(smartspaceLogger)
            .logSmartspaceCardUIEvent(
                SMARTSPACE_CARD_DISMISS_EVENT,
                SmallHash.hash(smartspaceMediaData.targetId),
                Process.INVALID_UID,
                surface = SURFACE,
                cardinality = 1,
                isRecommendationCard = true,
            )
        verify(kosmos.mockBroadcastSender).sendBroadcast(eq(intent))
    }

@@ -160,13 +134,7 @@ class MediaRecommendationsInteractorTest : SysuiTestCase() {
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
        intent.component = ComponentName(PACKAGE_NAME, EXPORTED_SMARTSPACE_TRAMPOLINE_ACTIVITY_NAME)

        underTest.removeMediaRecommendations(
            KEY_MEDIA_SMARTSPACE,
            intent,
            0,
            SMARTSPACE_CARD_DISMISS_EVENT,
            1,
        )
        underTest.removeMediaRecommendations(KEY_MEDIA_SMARTSPACE, intent, 0)

        verify(spyContext).startActivity(eq(intent))
    }
@@ -187,19 +155,8 @@ class MediaRecommendationsInteractorTest : SysuiTestCase() {
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)

        mediaDataFilter.onSmartspaceMediaDataLoaded(KEY_MEDIA_SMARTSPACE, smartspaceMediaData)
        underTest.startClickIntent(expandable, intent, SMARTSPACE_CARD_CLICK_EVENT, 1, 2, 3)

        verify(smartspaceLogger)
            .logSmartspaceCardUIEvent(
                SMARTSPACE_CARD_CLICK_EVENT,
                SmallHash.hash(smartspaceMediaData.targetId),
                Process.INVALID_UID,
                surface = SURFACE,
                cardinality = 1,
                isRecommendationCard = true,
                interactedSubcardRank = 2,
                interactedSubcardCardinality = 3,
            )
        underTest.startClickIntent(expandable, intent)

        verify(spyContext).startActivity(eq(intent))
    }

+1 −1

File changed.

Preview size limit exceeded, changes collapsed.

Loading