From 79bf0e8af6bf9ec829a352d56b8e70ccc8f4fa41 Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Wed, 22 Aug 2018 12:27:43 -0700 Subject: [android] jni.hpp 4.0.0 --- platform/android/src/gson/json_object.cpp | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) (limited to 'platform/android/src/gson/json_object.cpp') diff --git a/platform/android/src/gson/json_object.cpp b/platform/android/src/gson/json_object.cpp index 5dcb07642f..10d244ee48 100644 --- a/platform/android/src/gson/json_object.cpp +++ b/platform/android/src/gson/json_object.cpp @@ -9,48 +9,46 @@ namespace android { namespace gson { -jni::Object JsonObject::New(jni::JNIEnv& env, const mbgl::PropertyMap& values) { - static auto javaClass = jni::Class::Singleton(env); +jni::Local> JsonObject::New(jni::JNIEnv& env, const mbgl::PropertyMap& values) { + static auto& javaClass = jni::Class::Singleton(env); static auto constructor = javaClass.GetConstructor(env); static auto addMethod = javaClass.GetMethod)>(env, "add"); - jni::Object jsonObject = javaClass.New(env, constructor); + auto jsonObject = javaClass.New(env, constructor); for (auto &item : values) { jsonObject.Call(env, addMethod, - *jni::SeizeLocal(env, jni::Make(env, item.first)), - *jni::SeizeLocal(env, JsonElement::New(env, item.second))); + jni::Make(env, item.first), + JsonElement::New(env, item.second)); } return jsonObject; } template // void (jni::String, jni::Object) -static void iterateEntrySet(jni::JNIEnv& env, jni::Object jsonObject, F callback) { +static void iterateEntrySet(jni::JNIEnv& env, const jni::Object& jsonObject, F callback) { // Get Set> - static auto javaClass = jni::Class::Singleton(env); + static auto& javaClass = jni::Class::Singleton(env); static auto method = javaClass.GetMethod ()>(env, "entrySet"); - auto entryArray = - jni::SeizeLocal(env, java::util::Set::toArray(env, - *jni::SeizeLocal(env, jsonObject.Call(env, method)))); + auto entryArray = java::util::Set::toArray(env, jsonObject.Call(env, method)); - size_t size = entryArray->Length(env); + size_t size = entryArray.Length(env); for (size_t i = 0; i < size; i++) { - auto entry = jni::SeizeLocal(env, entryArray->Get(env, i)); + auto entry = entryArray.Get(env, i); if (entry) { callback( - *jni::SeizeLocal(env, java::util::Map::Entry::getKey(env, *entry)), - *jni::SeizeLocal(env, java::util::Map::Entry::getValue(env, *entry))); + java::util::Map::Entry::getKey(env, entry), + java::util::Map::Entry::getValue(env, entry)); } } } -mbgl::PropertyMap JsonObject::convert(jni::JNIEnv &env, jni::Object jsonObject) { +mbgl::PropertyMap JsonObject::convert(jni::JNIEnv& env, const jni::Object& jsonObject) { mbgl::PropertyMap map; if (jsonObject) { - iterateEntrySet(env, jsonObject, [&map, &env](jni::String jId, jni::Object jsonElement) { + iterateEntrySet(env, jsonObject, [&map, &env](const jni::String& jId, const jni::Object& jsonElement) { map[jni::Make(env, jId)] = JsonElement::convert(env, jsonElement); }); } -- cgit v1.2.1