fix DynamicPartitionControlAndroid::LoadMetadataBuilder am: 30fa5f523f
am: d824c627e4
Change-Id: I43b283994ce6234e91083aac94a2dd033b569fd1
diff --git a/dynamic_partition_control_android.cc b/dynamic_partition_control_android.cc
index 1a1e021..d9d3be5 100644
--- a/dynamic_partition_control_android.cc
+++ b/dynamic_partition_control_android.cc
@@ -204,8 +204,14 @@
const std::string& super_device,
uint32_t source_slot,
uint32_t target_slot) {
- auto builder = MetadataBuilder::NewForUpdate(
- PartitionOpener(), super_device, source_slot, target_slot);
+ std::unique_ptr<MetadataBuilder> builder;
+ if (target_slot == BootControlInterface::kInvalidSlot) {
+ builder =
+ MetadataBuilder::New(PartitionOpener(), super_device, source_slot);
+ } else {
+ builder = MetadataBuilder::NewForUpdate(
+ PartitionOpener(), super_device, source_slot, target_slot);
+ }
if (builder == nullptr) {
LOG(WARNING) << "No metadata slot "