summaryrefslogtreecommitdiff
path: root/platform/android/src/geometry/lat_lng.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/src/geometry/lat_lng.cpp')
-rw-r--r--platform/android/src/geometry/lat_lng.cpp22
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