Declare CellularRadioPowerStateChanged atom

eldar/897050483

Bug: 281819983
Test: Verify that Android code compiles
Change-Id: I3cf4184850197f1f058528a7d4ffff1cb14d2e38
diff --git a/stats/atoms.proto b/stats/atoms.proto
index 2965510..33bff2f 100644
--- a/stats/atoms.proto
+++ b/stats/atoms.proto
@@ -1058,6 +1058,7 @@
     extensions 710; // AiWallpapersSessionSummary ai_wallpapers_session_summary
     extensions 711; // OnDevicePersonalizationApiCalled ondevicepersonalization_api_called
     extensions 712; // FederatedComputeApiCalled federated_compute_api_called
+    extensions 713; // CellularRadioPowerStateChanged cellular_radio_power_state_changed
     extensions 9999; // Atom9999 atom_9999
     // StatsdStats tracks platform atoms with ids up to 900.
     // Update StatsdStats::kMaxPushedAtomId when atom ids here approach that value.
diff --git a/stats/atoms/telephony/telephony_extension_atoms.proto b/stats/atoms/telephony/telephony_extension_atoms.proto
index 75ad180..5c247f0 100644
--- a/stats/atoms/telephony/telephony_extension_atoms.proto
+++ b/stats/atoms/telephony/telephony_extension_atoms.proto
@@ -26,9 +26,15 @@
 option java_multiple_files = true;
 
 extend Atom {
+    optional CellularRadioPowerStateChanged cellular_radio_power_state_changed = 713 [(module) = "telephony"];
     optional EmergencyNumbersInfo emergency_numbers_info = 10180 [(module) = "telephony"];
 }
 
+message CellularRadioPowerStateChanged {
+    optional android.telephony.CellularRadioPowerStateEnum state = 1
+            [(state_field_option).exclusive_state = true, (state_field_option).nested = false];
+}
+
 /**
  * pulled atom to capture all emergency numbers information stored.
  */
diff --git a/stats/enums/telephony/enums.proto b/stats/enums/telephony/enums.proto
index 38eb26f..399944d 100644
--- a/stats/enums/telephony/enums.proto
+++ b/stats/enums/telephony/enums.proto
@@ -92,6 +92,14 @@
     NETWORK_TYPE_NR = 20;
 }
 
+// Cellular radio power state, see android/telephony/TelephonyManager.java for definitions.
+enum CellularRadioPowerStateEnum {
+    RADIO_POWER_STATE_UNKNOWN = 0;
+    RADIO_POWER_STATE_OFF = 1;
+    RADIO_POWER_STATE_ON = 2;
+    RADIO_POWER_STATE_UNAVAILABLE = 3;
+}
+
 // Roaming type enums, see android.telephony.ServiceState.RoamingType for definitions.
 enum RoamingTypeEnum {
     ROAMING_TYPE_NOT_ROAMING = 0;