Don't FinishUpdate() in BootControl*::SetActiveBootSlot() am: e858362209 am: ca8f1feaf2
am: e9b22c1282
Change-Id: Iecf33ffeef0a05ae8b77a10a790a1c3ee86fc438
diff --git a/boot_control_android.cc b/boot_control_android.cc
index 9f736b7..429de6a 100644
--- a/boot_control_android.cc
+++ b/boot_control_android.cc
@@ -120,10 +120,6 @@
}
bool BootControlAndroid::SetActiveBootSlot(Slot slot) {
- if (slot != GetCurrentSlot() && !dynamic_control_->FinishUpdate()) {
- return false;
- }
-
CommandResult result;
auto ret = module_->setActiveBootSlot(slot, StoreResultCallback(&result));
if (!ret.isOk()) {
diff --git a/payload_consumer/postinstall_runner_action.cc b/payload_consumer/postinstall_runner_action.cc
index a782b8f..1367649 100644
--- a/payload_consumer/postinstall_runner_action.cc
+++ b/payload_consumer/postinstall_runner_action.cc
@@ -339,7 +339,8 @@
// steps succeeded.
if (error_code == ErrorCode::kSuccess) {
if (install_plan_.switch_slot_on_reboot) {
- if (!boot_control_->SetActiveBootSlot(install_plan_.target_slot)) {
+ if (!boot_control_->GetDynamicPartitionControl()->FinishUpdate() ||
+ !boot_control_->SetActiveBootSlot(install_plan_.target_slot)) {
error_code = ErrorCode::kPostinstallRunnerError;
}
} else {