diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2018-08-17 13:43:07 -0700 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2018-09-07 09:44:12 -0700 |
commit | 53c3c327f0ebea276d977f58a59cdb9449165518 (patch) | |
tree | 1315a80a1c24f24dd1cbd4e00cf85083be16ce45 /platform/android/src/map_renderer_runnable.cpp | |
parent | 6806ba5b52129050c0944bd7c8b1fe285baeeddc (diff) | |
download | qtlocation-mapboxgl-53c3c327f0ebea276d977f58a59cdb9449165518.tar.gz |
[android] Upgrade to latest jni.hpp
Diffstat (limited to 'platform/android/src/map_renderer_runnable.cpp')
-rw-r--r-- | platform/android/src/map_renderer_runnable.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/platform/android/src/map_renderer_runnable.cpp b/platform/android/src/map_renderer_runnable.cpp index 4dc6611c40..1bfccebd2d 100644 --- a/platform/android/src/map_renderer_runnable.cpp +++ b/platform/android/src/map_renderer_runnable.cpp @@ -12,6 +12,7 @@ MapRendererRunnable::MapRendererRunnable(jni::JNIEnv& env, std::weak_ptr<Mailbox // Not using a weak reference here as this might oerflow // the weak reference table on some devices jni::UniqueLocalFrame frame = jni::PushLocalFrame(env, 5); + static auto javaClass = jni::Class<MapRendererRunnable>::Singleton(env); static auto constructor = javaClass.GetConstructor<jlong>(env); auto instance = javaClass.New(env, constructor, reinterpret_cast<jlong>(this)); javaPeer = instance.NewGlobalRef(env); @@ -23,23 +24,21 @@ void MapRendererRunnable::run(jni::JNIEnv&) { Mailbox::maybeReceive(mailbox); } -jni::UniqueObject<MapRendererRunnable> MapRendererRunnable::peer() { +jni::Global<jni::Object<MapRendererRunnable>> MapRendererRunnable::peer() { return std::move(javaPeer); } // Static methods // -jni::Class<MapRendererRunnable> MapRendererRunnable::javaClass; - void MapRendererRunnable::registerNative(jni::JNIEnv& env) { // Lookup the class - MapRendererRunnable::javaClass = *jni::Class<MapRendererRunnable>::Find(env).NewGlobalRef(env).release(); + static auto javaClass = jni::Class<MapRendererRunnable>::Singleton(env); #define METHOD(MethodPtr, name) jni::MakeNativePeerMethod<decltype(MethodPtr), (MethodPtr)>(name) jni::RegisterNativePeer<MapRendererRunnable>( env, - MapRendererRunnable::javaClass, + javaClass, "nativePtr", std::make_unique<MapRendererRunnable, JNIEnv&>, "nativeInitialize", |