From 348ff94aa839f9ccf637000097087fb50855b983 Mon Sep 17 00:00:00 2001 From: shaoweishen Date: Wed, 16 Aug 2023 03:43:56 +0000 Subject: [PATCH] [Output Swticher] [Metrics] logging mute/unmute event Bug: 268428968 Test: N/A Change-Id: I03ed725b5234a683ded9055d41e0145267c5208e --- .../media/dialog/MediaOutputBaseAdapter.java | 2 ++ .../media/dialog/MediaOutputController.java | 8 +++++ .../media/dialog/MediaOutputMetricLogger.java | 32 +++++++++++++++++++ 3 files changed, 42 insertions(+) diff --git a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputBaseAdapter.java b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputBaseAdapter.java index a3d1d8c6959dd..d882498307391 100644 --- a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputBaseAdapter.java +++ b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputBaseAdapter.java @@ -515,11 +515,13 @@ public abstract class MediaOutputBaseAdapter extends mSeekBar.setOnTouchListener((v, event) -> false); updateIconAreaClickListener((v) -> { if (device.getCurrentVolume() == 0) { + mController.logInteractionUnmuteDevice(device); mSeekBar.setVolume(UNMUTE_DEFAULT_VOLUME); mController.adjustVolume(device, UNMUTE_DEFAULT_VOLUME); updateUnmutedVolumeIcon(); mIconAreaLayout.setOnTouchListener(((iconV, event) -> false)); } else { + mController.logInteractionMuteDevice(device); mSeekBar.resetVolume(); mController.adjustVolume(device, 0); updateMutedVolumeIcon(); diff --git a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputController.java b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputController.java index b431babb9b40e..13cd8e3d7ee6e 100644 --- a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputController.java +++ b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputController.java @@ -843,6 +843,14 @@ public class MediaOutputController implements LocalMediaManager.DeviceCallback, mMetricLogger.logInteractionAdjustVolume(device); } + void logInteractionMuteDevice(MediaDevice device) { + mMetricLogger.logInteractionMute(device); + } + + void logInteractionUnmuteDevice(MediaDevice device) { + mMetricLogger.logInteractionUnmute(device); + } + String getPackageName() { return mPackageName; } diff --git a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputMetricLogger.java b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputMetricLogger.java index 412d1a3a5013d..ffd626abbfe84 100644 --- a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputMetricLogger.java +++ b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputMetricLogger.java @@ -153,6 +153,38 @@ public class MediaOutputMetricLogger { source.isSuggestedDevice()); } + /** + * Do the metric logging of muting device. + */ + public void logInteractionMute(MediaDevice source) { + if (DEBUG) { + Log.d(TAG, "logInteraction - Mute"); + } + + SysUiStatsLog.write( + SysUiStatsLog.MEDIAOUTPUT_OP_INTERACTION_REPORT, + SysUiStatsLog.MEDIA_OUTPUT_OP_INTERACTION_REPORTED__INTERACTION_TYPE__MUTE, + getInteractionDeviceType(source), + getLoggingPackageName(), + source.isSuggestedDevice()); + } + + /** + * Do the metric logging of unmuting device. + */ + public void logInteractionUnmute(MediaDevice source) { + if (DEBUG) { + Log.d(TAG, "logInteraction - Unmute"); + } + + SysUiStatsLog.write( + SysUiStatsLog.MEDIAOUTPUT_OP_INTERACTION_REPORT, + SysUiStatsLog.MEDIA_OUTPUT_OP_INTERACTION_REPORTED__INTERACTION_TYPE__UNMUTE, + getInteractionDeviceType(source), + getLoggingPackageName(), + source.isSuggestedDevice()); + } + /** * Do the metric logging of content switching failure. *