1/* 2 * Copyright (C) 2023 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17syntax = "proto2"; 18 19package android.os.statsd.hdmi; 20 21import "frameworks/proto_logging/stats/atoms.proto"; 22import "frameworks/proto_logging/stats/atom_field_options.proto"; 23import "frameworks/proto_logging/stats/enums/stats/hdmi/enums.proto"; 24 25option java_package = "com.android.os.hdmi"; 26option java_multiple_files = true; 27 28extend Atom { 29 optional HdmiEarcStatusReported hdmi_earc_status_reported = 701 [(module) = "framework"]; 30 optional HdmiSoundbarModeStatusReported hdmi_soundbar_mode_status_reported 31 = 724 [(module) = "framework"]; 32 optional HdmiPowerStateChangeOnActiveSourceLostToggled 33 hdmi_power_state_change_on_active_source_lost_toggled = 991 [(module) = "framework"]; 34} 35/** 36* Push atom that logs the status of the eARC feature in 3 dimensions: whether the 37* hardware supports it, whether the setting is enabled and whether a connection is 38* established. 39* 40* Logged whenever the device wakes up and when the HAL reports an update in the 41* connection state. 42**/ 43message HdmiEarcStatusReported { 44 // whether the hardware supports eARC 45 optional bool is_supported = 1; 46 // whether eARC is enabled 47 optional bool is_enabled = 2; 48 // If log_reason == LOG_REASON_EARC_STATUS_CHANGED, the state just before the change. 49 // Otherwise, the current state. 50 optional android.stats.hdmi.ConnectionState old_connected_state = 3; 51 // If log_reason == LOG_REASON_EARC_STATUS_CHANGED, the state just after the change. 52 // Otherwise, the current state. 53 optional android.stats.hdmi.ConnectionState new_connected_state = 4; 54 // The event that triggered the log. 55 optional android.stats.hdmi.LogReason log_reason = 5; 56} 57 58/** 59* Push atom that logs the status of the Dynamic Soundbar mode feature in 2 dimensions: whether the 60* hardware supports it and whether the setting is enabled. 61* 62* Logged whenever the device wakes up or the Dynamic Soundbar mode setting is toggled. 63**/ 64message HdmiSoundbarModeStatusReported { 65 // whether the hardware supports Dynamic soundbar mode 66 optional bool is_supported = 1; 67 // whether the Dynamic soundbar mode setting is enabled 68 optional bool is_enabled = 2; 69 // the event that triggered the log. 70 optional android.stats.hdmi.DynamicSoundbarModeLogReason log_reason = 3; 71} 72 73/** 74* Push atom that logs the status of POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST in 2 dimensions: 75* whether the setting is enabled and connected device manufacturer information (PNP Id, year, 76* week). 77* 78* Logged whenever the setting is toggled. 79**/ 80 81message HdmiPowerStateChangeOnActiveSourceLostToggled { 82 // whether the setting is enabled. 83 optional bool is_enabled = 1; 84 // the event that triggered the log. 85 optional android.stats.hdmi.PowerStateChangeOnActiveSourceLostToggleReason log_reason = 2; 86 // stores the PNP Id reported in the EDID by the connected device. The PNP Id can be 87 // decoded here - https://uefi.org/PNP_ID_List. 88 optional string manufacturer_device_pnp_id = 3; 89 // stores the manufacturer year reported in the EDID by the connected device 90 optional int32 manufacturer_device_year = 4; 91 // stores the manufacturer week reported in the EDID by the connected device 92 optional int32 manufacturer_device_week = 5; 93} 94