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

Commit 380697ca authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "HwBinder: fail gracefully for device w/o hwbinder"

parents 933ea68a 520d12c5
Loading
Loading
Loading
Loading
+20 −2
Original line number Diff line number Diff line
@@ -242,9 +242,19 @@ static void JHwBinder_native_registerService(
    using android::hidl::manager::V1_0::IServiceManager;

    sp<hardware::IBinder> binder = JHwBinder::GetNativeContext(env, thiz);

    /* TODO(b/33440494) this is not right */
    sp<hidl::base::V1_0::IBase> base = new hidl::base::V1_0::BpBase(binder);
    bool ok = hardware::defaultServiceManager()->add(

    auto manager = hardware::defaultServiceManager();

    if (manager == nullptr) {
        LOG(ERROR) << "Could not get hwservicemanager.";
        signalExceptionForError(env, UNKNOWN_ERROR);
        return;
    }

    bool ok = manager->add(
                interfaceChain,
                serviceName,
                base);
@@ -289,8 +299,16 @@ static jobject JHwBinder_native_getService(
              << serviceName
              << "'";

    auto manager = hardware::defaultServiceManager();

    if (manager == nullptr) {
        LOG(ERROR) << "Could not get hwservicemanager.";
        signalExceptionForError(env, UNKNOWN_ERROR);
        return NULL;
    }

    sp<hardware::IBinder> service;
    hardware::defaultServiceManager()->get(
    manager->get(
            ifaceName,
            serviceName,
            [&service](sp<hidl::base::V1_0::IBase> out) {