From b39d13ed7f15d0c2d0a29f55e925318f44d31fa7 Mon Sep 17 00:00:00 2001 From: Alex Buynytskyy Date: Sat, 12 Sep 2020 16:12:36 -0700 Subject: Installer digests for Incremental installations. Bug: 160605420 Test: atest ChecksumsTest Change-Id: I9d46c218cccf87781e9b33711c4d02d94bf824f5 --- services/incremental/BinderIncrementalService.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'services/incremental/BinderIncrementalService.cpp') 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 toMakeFileParams( return {0, id, nfp}; } +static std::span toSpan(const ::std::optional<::std::vector>& 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>& 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, -- cgit v1.2.3-59-g8ed1b