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