Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d2fb31f6 authored by Charles Chen's avatar Charles Chen
Browse files

Replace addServiceWithIsolated ndk API

A more scalable API is introduce to cover this usage.

Bug: 266943251
Test: Services can be retrieved in isolated processes.
Change-Id: Ie38a1ed5380e64412ed54c28a683e414622a6352
parent 63ea3704
Loading
Loading
Loading
Loading
+3 −2
Original line number Original line Diff line number Diff line
@@ -344,8 +344,9 @@ void ResourceManagerService::instantiate() {
    std::shared_ptr<ResourceManagerService> service =
    std::shared_ptr<ResourceManagerService> service =
            ::ndk::SharedRefBase::make<ResourceManagerService>();
            ::ndk::SharedRefBase::make<ResourceManagerService>();
    binder_status_t status =
    binder_status_t status =
                        AServiceManager_addServiceWithAllowIsolated(
                        AServiceManager_addServiceWithFlag(
                        service->asBinder().get(), getServiceName(), /*allowIsolated=*/ true);
                        service->asBinder().get(), getServiceName(),
                        AServiceManager_AddServiceFlag::ADD_SERVICE_ALLOW_ISOLATED);
    if (status != STATUS_OK) {
    if (status != STATUS_OK) {
        return;
        return;
    }
    }
+2 −2
Original line number Original line Diff line number Diff line
@@ -100,9 +100,9 @@ void ResourceObserverService::BinderDiedCallback(void* cookie) {
std::shared_ptr<ResourceObserverService> ResourceObserverService::instantiate() {
std::shared_ptr<ResourceObserverService> ResourceObserverService::instantiate() {
    std::shared_ptr<ResourceObserverService> observerService =
    std::shared_ptr<ResourceObserverService> observerService =
            ::ndk::SharedRefBase::make<ResourceObserverService>();
            ::ndk::SharedRefBase::make<ResourceObserverService>();
    binder_status_t status = AServiceManager_addServiceWithAllowIsolated(
    binder_status_t status = AServiceManager_addServiceWithFlag(
      observerService->asBinder().get(),ResourceObserverService::getServiceName(),
      observerService->asBinder().get(),ResourceObserverService::getServiceName(),
      /*allowIsolated=*/ true);
      AServiceManager_AddServiceFlag::ADD_SERVICE_ALLOW_ISOLATED);


    if (status != STATUS_OK) {
    if (status != STATUS_OK) {
        return nullptr;
        return nullptr;