Merge "Reland "HIDL Java getService now the same as C++."" am: c1616f6820

am: 0c6f0240b2

Change-Id: I35ee525aaa1563cc6d8fde5dac1e38e04803bb38
This commit is contained in:
Steven Moreland
2017-10-31 23:40:34 +00:00
committed by android-build-merger
2 changed files with 14 additions and 7 deletions

View File

@@ -16,10 +16,10 @@
package android.os;
import java.util.ArrayList;
import java.util.NoSuchElementException;
import libcore.util.NativeAllocationRegistry;
import java.util.NoSuchElementException;
/** @hide */
public abstract class HwBinder implements IHwBinder {
private static final String TAG = "HwBinder";
@@ -46,9 +46,16 @@ public abstract class HwBinder implements IHwBinder {
public native final void registerService(String serviceName)
throws RemoteException;
public static native final IHwBinder getService(
public static final IHwBinder getService(
String iface,
String serviceName)
throws RemoteException, NoSuchElementException {
return getService(iface, serviceName, false /* retry */);
}
public static native final IHwBinder getService(
String iface,
String serviceName,
boolean retry)
throws RemoteException, NoSuchElementException;
public static native final void configureRpcThreadpool(

View File

@@ -296,7 +296,8 @@ static jobject JHwBinder_native_getService(
JNIEnv *env,
jclass /* clazzObj */,
jstring ifaceNameObj,
jstring serviceNameObj) {
jstring serviceNameObj,
jboolean retry) {
using ::android::hidl::base::V1_0::IBase;
using ::android::hardware::details::getRawServiceInternal;
@@ -319,8 +320,7 @@ static jobject JHwBinder_native_getService(
serviceName = str.c_str();
}
// TODO(b/67981006): true /* retry */
sp<IBase> ret = getRawServiceInternal(ifaceName, serviceName, false /* retry */, false /* getStub */);
sp<IBase> ret = getRawServiceInternal(ifaceName, serviceName, retry /* retry */, false /* getStub */);
sp<hardware::IBinder> service = hardware::toBinder<hidl::base::V1_0::IBase>(ret);
if (service == NULL) {
@@ -360,7 +360,7 @@ static JNINativeMethod gMethods[] = {
{ "registerService", "(Ljava/lang/String;)V",
(void *)JHwBinder_native_registerService },
{ "getService", "(Ljava/lang/String;Ljava/lang/String;)L" PACKAGE_PATH "/IHwBinder;",
{ "getService", "(Ljava/lang/String;Ljava/lang/String;Z)L" PACKAGE_PATH "/IHwBinder;",
(void *)JHwBinder_native_getService },
{ "configureRpcThreadpool", "(JZ)V",