Add more data to SnapshotMergeReported.

This adds io_uring, userspace snapshots, and xor compression information
to SnapshotMergeReported.

Bug: 222117189
Test: stats_testdrive after OTA
Change-Id: I94f046cd7bd621a3b166c470f2a1e113363c8e8c
diff --git a/aosp/dynamic_partition_control_android.cc b/aosp/dynamic_partition_control_android.cc
index 27d1d54..b295442 100644
--- a/aosp/dynamic_partition_control_android.cc
+++ b/aosp/dynamic_partition_control_android.cc
@@ -84,6 +84,8 @@
     "ro.virtual_ab.compression.enabled";
 constexpr auto&& kVirtualAbCompressionXorEnabled =
     "ro.virtual_ab.compression.xor.enabled";
+constexpr char kVirtualAbUserspaceSnapshotsEnabled[] =
+    "ro.virtual_ab.userspace.snapshots.enabled";
 
 // Currently, android doesn't have a retrofit prop for VAB Compression. However,
 // struct FeatureFlag forces us to determine if a feature is 'retrofit'. So this
@@ -130,6 +132,8 @@
                                              kVirtualAbCompressionRetrofit)),
       virtual_ab_compression_xor_(
           GetFeatureFlag(kVirtualAbCompressionXorEnabled, "")),
+      virtual_ab_userspace_snapshots_(
+          GetFeatureFlag(kVirtualAbUserspaceSnapshotsEnabled, nullptr)),
       source_slot_(source_slot) {
   if (GetVirtualAbFeatureFlag().IsEnabled()) {
     snapshot_ = SnapshotManager::New();
@@ -1496,4 +1500,9 @@
          snapshot_->UpdateUsesCompression();
 }
 
+FeatureFlag
+DynamicPartitionControlAndroid::GetVirtualAbUserspaceSnapshotsFeatureFlag() {
+  return virtual_ab_userspace_snapshots_;
+}
+
 }  // namespace chromeos_update_engine