summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Yifan Hong <elsk@google.com> 2016-12-03 23:22:40 +0000
committer android-build-merger <android-build-merger@google.com> 2016-12-03 23:22:40 +0000
commitae68a5cb2934ff0c770dcb4654cb425ac82ae7fa (patch)
treeb4f953d5d6afbd95591d12da0d90b67beab844fd
parentb344ba69e6fdc4ca7553116b72dd88ec9789bb4f (diff)
parentbc9c711513e4457c68d47ced29928430fe3bb27a (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.cpp12
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);