summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartijn Coenen <maco@google.com>2017-01-02 15:16:24 +0100
committerMartijn Coenen <maco@google.com>2017-01-05 08:48:15 +0100
commit52280c38e293ca520180dda316f561b12e64a024 (patch)
treebe4e7278b68d8502bdd5a752a22cebe5df2d3d87
parent3c050268f0e3a5fd31ef16b61ce7291546ca865f (diff)
Callback elision for HIDL interfaces.
Test: mma, hidl_test_java Bug: 31380743 Change-Id: I9a5c8ef0cc6ac3150395a867690ca82ec2bc419f
-rw-r--r--core/jni/android_os_HwBinder.cpp12
1 files changed, 3 insertions, 9 deletions
diff --git a/core/jni/android_os_HwBinder.cpp b/core/jni/android_os_HwBinder.cpp
index c456d622ab5a..81199fa41e1b 100644
--- a/core/jni/android_os_HwBinder.cpp
+++ b/core/jni/android_os_HwBinder.cpp
@@ -325,15 +325,9 @@ static jobject JHwBinder_native_getService(
return NULL;
}
- sp<hardware::IBinder> service;
- manager->get(
- ifaceName,
- serviceName,
- [&service](sp<hidl::base::V1_0::IBase> out) {
- service = hardware::toBinder<
- hidl::base::V1_0::IBase, hidl::base::V1_0::BpBase
- >(out);
- });
+ sp<hidl::base::V1_0::IBase> base = manager->get(ifaceName, serviceName);
+ sp<hardware::IBinder> service = hardware::toBinder<
+ hidl::base::V1_0::IBase, hidl::base::V1_0::BpBase>(base);
env->ReleaseStringUTFChars(ifaceNameObj, ifaceName);
ifaceName = NULL;