Move jniGetReferent to use JniConstants
Change-Id: Ia99480728245c770169d388f63fae6bcde6ba2cc
diff --git a/JNIHelp.cpp b/JNIHelp.cpp
index b5fba99..9ecad30 100644
--- a/JNIHelp.cpp
+++ b/JNIHelp.cpp
@@ -330,6 +330,12 @@
(*env)->SetIntField(e, fileDescriptor, fid, value);
}
+jobject jniGetReferent(C_JNIEnv* env, jobject ref) {
+ JNIEnv* e = reinterpret_cast<JNIEnv*>(env);
+ static jmethodID get = e->GetMethodID(JniConstants::referenceClass, "get", "()Ljava/lang/Object;");
+ return (*env)->CallObjectMethod(e, ref, get);
+}
+
/*
* DO NOT USE THIS FUNCTION
*
diff --git a/JniConstants.cpp b/JniConstants.cpp
index 6c3b9aa..9c2c24f 100644
--- a/JniConstants.cpp
+++ b/JniConstants.cpp
@@ -54,6 +54,7 @@
jclass JniConstants::parsePositionClass;
jclass JniConstants::patternSyntaxExceptionClass;
jclass JniConstants::realToStringClass;
+jclass JniConstants::referenceClass;
jclass JniConstants::shortClass;
jclass JniConstants::socketClass;
jclass JniConstants::socketImplClass;
@@ -116,6 +117,7 @@
parsePositionClass = findClass(env, "java/text/ParsePosition");
patternSyntaxExceptionClass = findClass(env, "java/util/regex/PatternSyntaxException");
realToStringClass = findClass(env, "java/lang/RealToString");
+ referenceClass = findClass(env, "java/lang/ref/Reference");
shortClass = findClass(env, "java/lang/Short");
socketClass = findClass(env, "java/net/Socket");
socketImplClass = findClass(env, "java/net/SocketImpl");
diff --git a/include/nativehelper/JniConstants.h b/include/nativehelper/JniConstants.h
index f11ec9c..6b8731a 100644
--- a/include/nativehelper/JniConstants.h
+++ b/include/nativehelper/JniConstants.h
@@ -75,6 +75,7 @@
static jclass parsePositionClass;
static jclass patternSyntaxExceptionClass;
static jclass realToStringClass;
+ static jclass referenceClass;
static jclass shortClass;
static jclass socketClass;
static jclass socketImplClass;