| Index: base/android/jni_android.cc
|
| diff --git a/base/android/jni_android.cc b/base/android/jni_android.cc
|
| index 1dc02afb3b0543fce35b14fcf1fb4401109a4db9..c59b981a7710ef56f12994353d9df459fc59a882 100644
|
| --- a/base/android/jni_android.cc
|
| +++ b/base/android/jni_android.cc
|
| @@ -4,6 +4,7 @@
|
|
|
| #include "base/android/jni_android.h"
|
|
|
| +#include "base/android/scoped_java_ref.h"
|
| #include "base/logging.h"
|
|
|
| namespace {
|
| @@ -17,7 +18,6 @@ namespace android {
|
| JNIEnv* AttachCurrentThread() {
|
| if (!g_jvm)
|
| return NULL;
|
| -
|
| JNIEnv* env = NULL;
|
| jint ret = g_jvm->AttachCurrentThread(&env, NULL);
|
| DCHECK_EQ(ret, JNI_OK);
|
| @@ -46,6 +46,12 @@ jobject GetApplicationContext() {
|
| return g_application_context;
|
| }
|
|
|
| +MethodID::MethodID(JNIEnv* env, const char* class_name, const char* method,
|
| + const char* jni_signature) {
|
| + ScopedJavaLocalRef<jclass> clazz(env, env->FindClass(class_name));
|
| + id_ = GetMethodID(env, clazz.obj(), method, jni_signature);
|
| +}
|
| +
|
| jmethodID GetMethodID(JNIEnv* env,
|
| jclass clazz,
|
| const char* const method,
|
| @@ -66,6 +72,16 @@ jmethodID GetStaticMethodID(JNIEnv* env,
|
| return id;
|
| }
|
|
|
| +jfieldID GetFieldID(JNIEnv* env,
|
| + jclass clazz,
|
| + const char* field,
|
| + const char* jni_signature) {
|
| + jfieldID id = env->GetFieldID(clazz, field, jni_signature);
|
| + DCHECK(id) << field;
|
| + CheckException(env);
|
| + return id;
|
| +}
|
| +
|
| bool CheckException(JNIEnv* env) {
|
| if (env->ExceptionCheck() == JNI_FALSE)
|
| return false;
|
|
|