#ifndef ASH_GAME_DASHBOARD_GAME_DASHBOARD_METRICS_H_
#define ASH_GAME_DASHBOARD_GAME_DASHBOARD_METRICS_H_
#include <string>
#include "ash/ash_export.h"
namespace ash {
inline constexpr char kGameDashboardToggleMainMenuHistogram[] =
"ToggleMainMenu";
inline constexpr char kGameDashboardToolbarToggleStateHistogram[] =
"ToolbarToggleState";
inline constexpr char kGameDashboardRecordingStartSourceHistogram[] =
"RecordingStartSource";
inline constexpr char kGameDashboardScreenshotTakeSourceHistogram[] =
"ScreenshotTakeSource";
inline constexpr char kGameDashboardEditControlsWithEmptyStateHistogram[] =
"EditControlsWithEmptyState";
inline constexpr char kGameDashboardToolbarClickToExpandStateHistogram[] =
"ToolbarClickToExpandState";
inline constexpr char kGameDashboardToolbarNewLocationHistogram[] =
"ToolbarNewLocation";
inline constexpr char kGameDashboardFunctionTriggeredHistogram[] =
"FunctionTriggered";
inline constexpr char
kGameDashboardWelcomeDialogNotificationToggleStateHistogram[] =
"WelcomeDialogNotificationToggleState";
inline constexpr char kGameDashboardControlsHintToggleSourceHistogram[] =
"ControlsHintToggleSource";
inline constexpr char kGameDashboardControlsFeatureToggleStateHistogram[] =
"ControlsFeatureToggleState";
inline constexpr char kGameDashboardHistogramOn[] = "On";
inline constexpr char kGameDashboardHistogramOff[] = "Off";
inline constexpr char kGameDashboardHistogramSeparator[] = ".";
enum class GameDashboardMainMenuToggleMethod {
kGameDashboardButton,
kSearchPlusG,
kEsc,
kActivateNewFeature,
kOverview,
kOthers,
kTabletMode,
kAnimation,
kMaxValue = kAnimation,
};
enum class GameDashboardMenu {
kMainMenu,
kToolbar,
kMaxValue = kToolbar,
};
enum class GameDashboardToolbarSnapLocation {
kTopLeft,
kTopRight,
kBottomRight,
kBottomLeft,
kMaxValue = kBottomLeft,
};
enum class GameDashboardFunction {
kFeedback,
kHelp,
kSetting,
kSettingBack,
kScreenSize,
kGameControlsSetupOrEdit,
kMaxValue = kGameControlsSetupOrEdit,
};
ASH_EXPORT std::string BuildGameDashboardHistogramName(const std::string& name);
ASH_EXPORT std::string BuildGameDashboardUkmEventName(const std::string& name);
void RecordGameDashboardToggleMainMenu(
const std::string& app_id,
GameDashboardMainMenuToggleMethod toggle_method,
bool toggled_on);
void RecordGameDashboardToolbarToggleState(const std::string& app_id,
bool toggled_on);
void RecordGameDashboardRecordingStartSource(const std::string& app_id,
GameDashboardMenu menu);
void RecordGameDashboardScreenshotTakeSource(const std::string& app_id,
GameDashboardMenu menu);
void RecordGameDashboardEditControlsWithEmptyState(const std::string& app_id,
bool is_setup);
void RecordGameDashboardToolbarClickToExpandState(const std::string& app_id,
bool is_expanded);
void RecordGameDashboardToolbarNewLocation(
const std::string& app_id,
GameDashboardToolbarSnapLocation location);
void RecordGameDashboardFunctionTriggered(const std::string& app_id,
GameDashboardFunction function);
void RecordGameDashboardWelcomeDialogNotificationToggleState(
const std::string& app_id,
bool toggled_on);
void RecordGameDashboardControlsHintToggleSource(const std::string& app_id,
GameDashboardMenu menu,
bool toggled_on);
void RecordGameDashboardControlsFeatureToggleState(const std::string& app_id,
bool toggled_on);
}
#endif