[android] high-level jni bindings for geojson conversion
This commit is contained in:
committed by
Ivo van Dongen
parent
f2fbe69b32
commit
2464520da1
@@ -5,12 +5,14 @@ namespace android {
|
||||
namespace java {
|
||||
namespace util {
|
||||
|
||||
jni::Class<Arrays> Arrays::javaClass;
|
||||
jni::Class<List> List::javaClass;
|
||||
jni::Class<Set> Set::javaClass;
|
||||
jni::Class<Map> Map::javaClass;
|
||||
jni::Class<Map::Entry> Map::Entry::javaClass;
|
||||
|
||||
void registerNative(jni::JNIEnv& env) {
|
||||
Arrays::javaClass = *jni::Class<Arrays>::Find(env).NewGlobalRef(env).release();
|
||||
List::javaClass = *jni::Class<List>::Find(env).NewGlobalRef(env).release();
|
||||
Set::javaClass = *jni::Class<Set>::Find(env).NewGlobalRef(env).release();
|
||||
Map::javaClass = *jni::Class<Map>::Find(env).NewGlobalRef(env).release();
|
||||
|
||||
@@ -24,6 +24,21 @@ public:
|
||||
|
||||
};
|
||||
|
||||
class Arrays : private mbgl::util::noncopyable {
|
||||
public:
|
||||
|
||||
static constexpr auto Name() { return "java/util/Arrays"; };
|
||||
|
||||
template <class T>
|
||||
static jni::Object<List> asList(jni::JNIEnv& env, jni::Array<jni::Object<T>> array) {
|
||||
static auto asList = Arrays::javaClass.GetStaticMethod<jni::Object<List>(jni::Array<jni::Object<>>)>(env, "asList");
|
||||
return javaClass.Call(env, asList, (jni::Array<jni::Object<>>) array);
|
||||
}
|
||||
|
||||
static jni::Class<Arrays> javaClass;
|
||||
|
||||
};
|
||||
|
||||
class Set : private mbgl::util::noncopyable {
|
||||
public:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user