From f3b704c4a670387445ad624df7617acb0d6e2299 Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Tue, 21 Aug 2018 11:39:05 -0700 Subject: [android] Put function inverses next to each other --- platform/android/src/conversion/collection.cpp | 15 +++++++++++++ platform/android/src/conversion/collection.hpp | 1 + platform/android/src/jni/collection.hpp | 26 ----------------------- platform/android/src/snapshotter/map_snapshot.cpp | 4 ++-- 4 files changed, 18 insertions(+), 28 deletions(-) delete mode 100644 platform/android/src/jni/collection.hpp 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 toVector(JNIEnv& env, jni::Array array) { return vector; } +jni::Array toArray(JNIEnv& env, const std::vector& vector) { + static auto clazz = *jni::Class::Find(env).NewGlobalRef(env).release(); + auto result = jni::Array::New(env, vector.size(), clazz); + + std::size_t index = 0; + for (auto&& item : vector) { + auto element = jni::Make(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 toVector(JNIEnv& env, jni::Array array); +jni::Array toArray(JNIEnv& env, const std::vector&); } } 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 - -#include -#include - -namespace jni { - -inline Array MakeAnything(ThingToMake>, JNIEnv& env, const std::vector& vector) -{ - static auto clazz = *Class::Find(env).NewGlobalRef(env).release(); - auto result = Array::New(env, vector.size(), clazz); - - std::size_t index = 0; - for (auto&& item : vector) { - auto element = Make(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 @@ -40,7 +40,7 @@ jni::Object MapSnapshot::New(JNIEnv& env, // Create the Mapsnapshot peers static auto constructor = javaClass.GetConstructor, jni::Array, jni::jboolean>(env); auto nativePeer = std::make_unique(pixelRatio, pointForFn, latLngForFn); - return javaClass.New(env, constructor, reinterpret_cast(nativePeer.release()), bitmap, jni::Make>(env, attributions), (jni::jboolean) showLogo); + return javaClass.New(env, constructor, reinterpret_cast(nativePeer.release()), bitmap, conversion::toArray(env, attributions), (jni::jboolean) showLogo); } jni::Class MapSnapshot::javaClass; -- cgit v1.2.1