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/common/dynamic_partition_control_interface.h b/common/dynamic_partition_control_interface.h
index 2c01b1a..3f735bb 100644
--- a/common/dynamic_partition_control_interface.h
+++ b/common/dynamic_partition_control_interface.h
@@ -75,6 +75,9 @@
virtual FeatureFlag GetVirtualAbCompressionFeatureFlag() = 0;
// Return the feature flag for Virtual AB Compression XOR
virtual FeatureFlag GetVirtualAbCompressionXorFeatureFlag() = 0;
+ // Returns whether userspace snapshots are enabled on the device, but not
+ // whether they're enabled for the update.
+ virtual FeatureFlag GetVirtualAbUserspaceSnapshotsFeatureFlag() = 0;
// Attempt to optimize |operation|.
// If successful, |optimized| contains an operation with extents that
diff --git a/common/dynamic_partition_control_stub.cc b/common/dynamic_partition_control_stub.cc
index 6283b1d..ac11faf 100644
--- a/common/dynamic_partition_control_stub.cc
+++ b/common/dynamic_partition_control_stub.cc
@@ -42,6 +42,11 @@
return FeatureFlag(FeatureFlag::Value::NONE);
}
+FeatureFlag
+DynamicPartitionControlStub::GetVirtualAbUserspaceSnapshotsFeatureFlag() {
+ return FeatureFlag(FeatureFlag::Value::NONE);
+}
+
bool DynamicPartitionControlStub::OptimizeOperation(
const std::string& partition_name,
const InstallOperation& operation,
diff --git a/common/dynamic_partition_control_stub.h b/common/dynamic_partition_control_stub.h
index 15137d2..4236051 100644
--- a/common/dynamic_partition_control_stub.h
+++ b/common/dynamic_partition_control_stub.h
@@ -33,6 +33,7 @@
FeatureFlag GetVirtualAbFeatureFlag() override;
FeatureFlag GetVirtualAbCompressionFeatureFlag() override;
FeatureFlag GetVirtualAbCompressionXorFeatureFlag() override;
+ FeatureFlag GetVirtualAbUserspaceSnapshotsFeatureFlag() override;
bool OptimizeOperation(const std::string& partition_name,
const InstallOperation& operation,
InstallOperation* optimized) override;
diff --git a/common/mock_dynamic_partition_control.h b/common/mock_dynamic_partition_control.h
index fd0a5a9..8cff28f 100644
--- a/common/mock_dynamic_partition_control.h
+++ b/common/mock_dynamic_partition_control.h
@@ -38,6 +38,10 @@
GetVirtualAbCompressionXorFeatureFlag,
(),
(override));
+ MOCK_METHOD(FeatureFlag,
+ GetVirtualAbUserspaceSnapshotsFeatureFlag,
+ (),
+ (override));
MOCK_METHOD(FeatureFlag, GetVirtualAbFeatureFlag, (), (override));
MOCK_METHOD(bool, FinishUpdate, (bool), (override));
MOCK_METHOD(std::unique_ptr<FileDescriptor>,