summaryrefslogtreecommitdiff
path: root/platform/android/src/graphics
diff options
context:
space:
mode:
authorWilhelm Berg <wb@BergWerk-GIS.at>2018-09-12 15:07:57 +0200
committerWilhelm Berg <wb@BergWerk-GIS.at>2018-09-12 15:07:57 +0200
commit98b34cb0dbf5c50d7f319724c93021418140b15f (patch)
tree11cd51f86b5c672dda6bfe087f40f77df1553971 /platform/android/src/graphics
parentee17d79f9420eb859303d977955454dacc470db6 (diff)
parent079ba0209ed383c15123902f0810e658c2b0abf4 (diff)
downloadqtlocation-mapboxgl-upstream/bwg-vs2017.tar.gz
Merge remote-tracking branch 'origin' into bwg-vs2017upstream/bwg-vs2017
# Conflicts: # cmake/mason-dependencies.cmake
Diffstat (limited to 'platform/android/src/graphics')
-rw-r--r--platform/android/src/graphics/pointf.cpp20
-rw-r--r--platform/android/src/graphics/pointf.hpp7
-rw-r--r--platform/android/src/graphics/rectf.cpp26
-rw-r--r--platform/android/src/graphics/rectf.hpp11
4 files changed, 28 insertions, 36 deletions
diff --git a/platform/android/src/graphics/pointf.cpp b/platform/android/src/graphics/pointf.cpp
index 3f854da2ea..2fc762d6e9 100644
--- a/platform/android/src/graphics/pointf.cpp
+++ b/platform/android/src/graphics/pointf.cpp
@@ -4,24 +4,22 @@
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);
+jni::Local<jni::Object<PointF>> PointF::New(jni::JNIEnv& env, float x, float 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");
+mbgl::ScreenCoordinate PointF::getScreenCoordinate(jni::JNIEnv& env, const jni::Object<PointF>& point) {
+ 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
diff --git a/platform/android/src/graphics/pointf.hpp b/platform/android/src/graphics/pointf.hpp
index e3ef24dd65..899468b8e3 100644
--- a/platform/android/src/graphics/pointf.hpp
+++ b/platform/android/src/graphics/pointf.hpp
@@ -12,14 +12,11 @@ public:
static constexpr auto Name() { return "android/graphics/PointF"; };
- static jni::Object<PointF> New(jni::JNIEnv&, float, float);
+ static jni::Local<jni::Object<PointF>> New(jni::JNIEnv&, float, float);
- static mbgl::ScreenCoordinate getScreenCoordinate(jni::JNIEnv&, jni::Object<PointF>);
-
- static jni::Class<PointF> javaClass;
+ static mbgl::ScreenCoordinate getScreenCoordinate(jni::JNIEnv&, const jni::Object<PointF>&);
static void registerNative(jni::JNIEnv&);
-
};
diff --git a/platform/android/src/graphics/rectf.cpp b/platform/android/src/graphics/rectf.cpp
index 1b375dad18..8f418da037 100644
--- a/platform/android/src/graphics/rectf.cpp
+++ b/platform/android/src/graphics/rectf.cpp
@@ -3,33 +3,33 @@
namespace mbgl {
namespace android {
-float RectF::getLeft(jni::JNIEnv& env, jni::Object<RectF> rectf) {
- static auto field = RectF::javaClass.GetField<float>(env, "left");
+float RectF::getLeft(jni::JNIEnv& env, const jni::Object<RectF>& rectf) {
+ static auto& javaClass = jni::Class<RectF>::Singleton(env);
+ static auto field = javaClass.GetField<float>(env, "left");
return rectf.Get(env, field);
}
-float RectF::getTop(jni::JNIEnv& env, jni::Object<RectF> rectf) {
- static auto field = RectF::javaClass.GetField<float>(env, "top");
+float RectF::getTop(jni::JNIEnv& env, const jni::Object<RectF>& rectf) {
+ static auto& javaClass = jni::Class<RectF>::Singleton(env);
+ static auto field = javaClass.GetField<float>(env, "top");
return rectf.Get(env, field);
}
-float RectF::getRight(jni::JNIEnv& env, jni::Object<RectF> rectf) {
- static auto field = RectF::javaClass.GetField<float>(env, "right");
+float RectF::getRight(jni::JNIEnv& env, const jni::Object<RectF>& rectf) {
+ static auto& javaClass = jni::Class<RectF>::Singleton(env);
+ static auto field = javaClass.GetField<float>(env, "right");
return rectf.Get(env, field);
}
-float RectF::getBottom(jni::JNIEnv& env, jni::Object<RectF> rectf) {
- static auto field = RectF::javaClass.GetField<float>(env, "bottom");
+float RectF::getBottom(jni::JNIEnv& env, const jni::Object<RectF>& rectf) {
+ static auto& javaClass = jni::Class<RectF>::Singleton(env);
+ static auto field = javaClass.GetField<float>(env, "bottom");
return rectf.Get(env, field);
}
void RectF::registerNative(jni::JNIEnv& env) {
- // Lookup the class
- RectF::javaClass = *jni::Class<RectF>::Find(env).NewGlobalRef(env).release();
+ jni::Class<RectF>::Singleton(env);
}
-jni::Class<RectF> RectF::javaClass;
-
-
} // namespace android
} // namespace mbgl \ No newline at end of file
diff --git a/platform/android/src/graphics/rectf.hpp b/platform/android/src/graphics/rectf.hpp
index 0f3a7756d5..ba611f2262 100644
--- a/platform/android/src/graphics/rectf.hpp
+++ b/platform/android/src/graphics/rectf.hpp
@@ -12,18 +12,15 @@ public:
static constexpr auto Name() { return "android/graphics/RectF"; };
- static float getLeft(jni::JNIEnv&, jni::Object<RectF>);
+ static float getLeft(jni::JNIEnv&, const jni::Object<RectF>&);
- static float getTop(jni::JNIEnv&, jni::Object<RectF>);
+ static float getTop(jni::JNIEnv&, const jni::Object<RectF>&);
- static float getRight(jni::JNIEnv&, jni::Object<RectF>);
+ static float getRight(jni::JNIEnv&, const jni::Object<RectF>&);
- static float getBottom(jni::JNIEnv&, jni::Object<RectF>);
-
- static jni::Class<RectF> javaClass;
+ static float getBottom(jni::JNIEnv&, const jni::Object<RectF>&);
static void registerNative(jni::JNIEnv&);
-
};