diff options
Diffstat (limited to 'platform/android/src/graphics/pointf.cpp')
-rw-r--r-- | platform/android/src/graphics/pointf.cpp | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/platform/android/src/graphics/pointf.cpp b/platform/android/src/graphics/pointf.cpp index 3f854da2ea..eceb65b07a 100644 --- a/platform/android/src/graphics/pointf.cpp +++ b/platform/android/src/graphics/pointf.cpp @@ -5,23 +5,21 @@ namespace mbgl { namespace android { jni::Object<PointF> PointF::New(jni::JNIEnv& env, float x, float y) { - static auto constructor = PointF::javaClass.GetConstructor<float, float>(env); - return PointF::javaClass.New(env, constructor, x, y); + static auto javaClass = jni::Class<PointF>::Singleton(env); + static auto constructor = javaClass.GetConstructor<float, float>(env); + return javaClass.New(env, constructor, x, y); } mbgl::ScreenCoordinate PointF::getScreenCoordinate(jni::JNIEnv& env, jni::Object<PointF> point) { - static auto xField = PointF::javaClass.GetField<jni::jfloat>(env, "x"); - static auto yField = PointF::javaClass.GetField<jni::jfloat>(env, "y"); + static auto javaClass = jni::Class<PointF>::Singleton(env); + static auto xField = javaClass.GetField<jni::jfloat>(env, "x"); + static auto yField = javaClass.GetField<jni::jfloat>(env, "y"); return mbgl::ScreenCoordinate{point.Get(env, xField), point.Get(env, yField)}; } void PointF::registerNative(jni::JNIEnv& env) { - // Lookup the class - PointF::javaClass = *jni::Class<PointF>::Find(env).NewGlobalRef(env).release(); + jni::Class<PointF>::Singleton(env); } -jni::Class<PointF> PointF::javaClass; - - } // namespace android } // namespace mbgl
\ No newline at end of file |