| Index: base/android/jni_android.cc
|
| diff --git a/base/android/jni_android.cc b/base/android/jni_android.cc
|
| index 1dc02afb3b0543fce35b14fcf1fb4401109a4db9..e6d6e56c2677c29f046c600bc34b7f833b6b32a3 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 {
|
| @@ -46,6 +47,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 +73,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;
|
|
|