diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/media/controls/pipeline/MediaDataManager.kt | 16 | ||||
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/media/controls/util/MediaUiEventLogger.kt | 24 |
2 files changed, 39 insertions, 1 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/pipeline/MediaDataManager.kt b/packages/SystemUI/src/com/android/systemui/media/controls/pipeline/MediaDataManager.kt index 3012bb41445e..2dd339d409a6 100644 --- a/packages/SystemUI/src/com/android/systemui/media/controls/pipeline/MediaDataManager.kt +++ b/packages/SystemUI/src/com/android/systemui/media/controls/pipeline/MediaDataManager.kt @@ -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) diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/util/MediaUiEventLogger.kt b/packages/SystemUI/src/com/android/systemui/media/controls/util/MediaUiEventLogger.kt index 3ad8c21e8a1e..ea943be85f21 100644 --- a/packages/SystemUI/src/com/android/systemui/media/controls/util/MediaUiEventLogger.kt +++ b/packages/SystemUI/src/com/android/systemui/media/controls/util/MediaUiEventLogger.kt @@ -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 } |