diff options
Diffstat (limited to 'platform/android/src/geometry/lat_lng.cpp')
-rw-r--r-- | platform/android/src/geometry/lat_lng.cpp | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/platform/android/src/geometry/lat_lng.cpp b/platform/android/src/geometry/lat_lng.cpp index 0bf6ea7add..5d8313cb2a 100644 --- a/platform/android/src/geometry/lat_lng.cpp +++ b/platform/android/src/geometry/lat_lng.cpp @@ -3,29 +3,27 @@ namespace mbgl { namespace android { -jni::Object<LatLng> LatLng::New(jni::JNIEnv& env, const mbgl::LatLng& latLng) { - static auto constructor = LatLng::javaClass.GetConstructor<double, double>(env); - return LatLng::javaClass.New(env, constructor, latLng.latitude(), latLng.longitude()); +jni::Local<jni::Object<LatLng>> LatLng::New(jni::JNIEnv& env, const mbgl::LatLng& latLng) { + static auto& javaClass = jni::Class<LatLng>::Singleton(env); + static auto constructor = javaClass.GetConstructor<double, double>(env); + return javaClass.New(env, constructor, latLng.latitude(), latLng.longitude()); } -mbgl::Point<double> LatLng::getGeometry(jni::JNIEnv& env, jni::Object<LatLng> latLng) { - static auto latitudeField = LatLng::javaClass.GetField<jni::jdouble>(env, "latitude"); - static auto longitudeField = LatLng::javaClass.GetField<jni::jdouble>(env, "longitude"); +mbgl::Point<double> LatLng::getGeometry(jni::JNIEnv& env, const jni::Object<LatLng>& latLng) { + static auto& javaClass = jni::Class<LatLng>::Singleton(env); + static auto latitudeField = javaClass.GetField<jni::jdouble>(env, "latitude"); + static auto longitudeField = javaClass.GetField<jni::jdouble>(env, "longitude"); return mbgl::Point<double>(latLng.Get(env, longitudeField), latLng.Get(env, latitudeField)); } -mbgl::LatLng LatLng::getLatLng(jni::JNIEnv& env, jni::Object<LatLng> latLng) { +mbgl::LatLng LatLng::getLatLng(jni::JNIEnv& env, const jni::Object<LatLng>& latLng) { auto point = LatLng::getGeometry(env, latLng); return mbgl::LatLng(point.y, point.x); } void LatLng::registerNative(jni::JNIEnv& env) { - // Lookup the class - LatLng::javaClass = *jni::Class<LatLng>::Find(env).NewGlobalRef(env).release(); + jni::Class<LatLng>::Singleton(env); } -jni::Class<LatLng> LatLng::javaClass; - - } // namespace android } // namespace mbgl
\ No newline at end of file |