Merge "HwBinder: fail gracefully for device w/o hwbinder" am: 380697ca79
am: b6022b9fa0
Change-Id: I7135d790ed299f21975c5b27b534714d83ccf440
This commit is contained in:
@@ -242,9 +242,19 @@ static void JHwBinder_native_registerService(
|
|||||||
using android::hidl::manager::V1_0::IServiceManager;
|
using android::hidl::manager::V1_0::IServiceManager;
|
||||||
|
|
||||||
sp<hardware::IBinder> binder = JHwBinder::GetNativeContext(env, thiz);
|
sp<hardware::IBinder> binder = JHwBinder::GetNativeContext(env, thiz);
|
||||||
|
|
||||||
/* TODO(b/33440494) this is not right */
|
/* TODO(b/33440494) this is not right */
|
||||||
sp<hidl::base::V1_0::IBase> base = new hidl::base::V1_0::BpBase(binder);
|
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,
|
interfaceChain,
|
||||||
serviceName,
|
serviceName,
|
||||||
base);
|
base);
|
||||||
@@ -289,8 +299,16 @@ static jobject JHwBinder_native_getService(
|
|||||||
<< serviceName
|
<< serviceName
|
||||||
<< "'";
|
<< "'";
|
||||||
|
|
||||||
|
auto manager = hardware::defaultServiceManager();
|
||||||
|
|
||||||
|
if (manager == nullptr) {
|
||||||
|
LOG(ERROR) << "Could not get hwservicemanager.";
|
||||||
|
signalExceptionForError(env, UNKNOWN_ERROR);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
sp<hardware::IBinder> service;
|
sp<hardware::IBinder> service;
|
||||||
hardware::defaultServiceManager()->get(
|
manager->get(
|
||||||
ifaceName,
|
ifaceName,
|
||||||
serviceName,
|
serviceName,
|
||||||
[&service](sp<hidl::base::V1_0::IBase> out) {
|
[&service](sp<hidl::base::V1_0::IBase> out) {
|
||||||
|
|||||||
Reference in New Issue
Block a user