diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2018-08-21 11:39:05 -0700 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2018-09-07 09:44:12 -0700 |
commit | 6806ba5b52129050c0944bd7c8b1fe285baeeddc (patch) | |
tree | 21cfa7ad17373d196eecb7eb0c07813f765331e7 /platform/android | |
parent | 1c103fa09a0beef3dd673f831dbfb86f0f456ef3 (diff) | |
download | qtlocation-mapboxgl-6806ba5b52129050c0944bd7c8b1fe285baeeddc.tar.gz |
[android] Put function inverses next to each other
Diffstat (limited to 'platform/android')
-rw-r--r-- | platform/android/src/conversion/collection.cpp | 15 | ||||
-rw-r--r-- | platform/android/src/conversion/collection.hpp | 1 | ||||
-rw-r--r-- | platform/android/src/jni/collection.hpp | 26 | ||||
-rw-r--r-- | platform/android/src/snapshotter/map_snapshot.cpp | 4 |
4 files changed, 18 insertions, 28 deletions
diff --git a/platform/android/src/conversion/collection.cpp b/platform/android/src/conversion/collection.cpp index 27b614e8cd..6775228e15 100644 --- a/platform/android/src/conversion/collection.cpp +++ b/platform/android/src/conversion/collection.cpp @@ -19,6 +19,21 @@ std::vector<std::string> toVector(JNIEnv& env, jni::Array<jni::String> array) { return vector; } +jni::Array<jni::String> toArray(JNIEnv& env, const std::vector<std::string>& vector) { + static auto clazz = *jni::Class<jni::StringTag>::Find(env).NewGlobalRef(env).release(); + auto result = jni::Array<jni::String>::New(env, vector.size(), clazz); + + std::size_t index = 0; + for (auto&& item : vector) { + auto element = jni::Make<jni::String>(env, item); + result.Set(env, index, element); + DeleteLocalRef(env, element); + index++; + } + + return result; +} + } } } diff --git a/platform/android/src/conversion/collection.hpp b/platform/android/src/conversion/collection.hpp index bb8941c984..c6b08370ee 100644 --- a/platform/android/src/conversion/collection.hpp +++ b/platform/android/src/conversion/collection.hpp @@ -11,6 +11,7 @@ namespace android { namespace conversion { std::vector<std::string> toVector(JNIEnv& env, jni::Array<jni::String> array); +jni::Array<jni::String> toArray(JNIEnv& env, const std::vector<std::string>&); } } diff --git a/platform/android/src/jni/collection.hpp b/platform/android/src/jni/collection.hpp deleted file mode 100644 index 5f94ec29ce..0000000000 --- a/platform/android/src/jni/collection.hpp +++ /dev/null @@ -1,26 +0,0 @@ -#pragma once - -#include <jni/jni.hpp> - -#include <string> -#include <vector> - -namespace jni { - -inline Array<String> MakeAnything(ThingToMake<Array<String>>, JNIEnv& env, const std::vector<std::string>& vector) -{ - static auto clazz = *Class<StringTag>::Find(env).NewGlobalRef(env).release(); - auto result = Array<String>::New(env, vector.size(), clazz); - - std::size_t index = 0; - for (auto&& item : vector) { - auto element = Make<jni::String>(env, item); - result.Set(env, index, element); - DeleteLocalRef(env, element); - index++; - } - - return result; -} - -} diff --git a/platform/android/src/snapshotter/map_snapshot.cpp b/platform/android/src/snapshotter/map_snapshot.cpp index 42c1c16ca1..379ac89d52 100644 --- a/platform/android/src/snapshotter/map_snapshot.cpp +++ b/platform/android/src/snapshotter/map_snapshot.cpp @@ -1,7 +1,7 @@ #include "map_snapshot.hpp" #include "../bitmap.hpp" -#include "../jni/collection.hpp" +#include "../conversion/collection.hpp" #include <memory> @@ -40,7 +40,7 @@ jni::Object<MapSnapshot> MapSnapshot::New(JNIEnv& env, // Create the Mapsnapshot peers static auto constructor = javaClass.GetConstructor<jni::jlong, jni::Object<Bitmap>, jni::Array<jni::String>, jni::jboolean>(env); auto nativePeer = std::make_unique<MapSnapshot>(pixelRatio, pointForFn, latLngForFn); - return javaClass.New(env, constructor, reinterpret_cast<jlong>(nativePeer.release()), bitmap, jni::Make<jni::Array<jni::String>>(env, attributions), (jni::jboolean) showLogo); + return javaClass.New(env, constructor, reinterpret_cast<jlong>(nativePeer.release()), bitmap, conversion::toArray(env, attributions), (jni::jboolean) showLogo); } jni::Class<MapSnapshot> MapSnapshot::javaClass; |