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;