summaryrefslogtreecommitdiff
path: root/services/incremental/BinderIncrementalService.cpp
diff options
context:
space:
mode:
authorAlex Buynytskyy <alexbuy@google.com>2020-09-12 16:12:36 -0700
committerAlex Buynytskyy <alexbuy@google.com>2020-09-21 12:40:56 -0700
commitb39d13ed7f15d0c2d0a29f55e925318f44d31fa7 (patch)
tree5dc8ca839d6b5512d542fb6f8505fa73cf78aef3 /services/incremental/BinderIncrementalService.cpp
parentb4ada7780762f6f450ce153217da9f4bbc08700b (diff)
Installer digests for Incremental installations.
Bug: 160605420 Test: atest ChecksumsTest Change-Id: I9d46c218cccf87781e9b33711c4d02d94bf824f5
Diffstat (limited to 'services/incremental/BinderIncrementalService.cpp')
-rw-r--r--services/incremental/BinderIncrementalService.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/services/incremental/BinderIncrementalService.cpp b/services/incremental/BinderIncrementalService.cpp
index bf3a8964465b..2f8825b064ce 100644
--- a/services/incremental/BinderIncrementalService.cpp
+++ b/services/incremental/BinderIncrementalService.cpp
@@ -200,16 +200,24 @@ static std::tuple<int, incfs::FileId, incfs::NewFileParams> toMakeFileParams(
return {0, id, nfp};
}
+static std::span<const uint8_t> toSpan(const ::std::optional<::std::vector<uint8_t>>& content) {
+ if (!content) {
+ return {};
+ }
+ return {content->data(), (int)content->size()};
+}
+
binder::Status BinderIncrementalService::makeFile(
int32_t storageId, const std::string& path,
- const ::android::os::incremental::IncrementalNewFileParams& params, int32_t* _aidl_return) {
+ const ::android::os::incremental::IncrementalNewFileParams& params,
+ const ::std::optional<::std::vector<uint8_t>>& content, int32_t* _aidl_return) {
auto [err, fileId, nfp] = toMakeFileParams(params);
if (err) {
*_aidl_return = err;
return ok();
}
- *_aidl_return = mImpl.makeFile(storageId, path, 0777, fileId, nfp);
+ *_aidl_return = mImpl.makeFile(storageId, path, 0777, fileId, nfp, toSpan(content));
return ok();
}
binder::Status BinderIncrementalService::makeFileFromRange(int32_t storageId,