summaryrefslogtreecommitdiff
path: root/platform/android/src/geometry
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2018-08-17 13:43:07 -0700
committerJohn Firebaugh <john.firebaugh@gmail.com>2018-09-07 09:44:12 -0700
commit53c3c327f0ebea276d977f58a59cdb9449165518 (patch)
tree1315a80a1c24f24dd1cbd4e00cf85083be16ce45 /platform/android/src/geometry
parent6806ba5b52129050c0944bd7c8b1fe285baeeddc (diff)
downloadqtlocation-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.cpp16
-rw-r--r--platform/android/src/geometry/lat_lng.hpp2
-rw-r--r--platform/android/src/geometry/lat_lng_bounds.cpp20
-rw-r--r--platform/android/src/geometry/lat_lng_bounds.hpp3
-rw-r--r--platform/android/src/geometry/lat_lng_quad.cpp20
-rw-r--r--platform/android/src/geometry/lat_lng_quad.hpp3
-rw-r--r--platform/android/src/geometry/projected_meters.cpp11
-rw-r--r--platform/android/src/geometry/projected_meters.hpp5
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