| Index: mojo/android/javatests/init_library.cc
|
| diff --git a/mojo/android/javatests/init_library.cc b/mojo/android/javatests/init_library.cc
|
| index 967524017c88ce2bb409c7af0dcc8e3e7922fa29..9e1a593011a6b69ec8c6b72acbc8957aaec8f817 100644
|
| --- a/mojo/android/javatests/init_library.cc
|
| +++ b/mojo/android/javatests/init_library.cc
|
| @@ -6,6 +6,7 @@
|
| #include "base/android/base_jni_registrar.h"
|
| #include "base/android/jni_android.h"
|
| #include "base/android/jni_registrar.h"
|
| +#include "base/android/library_loader/library_loader_hooks.h"
|
| #include "base/bind.h"
|
| #include "mojo/android/javatests/mojo_test_case.h"
|
| #include "mojo/android/javatests/validation_test_util.h"
|
| @@ -24,11 +25,14 @@ base::android::RegistrationMethod kMojoRegisteredMethods[] = {
|
|
|
| bool RegisterJNI(JNIEnv* env) {
|
| return base::android::RegisterJni(env) &&
|
| - RegisterNativeMethods(env, kMojoRegisteredMethods,
|
| - arraysize(kMojoRegisteredMethods));
|
| + RegisterNativeMethods(env, kMojoRegisteredMethods,
|
| + arraysize(kMojoRegisteredMethods));
|
| }
|
|
|
| -bool Init() {
|
| +bool NativeInit() {
|
| + if (!base::android::OnJNIOnLoadInit())
|
| + return false;
|
| +
|
| mojo::edk::Init();
|
| return true;
|
| }
|
| @@ -36,13 +40,11 @@ bool Init() {
|
| } // namespace
|
|
|
| JNI_EXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved) {
|
| - std::vector<base::android::RegisterCallback> register_callbacks;
|
| - register_callbacks.push_back(base::Bind(&RegisterJNI));
|
| - std::vector<base::android::InitCallback> init_callbacks;
|
| - init_callbacks.push_back(base::Bind(&Init));
|
| - if (!base::android::OnJNIOnLoadRegisterJNI(vm, register_callbacks) ||
|
| - !base::android::OnJNIOnLoadInit(init_callbacks))
|
| + base::android::InitVM(vm);
|
| + JNIEnv* env = base::android::AttachCurrentThread();
|
| + if (!base::android::OnJNIOnLoadRegisterJNI(env) || !RegisterJNI(env) ||
|
| + !NativeInit()) {
|
| return -1;
|
| -
|
| + }
|
| return JNI_VERSION_1_4;
|
| }
|
|
|