Merge "Deprecate VmCpuStatusReported and VmMemStatusReported atoms"
diff --git a/stats/atoms.proto b/stats/atoms.proto
index b484b15..4469988 100644
--- a/stats/atoms.proto
+++ b/stats/atoms.proto
@@ -739,6 +739,8 @@
                 510 [(module) = "media_metrics"];
         MediametricsHeadTrackerDeviceSupportedReported mediametrics_headtrackerdevicesupported_reported =
                 511 [(module) = "media_metrics"];
+        IwlanSetupDataCallResultReported iwlan_setup_data_call_result_reported = 519 [(module) = "iwlan"];
+        IwlanPdnDisconnectedReasonReported iwlan_pdn_disconnected_reason_reported = 520 [(module) = "iwlan"];
         AirplaneModeSessionReported airplane_mode_session_reported = 521 [(module) = "wifi", (module) = "bluetooth"];
         VmCpuStatusReported vm_cpu_status_reported = 522 [(module) = "virtualizationservice", deprecated = true];
         VmMemStatusReported vm_mem_status_reported = 523 [(module) = "virtualizationservice", deprecated = true];
@@ -752,6 +754,7 @@
         BluetoothLocalSupportedFeaturesReported bluetooth_local_supported_features_reported = 532 [(module) = "bluetooth"];
         BluetoothGattAppInfo bluetooth_gatt_app_info = 533 [(module) = "bluetooth"];
         OdsignReported odsign_reported = 548 [(module) = "art"];
+        ArtDeviceDatumReported art_device_datum_reported = 550 [(module) = "art"];
         // StatsdStats tracks platform atoms with ids upto 750.
         // Update StatsdStats::kMaxPushedAtomId when atom ids here approach that value.
     }
@@ -21372,13 +21375,13 @@
     // cancellation.
     optional android.app.job.StopReasonEnum cancellation_reason = 2;
 
-    // The duration of the job run, in milliseconds, not counting time spent in
-    // sleep.
+    // The duration of the job run, in milliseconds.
     optional int64 duration_ms = 3;
 
     // The duration of the job run, in milliseconds, including time spent in
-    // sleep.
-    optional int64 duration_including_sleep_ms = 4;
+    // sleep. Deprecated as the job scheduler holds a wake lock, hence this
+    // duration is always going to be the same as above.
+    optional int64 duration_including_sleep_ms = 4 [deprecated = true];
 }
 
 /**
@@ -21804,3 +21807,110 @@
 
     optional Status status = 1;
 }
+
+/**
+ * Logs when Iwlan responds the setup data call request.
+ *
+ * Logged from:
+ *   packages/services/Iwlan/src/com/google/android/iwlan/IwlanDataService.java
+ */
+message IwlanSetupDataCallResultReported {
+  enum IwlanError {
+    NO_ERROR = 0;
+    IKE_PROTOCOL_EXCEPTION = 1;
+    IKE_INTERNAL_IO_EXCEPTION = 2;
+    IKE_GENERIC_EXCEPTION = 3;
+    EPDG_SELECTOR_SERVER_SELECTION_FAILED = 4;
+    TUNNEL_TRANSFORM_FAILED = 5;
+    SIM_NOT_READY_EXCEPTION = 6;
+    NETWORK_FAILURE = 7;
+    UNKNOWN_EXCEPTION = 8;
+  }
+
+  // Setup data call apn type
+  // See go/apntypedefinition
+  optional int32 apn_type = 1;
+  // Is the request for handover
+  optional bool is_handover = 2;
+  // ePDG server address
+  optional string epdg_server_address = 3;
+  // If the request type is handover, record the source network type
+  // See
+  // frameworks/base/telephony/java/android/telephony/TelephonyManager.java
+  optional int32 source_rat = 4;
+  // If the request type is handover, record the source network roaming status
+  optional bool is_cellular_roaming = 5;
+  // Is network connected
+  optional bool is_network_connected = 6;
+  // Default network transport type
+  // See
+  // packages/modules/Connectivity/framework/src/android/net/NetworkCapabilities.java
+  optional int32 transport_type = 7;
+  // Setup result
+  optional int32 setup_request_result = 8;
+  // Iwlan error code if setup failed
+  optional IwlanError iwlan_error = 9;
+  // Data call fail cause
+  // See
+  // frameworks/base/telephony/java/android/telephony/DataFailCause.java
+  optional int32 data_call_fail_cause = 10;
+  // Setup request processing duration
+  optional int32 processing_duration_millis = 11;
+  // Time for doing ePDG server selection through DNS query of FQDNs
+  optional int32 epdg_server_selection_duration_millis = 12;
+  // Time for establishing IKE tunnel
+  optional int32 ike_tunnel_establishment_duration_millis = 13;
+  // Tunnel State
+  // See
+  // packages/services/Iwlan/src/com/google/android/iwlan/IwlanDataService.java
+  optional int32 tunnel_state = 14;
+  // Handover failure mode
+  // See
+  // frameworks/base/telephony/java/android/telephony/data/DataCallResponse.java
+  optional int32 handover_failure_mode = 15;
+  // Retry duration
+  optional int32 retry_duration_millis = 16;
+}
+
+/**
+ * Logs when Iwlan reports IWLAN PDN disconnected without deactivation request.
+ *
+ * Logged from:
+ *   packages/services/Iwlan/src/com/google/android/iwlan/IwlanDataService.java
+ */
+message IwlanPdnDisconnectedReasonReported {
+  // Disconnection cause
+  // See
+  // frameworks/base/telephony/java/android/telephony/DataFailCause.java
+  optional int32 cause = 1;
+  // Is network connected
+  optional bool is_network_connected = 2;
+  // default network transport type
+  // See
+  // packages/services/Iwlan/src/com/google/android/iwlan/IwlanDataService.java
+  optional int32 transport_type = 3;
+  // Wifi signal level
+  optional int32 wifi_signal_level = 4;
+}
+
+/**
+ * Logs ART metrics that are device-specific (as opposed to app-specific ones logged by
+ * ArtDatumReported).
+ *
+ * Logged from:
+ *   art/runtime/metrics/statsd.cc
+ */
+message ArtDeviceDatumReported {
+    enum BootImageStatus {
+        // Unknown value.
+        STATUS_UNSPECIFIED = 0;
+        // Boot image(s) are fully usable.
+        STATUS_FULL = 1;
+        // Only the minimal boot image is usable.
+        STATUS_MINIMAL = 2;
+        // No boot image is usable.
+        STATUS_NONE = 3;
+    }
+
+    optional BootImageStatus boot_image_status = 1;
+}
diff --git a/stats/enums/media/audio/enums.proto b/stats/enums/media/audio/enums.proto
index 79f4ec5..306129e 100644
--- a/stats/enums/media/audio/enums.proto
+++ b/stats/enums/media/audio/enums.proto
@@ -297,6 +297,8 @@
   AUDIO_FORMAT_IEC60958 = 0x2d000000;
   AUDIO_FORMAT_DTS_UHD = 0x2e000000;
   AUDIO_FORMAT_DRA = 0x2f000000;
+  AUDIO_FORMAT_APTX_QLEA = 0x30000000;
+  AUDIO_FORMAT_APTX_R4 = 0x31000000;
 }
 
 // Spatializer HeadTracking modes