Commit 07a3a386 authored by Rachel Wong's avatar Rachel Wong Committed by Commit Bot

[settings logging] Call UKM logger when the user makes a Quick Settings change.

Bug: 1014839
Change-Id: I040a679baa9785fd975fabc2253a5d7e9c560608
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1999973Reviewed-by: default avatarJenny Zhang <jennyz@chromium.org>
Reviewed-by: default avatarTony Yeoman <tby@chromium.org>
Commit-Queue: Rachel Wong <wrong@chromium.org>
Cr-Commit-Position: refs/heads/master@{#735307}
parent 88d2d6b0
...@@ -8,12 +8,23 @@ ...@@ -8,12 +8,23 @@
#include "ash/metrics/user_metrics_recorder.h" #include "ash/metrics/user_metrics_recorder.h"
#include "ash/shell.h" #include "ash/shell.h"
#include "ash/system/audio/unified_volume_view.h" #include "ash/system/audio/unified_volume_view.h"
#include "ash/system/machine_learning/user_settings_event_logger.h"
#include "base/metrics/user_metrics.h" #include "base/metrics/user_metrics.h"
#include "base/metrics/user_metrics_action.h" #include "base/metrics/user_metrics_action.h"
using chromeos::CrasAudioHandler; using chromeos::CrasAudioHandler;
namespace ash { namespace ash {
namespace {
void LogUserVolumeEvent(const int previous_level, const int current_level) {
auto* logger = ml::UserSettingsEventLogger::Get();
if (logger) {
logger->LogVolumeUkmEvent(previous_level, current_level);
}
}
} // namespace
UnifiedVolumeSliderController::UnifiedVolumeSliderController( UnifiedVolumeSliderController::UnifiedVolumeSliderController(
UnifiedVolumeSliderController::Delegate* delegate) UnifiedVolumeSliderController::Delegate* delegate)
...@@ -33,10 +44,14 @@ void UnifiedVolumeSliderController::ButtonPressed(views::Button* sender, ...@@ -33,10 +44,14 @@ void UnifiedVolumeSliderController::ButtonPressed(views::Button* sender,
const ui::Event& event) { const ui::Event& event) {
if (sender == slider_->button()) { if (sender == slider_->button()) {
bool mute_on = !CrasAudioHandler::Get()->IsOutputMuted(); bool mute_on = !CrasAudioHandler::Get()->IsOutputMuted();
if (mute_on) const int volume_level = CrasAudioHandler::Get()->GetOutputVolumePercent();
if (mute_on) {
LogUserVolumeEvent(volume_level, 0);
base::RecordAction(base::UserMetricsAction("StatusArea_Audio_Muted")); base::RecordAction(base::UserMetricsAction("StatusArea_Audio_Muted"));
else } else {
LogUserVolumeEvent(0, volume_level);
base::RecordAction(base::UserMetricsAction("StatusArea_Audio_Unmuted")); base::RecordAction(base::UserMetricsAction("StatusArea_Audio_Unmuted"));
}
CrasAudioHandler::Get()->SetOutputMute(mute_on); CrasAudioHandler::Get()->SetOutputMute(mute_on);
} else if (sender == slider_->more_button()) { } else if (sender == slider_->more_button()) {
delegate_->OnAudioSettingsButtonClicked(); delegate_->OnAudioSettingsButtonClicked();
...@@ -58,6 +73,7 @@ void UnifiedVolumeSliderController::SliderValueChanged( ...@@ -58,6 +73,7 @@ void UnifiedVolumeSliderController::SliderValueChanged(
UMA_STATUS_AREA_CHANGED_VOLUME_MENU); UMA_STATUS_AREA_CHANGED_VOLUME_MENU);
} }
LogUserVolumeEvent(CrasAudioHandler::Get()->GetOutputVolumePercent(), level);
CrasAudioHandler::Get()->SetOutputVolumePercent(level); CrasAudioHandler::Get()->SetOutputVolumePercent(level);
// If the volume is above certain level and it's muted, it should be unmuted. // If the volume is above certain level and it's muted, it should be unmuted.
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
#include "ash/resources/vector_icons/vector_icons.h" #include "ash/resources/vector_icons/vector_icons.h"
#include "ash/shell.h" #include "ash/shell.h"
#include "ash/strings/grit/ash_strings.h" #include "ash/strings/grit/ash_strings.h"
#include "ash/system/machine_learning/user_settings_event_logger.h"
#include "ash/system/model/system_tray_model.h" #include "ash/system/model/system_tray_model.h"
#include "ash/system/tray/hover_highlight_view.h" #include "ash/system/tray/hover_highlight_view.h"
#include "ash/system/tray/tray_info_label.h" #include "ash/system/tray/tray_info_label.h"
...@@ -102,6 +103,13 @@ views::View* CreateDisabledPanel() { ...@@ -102,6 +103,13 @@ views::View* CreateDisabledPanel() {
return container; return container;
} }
void LogUserBluetoothEvent(const BluetoothAddress& device_address) {
ml::UserSettingsEventLogger* logger = ml::UserSettingsEventLogger::Get();
if (logger) {
logger->LogBluetoothUkmEvent(device_address);
}
}
} // namespace } // namespace
BluetoothDetailedView::BluetoothDetailedView(DetailedViewDelegate* delegate, BluetoothDetailedView::BluetoothDetailedView(DetailedViewDelegate* delegate,
...@@ -320,6 +328,7 @@ void BluetoothDetailedView::HandleViewClicked(views::View* view) { ...@@ -320,6 +328,7 @@ void BluetoothDetailedView::HandleViewClicked(views::View* view) {
return; return;
UpdateClickedDevice(device_address, view); UpdateClickedDevice(device_address, view);
LogUserBluetoothEvent(device_address);
helper->ConnectToBluetoothDevice(device_address); helper->ConnectToBluetoothDevice(device_address);
} }
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#include "ash/shell.h" #include "ash/shell.h"
#include "ash/system/brightness/unified_brightness_view.h" #include "ash/system/brightness/unified_brightness_view.h"
#include "ash/system/brightness_control_delegate.h" #include "ash/system/brightness_control_delegate.h"
#include "ash/system/machine_learning/user_settings_event_logger.h"
#include "ash/system/unified/unified_system_tray_model.h" #include "ash/system/unified/unified_system_tray_model.h"
namespace ash { namespace ash {
...@@ -18,6 +19,16 @@ namespace { ...@@ -18,6 +19,16 @@ namespace {
// back on. // back on.
constexpr double kMinBrightnessPercent = 5.0; constexpr double kMinBrightnessPercent = 5.0;
void LogUserBrightnessEvent(const double previous_level,
const double current_level) {
auto* logger = ml::UserSettingsEventLogger::Get();
if (logger) {
// The logger expects an integer between 0 and 100.
logger->LogBrightnessUkmEvent(std::floor(previous_level * 100.),
std::floor(current_level * 100.));
}
}
} // namespace } // namespace
UnifiedBrightnessSliderController::UnifiedBrightnessSliderController( UnifiedBrightnessSliderController::UnifiedBrightnessSliderController(
...@@ -63,6 +74,7 @@ void UnifiedBrightnessSliderController::SliderValueChanged( ...@@ -63,6 +74,7 @@ void UnifiedBrightnessSliderController::SliderValueChanged(
previous_percent_ = percent; previous_percent_ = percent;
percent = std::max(kMinBrightnessPercent, percent); percent = std::max(kMinBrightnessPercent, percent);
LogUserBrightnessEvent(old_value, value);
brightness_control_delegate->SetBrightnessPercent(percent, true); brightness_control_delegate->SetBrightnessPercent(percent, true);
} }
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#include "ash/strings/grit/ash_strings.h" #include "ash/strings/grit/ash_strings.h"
#include "ash/style/ash_color_provider.h" #include "ash/style/ash_color_provider.h"
#include "ash/style/default_color_constants.h" #include "ash/style/default_color_constants.h"
#include "ash/system/machine_learning/user_settings_event_logger.h"
#include "ash/system/message_center/message_center_controller.h" #include "ash/system/message_center/message_center_controller.h"
#include "ash/system/message_center/message_center_style.h" #include "ash/system/message_center/message_center_style.h"
#include "ash/system/tray/tray_popup_utils.h" #include "ash/system/tray/tray_popup_utils.h"
...@@ -97,6 +98,13 @@ constexpr gfx::Insets kQuietModeLabelPadding(16, 0, 15, 0); ...@@ -97,6 +98,13 @@ constexpr gfx::Insets kQuietModeLabelPadding(16, 0, 15, 0);
constexpr SkColor kTopBorderColor = SkColorSetA(SK_ColorBLACK, 0x1F); constexpr SkColor kTopBorderColor = SkColorSetA(SK_ColorBLACK, 0x1F);
const int kLabelFontSizeDelta = 1; const int kLabelFontSizeDelta = 1;
void LogUserQuietModeEvent(const bool enabled) {
auto* logger = ml::UserSettingsEventLogger::Get();
if (logger) {
logger->LogQuietModeUkmEvent(enabled);
}
}
// NotifierButtonWrapperView --------------------------------------------------- // NotifierButtonWrapperView ---------------------------------------------------
// A wrapper view of NotifierButton to guarantee the fixed height // A wrapper view of NotifierButton to guarantee the fixed height
...@@ -635,6 +643,7 @@ bool NotifierSettingsView::OnMouseWheel(const ui::MouseWheelEvent& event) { ...@@ -635,6 +643,7 @@ bool NotifierSettingsView::OnMouseWheel(const ui::MouseWheelEvent& event) {
void NotifierSettingsView::ButtonPressed(views::Button* sender, void NotifierSettingsView::ButtonPressed(views::Button* sender,
const ui::Event& event) { const ui::Event& event) {
if (sender == quiet_mode_toggle_) { if (sender == quiet_mode_toggle_) {
LogUserQuietModeEvent(quiet_mode_toggle_->GetIsOn());
MessageCenter::Get()->SetQuietMode(quiet_mode_toggle_->GetIsOn()); MessageCenter::Get()->SetQuietMode(quiet_mode_toggle_->GetIsOn());
return; return;
} }
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
#include "ash/session/session_controller_impl.h" #include "ash/session/session_controller_impl.h"
#include "ash/shell.h" #include "ash/shell.h"
#include "ash/strings/grit/ash_strings.h" #include "ash/strings/grit/ash_strings.h"
#include "ash/system/machine_learning/user_settings_event_logger.h"
#include "ash/system/model/system_tray_model.h" #include "ash/system/model/system_tray_model.h"
#include "ash/system/network/tray_network_state_model.h" #include "ash/system/network/tray_network_state_model.h"
#include "ash/system/tray/system_menu_button.h" #include "ash/system/tray/system_menu_button.h"
...@@ -79,6 +80,13 @@ bool NetworkTypeIsConfigurable(NetworkType type) { ...@@ -79,6 +80,13 @@ bool NetworkTypeIsConfigurable(NetworkType type) {
return false; return false;
} }
void LogUserNetworkEvent(const NetworkStateProperties& network) {
auto* const logger = ml::UserSettingsEventLogger::Get();
if (logger) {
logger->LogNetworkUkmEvent(network);
}
}
} // namespace } // namespace
bool CanNetworkConnect( bool CanNetworkConnect(
...@@ -287,6 +295,7 @@ void NetworkStateListDetailedView::HandleViewClickedImpl( ...@@ -287,6 +295,7 @@ void NetworkStateListDetailedView::HandleViewClickedImpl(
list_type_ == LIST_TYPE_VPN list_type_ == LIST_TYPE_VPN
? UMA_STATUS_AREA_CONNECT_TO_VPN ? UMA_STATUS_AREA_CONNECT_TO_VPN
: UMA_STATUS_AREA_CONNECT_TO_CONFIGURED_NETWORK); : UMA_STATUS_AREA_CONNECT_TO_CONFIGURED_NETWORK);
LogUserNetworkEvent(*network.get());
chromeos::NetworkConnect::Get()->ConnectToNetworkId(network->guid); chromeos::NetworkConnect::Get()->ConnectToNetworkId(network->guid);
return; return;
} }
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#include "ash/session/session_controller_impl.h" #include "ash/session/session_controller_impl.h"
#include "ash/shell.h" #include "ash/shell.h"
#include "ash/strings/grit/ash_strings.h" #include "ash/strings/grit/ash_strings.h"
#include "ash/system/machine_learning/user_settings_event_logger.h"
#include "ash/system/model/system_tray_model.h" #include "ash/system/model/system_tray_model.h"
#include "ash/system/night_light/night_light_controller_impl.h" #include "ash/system/night_light/night_light_controller_impl.h"
#include "ash/system/tray/tray_popup_utils.h" #include "ash/system/tray/tray_popup_utils.h"
...@@ -19,6 +20,16 @@ ...@@ -19,6 +20,16 @@
#include "ui/base/l10n/l10n_util.h" #include "ui/base/l10n/l10n_util.h"
namespace ash { namespace ash {
namespace {
void LogUserNightLightEvent(const bool enabled) {
auto* logger = ml::UserSettingsEventLogger::Get();
if (logger) {
logger->LogNightLightUkmEvent(enabled);
}
}
} // namespace
NightLightFeaturePodController::NightLightFeaturePodController( NightLightFeaturePodController::NightLightFeaturePodController(
UnifiedSystemTrayController* tray_controller) UnifiedSystemTrayController* tray_controller)
...@@ -44,6 +55,7 @@ FeaturePodButton* NightLightFeaturePodController::CreateButton() { ...@@ -44,6 +55,7 @@ FeaturePodButton* NightLightFeaturePodController::CreateButton() {
void NightLightFeaturePodController::OnIconPressed() { void NightLightFeaturePodController::OnIconPressed() {
Shell::Get()->night_light_controller()->Toggle(); Shell::Get()->night_light_controller()->Toggle();
LogUserNightLightEvent(Shell::Get()->night_light_controller()->GetEnabled());
UpdateButton(); UpdateButton();
if (Shell::Get()->night_light_controller()->GetEnabled()) { if (Shell::Get()->night_light_controller()->GetEnabled()) {
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#include "ash/session/session_controller_impl.h" #include "ash/session/session_controller_impl.h"
#include "ash/shell.h" #include "ash/shell.h"
#include "ash/strings/grit/ash_strings.h" #include "ash/strings/grit/ash_strings.h"
#include "ash/system/machine_learning/user_settings_event_logger.h"
#include "ash/system/unified/feature_pod_button.h" #include "ash/system/unified/feature_pod_button.h"
#include "ash/system/unified/unified_system_tray_controller.h" #include "ash/system/unified/unified_system_tray_controller.h"
#include "base/metrics/histogram_macros.h" #include "base/metrics/histogram_macros.h"
...@@ -20,6 +21,16 @@ ...@@ -20,6 +21,16 @@
using message_center::MessageCenter; using message_center::MessageCenter;
namespace ash { namespace ash {
namespace {
void LogUserQuietModeEvent(const bool enabled) {
auto* logger = ml::UserSettingsEventLogger::Get();
if (logger) {
logger->LogQuietModeUkmEvent(enabled);
}
}
} // namespace
QuietModeFeaturePodController::QuietModeFeaturePodController( QuietModeFeaturePodController::QuietModeFeaturePodController(
UnifiedSystemTrayController* tray_controller) UnifiedSystemTrayController* tray_controller)
...@@ -53,6 +64,7 @@ FeaturePodButton* QuietModeFeaturePodController::CreateButton() { ...@@ -53,6 +64,7 @@ FeaturePodButton* QuietModeFeaturePodController::CreateButton() {
void QuietModeFeaturePodController::OnIconPressed() { void QuietModeFeaturePodController::OnIconPressed() {
MessageCenter* message_center = MessageCenter::Get(); MessageCenter* message_center = MessageCenter::Get();
bool is_quiet_mode = message_center->IsQuietMode(); bool is_quiet_mode = message_center->IsQuietMode();
LogUserQuietModeEvent(!is_quiet_mode);
message_center->SetQuietMode(!is_quiet_mode); message_center->SetQuietMode(!is_quiet_mode);
if (message_center->IsQuietMode()) { if (message_center->IsQuietMode()) {
......
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