diff options
-rw-r--r-- | common/dynamic_partition_control_interface.h | 3 | ||||
-rw-r--r-- | common/dynamic_partition_control_stub.cc | 5 | ||||
-rw-r--r-- | common/dynamic_partition_control_stub.h | 1 | ||||
-rw-r--r-- | dynamic_partition_control_android.cc | 5 | ||||
-rw-r--r-- | dynamic_partition_control_android.h | 1 |
5 files changed, 15 insertions, 0 deletions
diff --git a/common/dynamic_partition_control_interface.h b/common/dynamic_partition_control_interface.h index b092f7a3..39daf75c 100644 --- a/common/dynamic_partition_control_interface.h +++ b/common/dynamic_partition_control_interface.h @@ -50,6 +50,9 @@ class DynamicPartitionControlInterface { // Return the feature flags of Virtual A/B on this device. virtual FeatureFlag GetVirtualAbFeatureFlag() = 0; + // Checks if the provided InstallOperation can be skipped on this device. + virtual bool ShouldSkipOperation(const InstallOperation& operation) = 0; + // Do necessary cleanups before destroying the object. virtual void Cleanup() = 0; diff --git a/common/dynamic_partition_control_stub.cc b/common/dynamic_partition_control_stub.cc index 86f75aa0..06f6b3c2 100644 --- a/common/dynamic_partition_control_stub.cc +++ b/common/dynamic_partition_control_stub.cc @@ -32,6 +32,11 @@ FeatureFlag DynamicPartitionControlStub::GetVirtualAbFeatureFlag() { return FeatureFlag(FeatureFlag::Value::NONE); } +bool DynamicPartitionControlStub::ShouldSkipOperation( + const InstallOperation& operation) { + return false; +} + void DynamicPartitionControlStub::Cleanup() {} bool DynamicPartitionControlStub::PreparePartitionsForUpdate( diff --git a/common/dynamic_partition_control_stub.h b/common/dynamic_partition_control_stub.h index e7895dee..c62758bd 100644 --- a/common/dynamic_partition_control_stub.h +++ b/common/dynamic_partition_control_stub.h @@ -29,6 +29,7 @@ class DynamicPartitionControlStub : public DynamicPartitionControlInterface { public: FeatureFlag GetDynamicPartitionsFeatureFlag() override; FeatureFlag GetVirtualAbFeatureFlag() override; + bool ShouldSkipOperation(const InstallOperation& operation) override; void Cleanup() override; bool PreparePartitionsForUpdate(uint32_t source_slot, uint32_t target_slot, diff --git a/dynamic_partition_control_android.cc b/dynamic_partition_control_android.cc index 464cdf13..c24aee90 100644 --- a/dynamic_partition_control_android.cc +++ b/dynamic_partition_control_android.cc @@ -104,6 +104,11 @@ FeatureFlag DynamicPartitionControlAndroid::GetVirtualAbFeatureFlag() { return virtual_ab_; } +bool DynamicPartitionControlAndroid::ShouldSkipOperation( + const InstallOperation& operation) { + return false; +} + bool DynamicPartitionControlAndroid::MapPartitionInternal( const std::string& super_device, const std::string& target_partition_name, diff --git a/dynamic_partition_control_android.h b/dynamic_partition_control_android.h index c1837e07..2bfbcb15 100644 --- a/dynamic_partition_control_android.h +++ b/dynamic_partition_control_android.h @@ -35,6 +35,7 @@ class DynamicPartitionControlAndroid : public DynamicPartitionControlInterface { ~DynamicPartitionControlAndroid(); FeatureFlag GetDynamicPartitionsFeatureFlag() override; FeatureFlag GetVirtualAbFeatureFlag() override; + bool ShouldSkipOperation(const InstallOperation& operation) override; void Cleanup() override; bool PreparePartitionsForUpdate(uint32_t source_slot, |