diff options
| author | 2016-12-03 23:22:40 +0000 | |
|---|---|---|
| committer | 2016-12-03 23:22:40 +0000 | |
| commit | ae68a5cb2934ff0c770dcb4654cb425ac82ae7fa (patch) | |
| tree | b4f953d5d6afbd95591d12da0d90b67beab844fd | |
| parent | b344ba69e6fdc4ca7553116b72dd88ec9789bb4f (diff) | |
| parent | bc9c711513e4457c68d47ced29928430fe3bb27a (diff) | |
Merge "Use IBase instead of IBinder for IServiceManager." am: 8ead2f0c9a am: dab9e7bfc7
am: bc9c711513
Change-Id: I6047e1d936ef515d531a8ad4b875ab443ff2f50d
| -rw-r--r-- | core/jni/android_os_HwBinder.cpp | 12 |
1 files 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 <JNIHelp.h> #include <android/hidl/manager/1.0/IServiceManager.h> +#include <android/hidl/base/1.0/IBase.h> +#include <android/hidl/base/1.0/IHwBase.h> #include <android_runtime/AndroidRuntime.h> #include <hidl/ServiceManagement.h> #include <hidl/Status.h> @@ -239,11 +241,11 @@ static void JHwBinder_native_registerService( using android::hidl::manager::V1_0::IServiceManager; sp<hardware::IBinder> binder = JHwBinder::GetNativeContext(env, thiz); - + sp<hidl::base::V1_0::IBase> 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<hardware::IBinder> out) { - service = out; + [&service](sp<hidl::base::V1_0::IBase> out) { + service = hardware::toBinder< + hidl::base::V1_0::IBase, hidl::base::V1_0::IHwBase + >(out); }); env->ReleaseStringUTFChars(ifaceNameObj, ifaceName); |