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

Commit 3dc09b51 authored by Michael Mikhail's avatar Michael Mikhail
Browse files

Add smartspace logger

This CL adds smartspace logger class and some fields in media data to be
logged when media is loaded.

Flag: com.android.systemui.scene_container
Bug: 330897926
Test: atest SystemUiRoboTests:MediaFilterRepositoryTest

Change-Id: Ice8b7f1847f74a407081b3dcfdcbd7f5d0e182e0
parent f74076cb
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -180,7 +180,13 @@ constructor(
                    mediaData.instanceId
                )
                mediaFilterRepository.addMediaDataLoadingState(
                    MediaDataLoadingModel.Loaded(lastActiveId)
                    MediaDataLoadingModel.Loaded(
                        lastActiveId,
                        receivedSmartspaceCardLatency =
                            (systemClock.currentTimeMillis() - data.headphoneConnectionTimeMillis)
                                .toInt(),
                        isSsReactivated = true
                    )
                )
                mediaLoadingLogger.logMediaLoaded(
                    mediaData.instanceId,
+3 −0
Original line number Diff line number Diff line
@@ -86,6 +86,7 @@ import com.android.systemui.media.controls.util.MediaControllerFactory
import com.android.systemui.media.controls.util.MediaDataUtils
import com.android.systemui.media.controls.util.MediaFlags
import com.android.systemui.media.controls.util.MediaUiEventLogger
import com.android.systemui.media.controls.util.SmallHash
import com.android.systemui.plugins.ActivityStarter
import com.android.systemui.plugins.BcSmartspaceDataPlugin
import com.android.systemui.res.R
@@ -721,6 +722,7 @@ class MediaDataProcessor(
                    appUid = appUid,
                    isExplicit = isExplicit,
                    resumeProgress = progress,
                    smartspaceId = SmallHash.hash(appUid + systemClock.currentTimeMillis().toInt()),
                )
            )
        }
@@ -902,6 +904,7 @@ class MediaDataProcessor(
                    instanceId = instanceId,
                    appUid = appUid,
                    isExplicit = isExplicit,
                    smartspaceId = SmallHash.hash(appUid + systemClock.currentTimeMillis().toInt()),
                )
            )
        }
+6 −0
Original line number Diff line number Diff line
@@ -99,6 +99,12 @@ data class MediaData(

    /** Track progress (0 - 1) to display for players where [resumption] is true */
    val resumeProgress: Double? = null,

    /** Smartspace Id, used for logging. */
    var smartspaceId: Int = -1,

    /** If media card was visible to user, used for logging. */
    var isImpressed: Boolean = false,
) {
    companion object {
        /** Media is playing on the local device */
+2 −0
Original line number Diff line number Diff line
@@ -27,6 +27,8 @@ sealed class MediaDataLoadingModel {
    data class Loaded(
        override val instanceId: InstanceId,
        val immediatelyUpdateUi: Boolean = true,
        val receivedSmartspaceCardLatency: Int = 0,
        val isSsReactivated: Boolean = false,
    ) : MediaDataLoadingModel()

    /** Media data has been removed. */
+2 −0
Original line number Diff line number Diff line
@@ -48,6 +48,8 @@ data class SmartspaceMediaData(
    val instanceId: InstanceId? = null,
    /** The timestamp in milliseconds indicating when the card should be removed */
    val expiryTimeMs: Long = 0L,
    /** If recommendation card was visible to user, used for logging. */
    var isImpressed: Boolean = false,
) {
    /**
     * Indicates if all the data is valid.
Loading