#include "feature_collection.hpp" #include "feature.hpp" namespace mbgl { namespace android { namespace geojson { mbgl::FeatureCollection FeatureCollection::convert(jni::JNIEnv& env, const jni::Object& jCollection) { auto collection = mbgl::FeatureCollection(); if (jCollection) { auto jFeatureList = FeatureCollection::features(env, jCollection); auto jFeatures = java::util::List::toArray(env, jFeatureList); auto size = size_t(jFeatures.Length(env)); collection.reserve(size); for (size_t i = 0; i < size; i++) { collection.push_back(Feature::convert(env, jFeatures.Get(env, i))); } } return collection; } jni::Local> FeatureCollection::features(jni::JNIEnv& env, const jni::Object& jCollection) { static auto& javaClass = jni::Class::Singleton(env); static auto method = javaClass.GetMethod ()>(env, "features"); return jCollection.Call(env, method); } void FeatureCollection::registerNative(jni::JNIEnv& env) { jni::Class::Singleton(env); } } // namespace geojson } // namespace android } // namespace mbgl