diff options
author | Yi-Yo Chiang <yochiang@google.com> | 2022-08-10 04:35:27 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2022-08-10 04:35:27 +0000 |
commit | 5e533f324028322f9dd9c26eb0b1cc0dc0cfbca1 (patch) | |
tree | 7c0a11da3fb60088b2e36e51a5c4e28613c1c575 | |
parent | 215df6dd9690f9bcf5bdfa0915ef5d20a5953b24 (diff) | |
parent | e024d00ecfb27a39fd9b798a87c58e8a99dc11ba (diff) | |
download | gsid-5e533f324028322f9dd9c26eb0b1cc0dc0cfbca1.tar.gz |
Add disableImage() to IImageService am: 6c1043f18e am: 99987b3c71 am: 84a8946ea1 am: 49430242ed am: e024d00ecf
Original change: https://android-review.googlesource.com/c/platform/system/gsid/+/2176548
Change-Id: Ia772ca8f789866471e7c6d33247eef4126c484e9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | aidl/android/gsi/IImageService.aidl | 7 | ||||
-rw-r--r-- | gsi_service.cpp | 11 |
2 files changed, 17 insertions, 1 deletions
diff --git a/aidl/android/gsi/IImageService.aidl b/aidl/android/gsi/IImageService.aidl index 363a919..9f84e50 100644 --- a/aidl/android/gsi/IImageService.aidl +++ b/aidl/android/gsi/IImageService.aidl @@ -130,7 +130,12 @@ interface IImageService { void removeAllImages(); /** - * Remove all images that were marked as disabled in recovery. + * Mark an image as disabled. + */ + void disableImage(@utf8InCpp String name); + + /** + * Remove all images that were marked as disabled. */ void removeDisabledImages(); diff --git a/gsi_service.cpp b/gsi_service.cpp index 3392a1d..10bbb51 100644 --- a/gsi_service.cpp +++ b/gsi_service.cpp @@ -577,6 +577,7 @@ class ImageService : public BinderService<ImageService>, public BnImageService { int32_t* _aidl_return) override; binder::Status zeroFillNewImage(const std::string& name, int64_t bytes) override; binder::Status removeAllImages() override; + binder::Status disableImage(const std::string& name) override; binder::Status removeDisabledImages() override; binder::Status getMappedImageDevice(const std::string& name, std::string* device) override; binder::Status isImageDisabled(const std::string& name, bool* _aidl_return) override; @@ -740,6 +741,16 @@ binder::Status ImageService::removeAllImages() { return binder::Status::ok(); } +binder::Status ImageService::disableImage(const std::string& name) { + if (!CheckUid()) return UidSecurityError(); + + std::lock_guard<std::mutex> guard(service_->lock()); + if (!impl_->DisableImage(name)) { + return BinderError("Failed to disable image: " + name); + } + return binder::Status::ok(); +} + binder::Status ImageService::removeDisabledImages() { if (!CheckUid()) return UidSecurityError(); |