Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c1616f68 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

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

parents 834be811 ec5eb7e2
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -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(
+4 −4
Original line number Diff line number Diff line
@@ -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",