Merge "android.os.HidlSupport: add getPidIfSharable() for HALs"

This commit is contained in:
Yifan Hong
2017-11-22 22:51:19 +00:00
committed by Gerrit Code Review
4 changed files with 46 additions and 0 deletions

View File

@@ -179,4 +179,9 @@ public class HidlSupport {
}
return Objects.equals(lft.asBinder(), ((IHwInterface) rgt).asBinder());
}
/**
* Return PID of process if sharable to clients.
*/
public static native int getPidIfSharable();
}

View File

@@ -77,6 +77,7 @@ cc_library_shared {
"android_text_StaticLayout.cpp",
"android_os_Debug.cpp",
"android_os_GraphicsEnvironment.cpp",
"android_os_HidlSupport.cpp",
"android_os_HwBinder.cpp",
"android_os_HwBlob.cpp",
"android_os_HwParcel.cpp",

View File

@@ -154,6 +154,7 @@ extern int register_android_database_SQLiteDebug(JNIEnv* env);
extern int register_android_nio_utils(JNIEnv* env);
extern int register_android_os_Debug(JNIEnv* env);
extern int register_android_os_GraphicsEnvironment(JNIEnv* env);
extern int register_android_os_HidlSupport(JNIEnv* env);
extern int register_android_os_HwBinder(JNIEnv *env);
extern int register_android_os_HwBlob(JNIEnv *env);
extern int register_android_os_HwParcel(JNIEnv *env);
@@ -1325,6 +1326,7 @@ static const RegJNIRec gRegJNI[] = {
REG_JNI(register_android_os_SystemProperties),
REG_JNI(register_android_os_Binder),
REG_JNI(register_android_os_Parcel),
REG_JNI(register_android_os_HidlSupport),
REG_JNI(register_android_os_HwBinder),
REG_JNI(register_android_os_HwBlob),
REG_JNI(register_android_os_HwParcel),

View File

@@ -0,0 +1,38 @@
/*
* Copyright (C) 2017 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <hidl/HidlTransportSupport.h>
#include <nativehelper/JNIHelp.h>
#include "core_jni_helpers.h"
namespace android {
static jint android_os_HidlSupport_getPidIfSharable(JNIEnv*, jclass) {
return android::hardware::details::getPidIfSharable();
}
static const JNINativeMethod gHidlSupportMethods[] = {
{"getPidIfSharable", "()I", (void*)android_os_HidlSupport_getPidIfSharable},
};
const char* const kHidlSupportPathName = "android/os/HidlSupport";
int register_android_os_HidlSupport(JNIEnv* env)
{
return RegisterMethodsOrDie(env, kHidlSupportPathName, gHidlSupportMethods, NELEM(gHidlSupportMethods));
}
} // namespace android