Add stubs for UpdateEngine.AllocateSpaceForPayload
This API preallocates space for a Virtual A/B update.
Right now, it also returns an error (which becomes a
ServiceSpecificException in Java) when space is insufficient. This will
be fixed in a follow up CL.
Test: pass
Bug: 138808058
Change-Id: I587615ba765acb5a52c1918d6a4acc57a95d75f7
diff --git a/binder_service_android.cc b/binder_service_android.cc
index 994dcfa..214801b 100644
--- a/binder_service_android.cc
+++ b/binder_service_android.cc
@@ -199,4 +199,23 @@
return true;
}
+Status BinderUpdateEngineAndroidService::allocateSpaceForPayload(
+ const android::String16& metadata_filename,
+ const vector<android::String16>& header_kv_pairs,
+ int64_t* return_value) {
+ const std::string payload_metadata{
+ android::String8{metadata_filename}.string()};
+ vector<string> str_headers = ToVecString(header_kv_pairs);
+ LOG(INFO) << "Received a request of allocating space for " << payload_metadata
+ << ".";
+ brillo::ErrorPtr error;
+ *return_value =
+ static_cast<int64_t>(service_delegate_->AllocateSpaceForPayload(
+ payload_metadata, str_headers, &error));
+ if (error != nullptr)
+ return ErrorPtrToStatus(error);
+
+ return Status::ok();
+}
+
} // namespace chromeos_update_engine