fix DynamicPartitionControlAndroid::LoadMetadataBuilder
am: 30fa5f523f
Change-Id: Ife20dfbf4f34b0e0fcc096504e2a5fcc41abc60d
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 "