Commit 5ba33293 authored by Jazz Xu's avatar Jazz Xu Committed by Commit Bot

CrOS GMC: Add metrics to track repeat usage and user action.

Add two metrics tracking repeat usage on shelf and in quick settings.
Add one metric to track user actions in quick setting media controls.

Bug: 1136254
Change-Id: I7da5afc7146a841c52b8adaedf0bd92242479957
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2458855Reviewed-by: default avatarTommy Steimel <steimel@chromium.org>
Reviewed-by: default avatarTetsui Ohkubo <tetsui@chromium.org>
Reviewed-by: default avatarAlexei Svitkine <asvitkine@chromium.org>
Commit-Queue: Jazz Xu <jazzhsu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#815339}
parent 8098bca2
......@@ -18,6 +18,7 @@
#include "ash/system/tray/tray_constants.h"
#include "ash/system/tray/tray_container.h"
#include "ash/system/tray/tray_utils.h"
#include "base/metrics/histogram_functions.h"
#include "base/strings/string_util.h"
#include "components/media_message_center/media_notification_view_impl.h"
#include "components/prefs/pref_change_registrar.h"
......@@ -268,6 +269,10 @@ void MediaTray::ShowBubble(bool show_by_click) {
bubble_ = std::make_unique<TrayBubbleWrapper>(this, bubble_view,
false /*is_persistent*/);
SetIsActive(true);
base::UmaHistogramBoolean("Media.CrosGlobalMediaControls.RepeatUsageOnShelf",
bubble_has_shown_);
bubble_has_shown_ = true;
}
void MediaTray::CloseBubble() {
......
......@@ -98,6 +98,8 @@ class ASH_EXPORT MediaTray : public MediaNotificationProviderObserver,
views::View* content_view_ = nullptr;
views::View* empty_state_view_ = nullptr;
bool bubble_has_shown_ = false;
};
} // namespace ash
......
......@@ -7,6 +7,7 @@
#include "ash/shell.h"
#include "ash/shell_delegate.h"
#include "ash/system/media/unified_media_controls_view.h"
#include "base/metrics/histogram_functions.h"
#include "services/media_session/public/cpp/util.h"
#include "services/media_session/public/mojom/media_session.mojom.h"
#include "services/media_session/public/mojom/media_session_service.mojom.h"
......@@ -236,8 +237,12 @@ void UnifiedMediaControlsController::OnMediaControlsViewClicked() {
void UnifiedMediaControlsController::PerformAction(
media_session::mojom::MediaSessionAction action) {
if (!freeze_session_timer_->IsRunning())
media_session::PerformMediaSessionAction(action, media_controller_remote_);
if (freeze_session_timer_->IsRunning())
return;
base::UmaHistogramEnumeration(
"Media.CrosGlobalMediaControls.QuickSettingUserAction", action);
media_session::PerformMediaSessionAction(action, media_controller_remote_);
}
void UnifiedMediaControlsController::ResetPendingData() {
......
......@@ -10,10 +10,15 @@
#include "ash/system/media/unified_media_controls_detailed_view.h"
#include "ash/system/tray/detailed_view_delegate.h"
#include "ash/system/tray/tray_constants.h"
#include "base/metrics/histogram_functions.h"
#include "ui/base/l10n/l10n_util.h"
namespace ash {
// static
bool UnifiedMediaControlsDetailedViewController::detailed_view_has_shown_ =
false;
UnifiedMediaControlsDetailedViewController::
UnifiedMediaControlsDetailedViewController(
UnifiedSystemTrayController* tray_controller)
......@@ -30,6 +35,12 @@ UnifiedMediaControlsDetailedViewController::
views::View* UnifiedMediaControlsDetailedViewController::CreateView() {
DCHECK(MediaNotificationProvider::Get());
base::UmaHistogramBoolean(
"Media.CrosGlobalMediaControls.RepeatUsageInQuickSetting",
detailed_view_has_shown_);
detailed_view_has_shown_ = true;
return new UnifiedMediaControlsDetailedView(
detailed_view_delegate_.get(),
MediaNotificationProvider::Get()->GetMediaNotificationListView(
......
......@@ -28,6 +28,8 @@ class ASH_EXPORT UnifiedMediaControlsDetailedViewController
private:
friend class UnifiedMediaControlsDetailedViewControllerTest;
static bool detailed_view_has_shown_;
const std::unique_ptr<DetailedViewDelegate> detailed_view_delegate_;
};
......
......@@ -1239,6 +1239,35 @@ reviews. Googlers can read more about this at go/gwsq-gerrit.
</summary>
</histogram>
<histogram name="Media.CrosGlobalMediaControls.QuickSettingUserAction"
enum="MediaSessionAction" expires_after="2021-10-07">
<owner>jazzhsue@chromium.org</owner>
<owner>media-dev@chromium.org</owner>
<summary>
The action user clicked on the media controls in quick settings.
</summary>
</histogram>
<histogram name="Media.CrosGlobalMediaControls.RepeatUsageInQuickSetting"
enum="BooleanIsRepeat" expires_after="2021-10-07">
<owner>jazzhsue@chromium.org</owner>
<owner>media-dev@chromium.org</owner>
<summary>
Record each time media controls' sub-menu in quick settings is opened. True
if it is a repeat usage.
</summary>
</histogram>
<histogram name="Media.CrosGlobalMediaControls.RepeatUsageOnShelf"
enum="BooleanIsRepeat" expires_after="2021-10-07">
<owner>jazzhsue@chromium.org</owner>
<owner>media-dev@chromium.org</owner>
<summary>
Record each time global media controls on the shelf is opened. True if it is
a repeat usage.
</summary>
</histogram>
<histogram name="Media.D3D11.DecoderLifetimeProgression"
enum="D3D11LifetimeProgression" expires_after="2020-09-07">
<owner>liberato@chromium.org</owner>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment