From bae1b55ae07e4f31470b1e859bed4e501e603286 Mon Sep 17 00:00:00 2001 From: Yifan Hong Date: Thu, 1 Dec 2016 10:25:05 -0800 Subject: Use IBase instead of IBinder for IServiceManager. Test: compiles with mma Change-Id: I5805df48aa358dcef555125f6467d659f095b0c2 --- core/jni/android_os_HwBinder.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/core/jni/android_os_HwBinder.cpp b/core/jni/android_os_HwBinder.cpp index 10090a1f6942..23a988a3dcc0 100644 --- a/core/jni/android_os_HwBinder.cpp +++ b/core/jni/android_os_HwBinder.cpp @@ -25,6 +25,8 @@ #include #include +#include +#include #include #include #include @@ -239,11 +241,11 @@ static void JHwBinder_native_registerService( using android::hidl::manager::V1_0::IServiceManager; sp binder = JHwBinder::GetNativeContext(env, thiz); - + sp base = hidl::base::V1_0::IHwBase::asInterface(binder); bool ok = hardware::defaultServiceManager()->add( interfaceChain, serviceName, - binder); + base); env->ReleaseStringUTFChars(serviceNameObj, serviceName); serviceName = NULL; @@ -289,8 +291,10 @@ static jobject JHwBinder_native_getService( hardware::defaultServiceManager()->get( ifaceName, serviceName, - [&service](sp out) { - service = out; + [&service](sp out) { + service = hardware::toBinder< + hidl::base::V1_0::IBase, hidl::base::V1_0::IHwBase + >(out); }); env->ReleaseStringUTFChars(ifaceNameObj, ifaceName); -- cgit v1.2.3-59-g8ed1b