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/geometry | |
parent | 6806ba5b52129050c0944bd7c8b1fe285baeeddc (diff) | |
download | qtlocation-mapboxgl-53c3c327f0ebea276d977f58a59cdb9449165518.tar.gz |
[android] Upgrade to latest jni.hpp
Diffstat (limited to 'platform/android/src/geometry')
-rw-r--r-- | platform/android/src/geometry/lat_lng.cpp | 16 | ||||
-rw-r--r-- | platform/android/src/geometry/lat_lng.hpp | 2 | ||||
-rw-r--r-- | platform/android/src/geometry/lat_lng_bounds.cpp | 20 | ||||
-rw-r--r-- | platform/android/src/geometry/lat_lng_bounds.hpp | 3 | ||||
-rw-r--r-- | platform/android/src/geometry/lat_lng_quad.cpp | 20 | ||||
-rw-r--r-- | platform/android/src/geometry/lat_lng_quad.hpp | 3 | ||||
-rw-r--r-- | platform/android/src/geometry/projected_meters.cpp | 11 | ||||
-rw-r--r-- | platform/android/src/geometry/projected_meters.hpp | 5 |
8 files changed, 29 insertions, 51 deletions
diff --git a/platform/android/src/geometry/lat_lng.cpp b/platform/android/src/geometry/lat_lng.cpp index 0bf6ea7add..135755d67e 100644 --- a/platform/android/src/geometry/lat_lng.cpp +++ b/platform/android/src/geometry/lat_lng.cpp @@ -4,13 +4,15 @@ 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()); + 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"); + 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)); } @@ -20,12 +22,8 @@ mbgl::LatLng LatLng::getLatLng(jni::JNIEnv& env, jni::Object<LatLng> latLng) { } 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 diff --git a/platform/android/src/geometry/lat_lng.hpp b/platform/android/src/geometry/lat_lng.hpp index b2f12c8dcd..4431f1c739 100644 --- a/platform/android/src/geometry/lat_lng.hpp +++ b/platform/android/src/geometry/lat_lng.hpp @@ -20,10 +20,8 @@ public: static mbgl::LatLng getLatLng(jni::JNIEnv&, jni::Object<LatLng>); - static jni::Class<LatLng> javaClass; static void registerNative(jni::JNIEnv&); - }; diff --git a/platform/android/src/geometry/lat_lng_bounds.cpp b/platform/android/src/geometry/lat_lng_bounds.cpp index 827ee52e95..583120cb68 100644 --- a/platform/android/src/geometry/lat_lng_bounds.cpp +++ b/platform/android/src/geometry/lat_lng_bounds.cpp @@ -4,15 +4,17 @@ namespace mbgl { namespace android { jni::Object<LatLngBounds> LatLngBounds::New(jni::JNIEnv& env, mbgl::LatLngBounds bounds) { - static auto constructor = LatLngBounds::javaClass.GetConstructor<double, double, double, double>(env); - return LatLngBounds::javaClass.New(env, constructor, bounds.north(), bounds.east(), bounds.south(), bounds.west()); + static auto javaClass = jni::Class<LatLngBounds>::Singleton(env); + static auto constructor = javaClass.GetConstructor<double, double, double, double>(env); + return javaClass.New(env, constructor, bounds.north(), bounds.east(), bounds.south(), bounds.west()); } mbgl::LatLngBounds LatLngBounds::getLatLngBounds(jni::JNIEnv& env, jni::Object<LatLngBounds> bounds) { - static auto swLatField = LatLngBounds::javaClass.GetField<jni::jdouble>(env, "latitudeSouth"); - static auto swLonField = LatLngBounds::javaClass.GetField<jni::jdouble>(env, "longitudeWest"); - static auto neLatField = LatLngBounds::javaClass.GetField<jni::jdouble>(env, "latitudeNorth"); - static auto neLonField = LatLngBounds::javaClass.GetField<jni::jdouble>(env, "longitudeEast"); + static auto javaClass = jni::Class<LatLngBounds>::Singleton(env); + static auto swLatField = javaClass.GetField<jni::jdouble>(env, "latitudeSouth"); + static auto swLonField = javaClass.GetField<jni::jdouble>(env, "longitudeWest"); + static auto neLatField = javaClass.GetField<jni::jdouble>(env, "latitudeNorth"); + static auto neLonField = javaClass.GetField<jni::jdouble>(env, "longitudeEast"); mbgl::LatLng sw = { bounds.Get(env, swLatField), bounds.Get(env, swLonField) }; mbgl::LatLng ne = { bounds.Get(env, neLatField), bounds.Get(env, neLonField) }; @@ -23,12 +25,8 @@ mbgl::LatLngBounds LatLngBounds::getLatLngBounds(jni::JNIEnv& env, jni::Object<L } void LatLngBounds::registerNative(jni::JNIEnv& env) { - // Lookup the class - LatLngBounds::javaClass = *jni::Class<LatLngBounds>::Find(env).NewGlobalRef(env).release(); + jni::Class<LatLngBounds>::Singleton(env); } -jni::Class<LatLngBounds> LatLngBounds::javaClass; - - } // namespace android } // namespace mbgl
\ No newline at end of file diff --git a/platform/android/src/geometry/lat_lng_bounds.hpp b/platform/android/src/geometry/lat_lng_bounds.hpp index 1c853e4b67..751e0babda 100644 --- a/platform/android/src/geometry/lat_lng_bounds.hpp +++ b/platform/android/src/geometry/lat_lng_bounds.hpp @@ -18,10 +18,7 @@ public: static mbgl::LatLngBounds getLatLngBounds(jni::JNIEnv&, jni::Object<LatLngBounds>); - static jni::Class<LatLngBounds> javaClass; - static void registerNative(jni::JNIEnv&); - }; diff --git a/platform/android/src/geometry/lat_lng_quad.cpp b/platform/android/src/geometry/lat_lng_quad.cpp index 2b36139e18..5530a22903 100644 --- a/platform/android/src/geometry/lat_lng_quad.cpp +++ b/platform/android/src/geometry/lat_lng_quad.cpp @@ -5,8 +5,9 @@ namespace mbgl { namespace android { jni::Object<LatLngQuad> LatLngQuad::New(jni::JNIEnv& env, std::array<mbgl::LatLng, 4> coordinates) { - static auto quadConstructor = LatLngQuad::javaClass.GetConstructor<jni::Object<LatLng>, jni::Object<LatLng>, jni::Object<LatLng>, jni::Object<LatLng>>(env); - return LatLngQuad::javaClass.New(env, quadConstructor, + static auto javaClass = jni::Class<LatLngQuad>::Singleton(env); + static auto quadConstructor = javaClass.GetConstructor<jni::Object<LatLng>, jni::Object<LatLng>, jni::Object<LatLng>, jni::Object<LatLng>>(env); + return javaClass.New(env, quadConstructor, LatLng::New(env, coordinates[0]), LatLng::New(env, coordinates[1]), LatLng::New(env, coordinates[2]), @@ -14,10 +15,11 @@ jni::Object<LatLngQuad> LatLngQuad::New(jni::JNIEnv& env, std::array<mbgl::LatLn } std::array<mbgl::LatLng, 4> LatLngQuad::getLatLngArray(jni::JNIEnv& env, jni::Object<LatLngQuad> quad) { - static auto topLeftField = LatLngQuad::javaClass.GetField <jni::Object<LatLng>>(env, "topLeft"); - static auto topRightField = LatLngQuad::javaClass.GetField <jni::Object<LatLng>>(env, "topRight"); - static auto bottomRightField = LatLngQuad::javaClass.GetField <jni::Object<LatLng>>(env, "bottomRight"); - static auto bottomLeftField = LatLngQuad::javaClass.GetField <jni::Object<LatLng>>(env, "bottomLeft"); + static auto javaClass = jni::Class<LatLngQuad>::Singleton(env); + static auto topLeftField = javaClass.GetField <jni::Object<LatLng>>(env, "topLeft"); + static auto topRightField = javaClass.GetField <jni::Object<LatLng>>(env, "topRight"); + static auto bottomRightField = javaClass.GetField <jni::Object<LatLng>>(env, "bottomRight"); + static auto bottomLeftField = javaClass.GetField <jni::Object<LatLng>>(env, "bottomLeft"); return std::array < mbgl::LatLng, 4 > {{ LatLng::getLatLng(env, quad.Get(env, topLeftField)), @@ -28,12 +30,8 @@ std::array<mbgl::LatLng, 4> LatLngQuad::getLatLngArray(jni::JNIEnv& env, jni::Ob } void LatLngQuad::registerNative(jni::JNIEnv& env) { - // Lookup the class - LatLngQuad::javaClass = *jni::Class<LatLngQuad>::Find(env).NewGlobalRef(env).release(); + jni::Class<LatLngQuad>::Singleton(env); } -jni::Class<LatLngQuad> LatLngQuad::javaClass; - - } // namespace android } // namespace mbgl
\ No newline at end of file diff --git a/platform/android/src/geometry/lat_lng_quad.hpp b/platform/android/src/geometry/lat_lng_quad.hpp index 8f8c9abeef..ca1430ffbc 100644 --- a/platform/android/src/geometry/lat_lng_quad.hpp +++ b/platform/android/src/geometry/lat_lng_quad.hpp @@ -19,10 +19,7 @@ public: static std::array<mbgl::LatLng, 4> getLatLngArray(jni::JNIEnv&, jni::Object<LatLngQuad>); - static jni::Class<LatLngQuad> javaClass; - static void registerNative(jni::JNIEnv&); - }; diff --git a/platform/android/src/geometry/projected_meters.cpp b/platform/android/src/geometry/projected_meters.cpp index f3d9d1b0ef..4dfd7b57b2 100644 --- a/platform/android/src/geometry/projected_meters.cpp +++ b/platform/android/src/geometry/projected_meters.cpp @@ -4,17 +4,14 @@ namespace mbgl { namespace android { jni::Object<ProjectedMeters> ProjectedMeters::New(jni::JNIEnv& env, double northing, double easting) { - static auto constructor = ProjectedMeters::javaClass.GetConstructor<double, double>(env); - return ProjectedMeters::javaClass.New(env, constructor, northing, easting); + static auto javaClass = jni::Class<ProjectedMeters>::Singleton(env); + static auto constructor = javaClass.GetConstructor<double, double>(env); + return javaClass.New(env, constructor, northing, easting); } void ProjectedMeters::registerNative(jni::JNIEnv& env) { - // Lookup the class - ProjectedMeters::javaClass = *jni::Class<ProjectedMeters>::Find(env).NewGlobalRef(env).release(); + jni::Class<ProjectedMeters>::Singleton(env); } -jni::Class<ProjectedMeters> ProjectedMeters::javaClass; - - } // namespace android } // namespace mbgl
\ No newline at end of file diff --git a/platform/android/src/geometry/projected_meters.hpp b/platform/android/src/geometry/projected_meters.hpp index 9b70967b5d..5279e6bef2 100644 --- a/platform/android/src/geometry/projected_meters.hpp +++ b/platform/android/src/geometry/projected_meters.hpp @@ -10,17 +10,12 @@ namespace android { class ProjectedMeters : private mbgl::util::noncopyable { public: - static constexpr auto Name() { return "com/mapbox/mapboxsdk/geometry/ProjectedMeters"; }; static jni::Object<ProjectedMeters> New(jni::JNIEnv&, double, double); - static jni::Class<ProjectedMeters> javaClass; - static void registerNative(jni::JNIEnv&); - }; - } // namespace android } // namespace mbgl
\ No newline at end of file |