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

Commit 8824b525 authored by Martijn Coenen's avatar Martijn Coenen Committed by android-build-merger
Browse files

Merge "Callback elision for HIDL interfaces." am: b7ee96a6

am: d390a829

Change-Id: I6977094aa5a97d82b51c18f605e258046c488c7e
parents 11d80ae9 d390a829
Loading
Loading
Loading
Loading
+13 −10
Original line number Diff line number Diff line
@@ -514,8 +514,10 @@ static bool pokeBinderServices()
// their system properties.
static void pokeHalServices()
{
    using ::android::hidl::base::V1_0::IBase;
    using ::android::hidl::manager::V1_0::IServiceManager;
    using ::android::hardware::hidl_string;
    using ::android::hardware::Return;

    sp<IServiceManager> sm = ::android::hardware::defaultServiceManager();

@@ -532,19 +534,20 @@ static void pokeHalServices()
                continue;
            hidl_string fqInterfaceName = fqInstanceName.substr(0, n);
            hidl_string instanceName = fqInstanceName.substr(n+1, std::string::npos);
            auto getRet = sm->get(fqInterfaceName, instanceName, [&](const auto &interface) {
            Return<sp<IBase>> interfaceRet = sm->get(fqInterfaceName, instanceName);
            if (!interfaceRet.isOk()) {
                fprintf(stderr, "failed to get service %s: %s\n",
                        fqInstanceName.c_str(),
                        interfaceRet.description().c_str());
                continue;
            }
            sp<IBase> interface = interfaceRet;
            auto notifyRet = interface->notifySyspropsChanged();
            if (!notifyRet.isOk()) {
                fprintf(stderr, "failed to notifySyspropsChanged on service %s: %s\n",
                        fqInstanceName.c_str(),
                        notifyRet.description().c_str());
            }
            });
            if (!getRet.isOk()) {
                fprintf(stderr, "failed to get service %s: %s\n",
                        fqInstanceName.c_str(),
                        getRet.description().c_str());
            }
        }
    });
    if (!listRet.isOk()) {