Merge "Use IBase instead of IBinder for IServiceManager." am: 8ead2f0c9a
am: dab9e7bfc7
Change-Id: I8c39d01e0670d200c18ba02dbd3d09cea5a503c7
This commit is contained in:
@@ -25,6 +25,8 @@
|
|||||||
|
|
||||||
#include <JNIHelp.h>
|
#include <JNIHelp.h>
|
||||||
#include <android/hidl/manager/1.0/IServiceManager.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 <android_runtime/AndroidRuntime.h>
|
||||||
#include <hidl/ServiceManagement.h>
|
#include <hidl/ServiceManagement.h>
|
||||||
#include <hidl/Status.h>
|
#include <hidl/Status.h>
|
||||||
@@ -239,11 +241,11 @@ 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);
|
||||||
|
sp<hidl::base::V1_0::IBase> base = hidl::base::V1_0::IHwBase::asInterface(binder);
|
||||||
bool ok = hardware::defaultServiceManager()->add(
|
bool ok = hardware::defaultServiceManager()->add(
|
||||||
interfaceChain,
|
interfaceChain,
|
||||||
serviceName,
|
serviceName,
|
||||||
binder);
|
base);
|
||||||
|
|
||||||
env->ReleaseStringUTFChars(serviceNameObj, serviceName);
|
env->ReleaseStringUTFChars(serviceNameObj, serviceName);
|
||||||
serviceName = NULL;
|
serviceName = NULL;
|
||||||
@@ -289,8 +291,10 @@ static jobject JHwBinder_native_getService(
|
|||||||
hardware::defaultServiceManager()->get(
|
hardware::defaultServiceManager()->get(
|
||||||
ifaceName,
|
ifaceName,
|
||||||
serviceName,
|
serviceName,
|
||||||
[&service](sp<hardware::IBinder> out) {
|
[&service](sp<hidl::base::V1_0::IBase> out) {
|
||||||
service = out;
|
service = hardware::toBinder<
|
||||||
|
hidl::base::V1_0::IBase, hidl::base::V1_0::IHwBase
|
||||||
|
>(out);
|
||||||
});
|
});
|
||||||
|
|
||||||
env->ReleaseStringUTFChars(ifaceNameObj, ifaceName);
|
env->ReleaseStringUTFChars(ifaceNameObj, ifaceName);
|
||||||
|
|||||||
Reference in New Issue
Block a user