BootControl: is slot marked successful
Test: update_engine_unittests
Bug: 147696014
Change-Id: I316efda7a0936e2dee0f766efb5c18ff30790274
diff --git a/boot_control_android.cc b/boot_control_android.cc
index 429de6a..ec2ca0f 100644
--- a/boot_control_android.cc
+++ b/boot_control_android.cc
@@ -150,6 +150,22 @@
brillo::MessageLoop::kTaskIdNull;
}
+bool BootControlAndroid::IsSlotMarkedSuccessful(
+ BootControlInterface::Slot slot) const {
+ Return<BoolResult> ret = module_->isSlotMarkedSuccessful(slot);
+ CommandResult result;
+ if (!ret.isOk()) {
+ LOG(ERROR) << "Unable to determine if slot " << SlotName(slot)
+ << " is marked successful: " << ret.description();
+ return false;
+ }
+ if (ret == BoolResult::INVALID_SLOT) {
+ LOG(ERROR) << "Invalid slot: " << SlotName(slot);
+ return false;
+ }
+ return ret == BoolResult::TRUE;
+}
+
DynamicPartitionControlInterface*
BootControlAndroid::GetDynamicPartitionControl() {
return dynamic_control_.get();