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

This commit is contained in:
Michael Mikhail
2022-12-07 18:38:05 +00:00
committed by Android (Google) Code Review
2 changed files with 39 additions and 1 deletions

View File

@@ -422,6 +422,7 @@ class MediaDataManager(
appUid = appUid appUid = appUid
) )
mediaEntries.put(packageName, resumeData) mediaEntries.put(packageName, resumeData)
logSingleVsMultipleMediaAdded(appUid, packageName, instanceId)
logger.logResumeMediaAdded(appUid, packageName, instanceId) logger.logResumeMediaAdded(appUid, packageName, instanceId)
} }
backgroundExecutor.execute { backgroundExecutor.execute {
@@ -812,6 +813,7 @@ class MediaDataManager(
val appUid = appInfo?.uid ?: Process.INVALID_UID val appUid = appInfo?.uid ?: Process.INVALID_UID
if (logEvent) { if (logEvent) {
logSingleVsMultipleMediaAdded(appUid, sbn.packageName, instanceId)
logger.logActiveMediaAdded(appUid, sbn.packageName, instanceId, playbackLocation) logger.logActiveMediaAdded(appUid, sbn.packageName, instanceId, playbackLocation)
} else if (playbackLocation != currentEntry?.playbackLocation) { } else if (playbackLocation != currentEntry?.playbackLocation) {
logger.logPlaybackLocationChange(appUid, sbn.packageName, instanceId, 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? { private fun getAppInfoFromPackage(packageName: String): ApplicationInfo? {
try { try {
return context.packageManager.getApplicationInfo(packageName, 0) return context.packageManager.getApplicationInfo(packageName, 0)

View File

@@ -213,6 +213,24 @@ class MediaUiEventLogger @Inject constructor(private val logger: UiEventLogger)
instanceId 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 { 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") @UiEvent(doc = "User tapped on a media recommendation card")
MEDIA_RECOMMENDATION_CARD_TAP(1045), MEDIA_RECOMMENDATION_CARD_TAP(1045),
@UiEvent(doc = "User opened the broadcast dialog from a media control") @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 override fun getId() = metricId
} }