Add New UiEvents for media dashboard
Adds two UiEvents when media session is added, the first one is logged when the carousel contains only one media player. The second event when the carousel has multiples, it is logged only once. Bug: 241485754 Test: Tried log.e() and checked that it is working as explained in the description. Change-Id: I8380bfd14cde5c38b2940023e7ddce01fe3128ad
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user