| Index: blimp/client/app/android/blimp_library_loader.cc
|
| diff --git a/blimp/client/app/android/blimp_library_loader.cc b/blimp/client/app/android/blimp_library_loader.cc
|
| index 6f1f80133ba81a559d992eb9feaa7817a68bd6a4..42295c3d93c9519c66c6ab51eda1f8ae1f6c7983 100644
|
| --- a/blimp/client/app/android/blimp_library_loader.cc
|
| +++ b/blimp/client/app/android/blimp_library_loader.cc
|
| @@ -27,12 +27,17 @@ bool OnLibrariesLoaded(JNIEnv* env, jclass clazz) {
|
| return true;
|
| }
|
|
|
| -bool OnJniInitializationComplete() {
|
| +bool NativeInit() {
|
| + if (!base::android::OnJNIOnLoadInit())
|
| + return false;
|
| +
|
| base::android::SetLibraryLoadedHook(&OnLibrariesLoaded);
|
| return true;
|
| }
|
|
|
| -bool RegisterJni(JNIEnv* env) {
|
| +bool RegisterJni() {
|
| + JNIEnv* env = base::android::AttachCurrentThread();
|
| +
|
| if (!base::android::RegisterJni(env))
|
| return false;
|
|
|
| @@ -74,19 +79,12 @@ bool RegisterBlimpLibraryLoaderJni(JNIEnv* env) {
|
| } // namespace blimp
|
|
|
| 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(&OnJniInitializationComplete));
|
| -
|
| // Although we only need to register JNI for base/ and blimp/, this follows
|
| // the general Chrome for Android pattern, to be future-proof against future
|
| // changes to JNI.
|
| - if (!base::android::OnJNIOnLoadRegisterJNI(vm, register_callbacks) ||
|
| - !base::android::OnJNIOnLoadInit(init_callbacks)) {
|
| + if (!base::android::OnJNIOnLoadRegisterJNI(vm) || !RegisterJni() ||
|
| + !NativeInit()) {
|
| return -1;
|
| }
|
| -
|
| return JNI_VERSION_1_4;
|
| }
|
|
|