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

Commit c178f461 authored by Michael Mikhail's avatar Michael Mikhail Committed by Automerger Merge Worker
Browse files

Merge "Add New UiEvents for media dashboard" into tm-qpr-dev am: 02057ddf

parents 821e66b2 02057ddf
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
}