diff options
author | Alex Buynytskyy <alexbuy@google.com> | 2020-09-12 16:12:36 -0700 |
---|---|---|
committer | Alex Buynytskyy <alexbuy@google.com> | 2020-09-21 12:40:56 -0700 |
commit | b39d13ed7f15d0c2d0a29f55e925318f44d31fa7 (patch) | |
tree | 5dc8ca839d6b5512d542fb6f8505fa73cf78aef3 /services/incremental/BinderIncrementalService.cpp | |
parent | b4ada7780762f6f450ce153217da9f4bbc08700b (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.cpp | 12 |
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, |