blob: 321cbccf7417eca43f228df612962a64905453e6 [file] [log] [blame]
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef ASH_RGB_KEYBOARD_HISTOGRAM_UTIL_H_
#define ASH_RGB_KEYBOARD_HISTOGRAM_UTIL_H_
#include <string>
#include "ash/ash_export.h"
#include "third_party/cros_system_api/dbus/rgbkbd/dbus-constants.h"
namespace ash::rgb_keyboard::metrics {
constexpr char kRgbKeyboardHistogramPrefix[] = "ChromeOS.RgbKeyboard.";
constexpr char kRgbKeyboardCapabilityTypeHistogramName[] =
"ChromeOS.RgbKeyboard.RgbKeyboardCapabilityType";
// The enums below are used in histograms, do not remove/renumber entries. If
// you're adding to any of these enums, update the corresponding enum listing in
// tools/metrics/histograms/enums.xml:
// RgbKeyboardCapabilityType/RgbKeyboardBacklightChangeType.
// RgbKeyboardCapabilityType gets its values from RgbKeyboardCapabilities
// defined in: third_party/cros_system_api/dbus/rgbkbd/dbus-constants.h.
enum class RgbKeyboardCapabilityType {
kNone = 0,
kIndividualKey = 1,
kFourZoneFortyLed = 2,
kFourZoneTwelveLed = 3,
kFourZoneFourLed = 4,
kMaxValue = kFourZoneFourLed,
};
enum class RgbKeyboardBacklightChangeType {
kStaticBackgroundColorChanged = 0,
kRainbowModeSelected = 1,
kStaticZoneColorChanged = 2,
kMaxValue = kStaticZoneColorChanged,
};
ASH_EXPORT std::string GetCapabilityTypeStr(
rgbkbd::RgbKeyboardCapabilities capabilities);
void EmitRgbKeyboardCapabilityType(
rgbkbd::RgbKeyboardCapabilities capabilities);
void EmitRgbBacklightChangeType(RgbKeyboardBacklightChangeType type,
rgbkbd::RgbKeyboardCapabilities capabilities);
} // namespace ash::rgb_keyboard::metrics
#endif // ASH_RGB_KEYBOARD_HISTOGRAM_UTIL_H_