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

Commit 02057ddf authored by Michael Mikhail's avatar Michael Mikhail Committed by Android (Google) Code Review
Browse files

Merge "Add New UiEvents for media dashboard" into tm-qpr-dev

parents fe689eef 93111fee
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -422,6 +422,7 @@ class MediaDataManager(
                    appUid = appUid
                )
            mediaEntries.put(packageName, resumeData)
            logSingleVsMultipleMediaAdded(appUid, packageName, instanceId)
            logger.logResumeMediaAdded(appUid, packageName, instanceId)
        }
        backgroundExecutor.execute {
@@ -812,6 +813,7 @@ class MediaDataManager(
        val appUid = appInfo?.uid ?: Process.INVALID_UID

        if (logEvent) {
            logSingleVsMultipleMediaAdded(appUid, sbn.packageName, instanceId)
            logger.logActiveMediaAdded(appUid, sbn.packageName, instanceId, playbackLocation)
        } else if (playbackLocation != currentEntry?.playbackLocation) {
            logger.logPlaybackLocationChange(appUid, sbn.packageName, instanceId, playbackLocation)
@@ -855,6 +857,20 @@ class MediaDataManager(
        }
    }

    private fun logSingleVsMultipleMediaAdded(
        appUid: Int,
        packageName: String,
        instanceId: InstanceId
    ) {
        if (mediaEntries.size == 1) {
            logger.logSingleMediaPlayerInCarousel(appUid, packageName, instanceId)
        } else if (mediaEntries.size == 2) {
            // Since this method is only called when there is a new media session added.
            // logging needed once there is more than one media session in carousel.
            logger.logMultipleMediaPlayersInCarousel(appUid, packageName, instanceId)
        }
    }

    private fun getAppInfoFromPackage(packageName: String): ApplicationInfo? {
        try {
            return context.packageManager.getApplicationInfo(packageName, 0)
+23 −1
Original line number Diff line number Diff line
@@ -213,6 +213,24 @@ class MediaUiEventLogger @Inject constructor(private val logger: UiEventLogger)
            instanceId
        )
    }

    fun logSingleMediaPlayerInCarousel(uid: Int, packageName: String, instanceId: InstanceId) {
        logger.logWithInstanceId(
            MediaUiEvent.MEDIA_CAROUSEL_SINGLE_PLAYER,
            uid,
            packageName,
            instanceId
        )
    }

    fun logMultipleMediaPlayersInCarousel(uid: Int, packageName: String, instanceId: InstanceId) {
        logger.logWithInstanceId(
            MediaUiEvent.MEDIA_CAROUSEL_MULTIPLE_PLAYERS,
            uid,
            packageName,
            instanceId
        )
    }
}

enum class MediaUiEvent(val metricId: Int) : UiEventLogger.UiEventEnum {
@@ -269,7 +287,11 @@ enum class MediaUiEvent(val metricId: Int) : UiEventLogger.UiEventEnum {
    @UiEvent(doc = "User tapped on a media recommendation card")
    MEDIA_RECOMMENDATION_CARD_TAP(1045),
    @UiEvent(doc = "User opened the broadcast dialog from a media control")
    MEDIA_OPEN_BROADCAST_DIALOG(1079);
    MEDIA_OPEN_BROADCAST_DIALOG(1079),
    @UiEvent(doc = "The media carousel contains one media player card")
    MEDIA_CAROUSEL_SINGLE_PLAYER(1244),
    @UiEvent(doc = "The media carousel contains multiple media player cards")
    MEDIA_CAROUSEL_MULTIPLE_PLAYERS(1245);

    override fun getId() = metricId
}