[android] jni clean up - missing a couple DeleteLocalRef
This commit is contained in:
@@ -28,6 +28,7 @@ inline jni::jobject* toArrayList(JNIEnv& env, jni::jarray<T>& array) {
|
||||
inline std::vector<std::string> toVector(JNIEnv& env, jni::jarray<jni::jobject>& array) {
|
||||
std::vector<std::string> vector;
|
||||
std::size_t len = jni::GetArrayLength(env, array);
|
||||
vector.reserve(len);
|
||||
|
||||
for (std::size_t i = 0; i < len; i++) {
|
||||
jni::jstring* jstr = reinterpret_cast<jni::jstring*>(jni::GetObjectArrayElement(env, array, i));
|
||||
|
||||
@@ -124,8 +124,11 @@ jni::Class<FileSource::ResourceTransformCallback> FileSource::ResourceTransformC
|
||||
std::string FileSource::ResourceTransformCallback::onURL(jni::JNIEnv& env, jni::Object<FileSource::ResourceTransformCallback> callback, int kind, std::string url_) {
|
||||
static auto method = FileSource::ResourceTransformCallback::javaClass.GetMethod<jni::String (jni::jint, jni::String)>(env, "onURL");
|
||||
auto url = jni::Make<jni::String>(env, url_);
|
||||
|
||||
url = callback.Call(env, method, kind, url);
|
||||
return jni::Make<std::string>(env, url);
|
||||
auto urlStr = jni::Make<std::string>(env, url);
|
||||
jni::DeleteLocalRef(env, url);
|
||||
return urlStr;
|
||||
}
|
||||
|
||||
} // namespace android
|
||||
|
||||
@@ -33,7 +33,9 @@ mbgl::CameraOptions CameraPosition::getCameraOptions(jni::JNIEnv& env, jni::Obje
|
||||
static auto tilt = CameraPosition::javaClass.GetField<jni::jdouble>(env, "tilt");
|
||||
static auto zoom = CameraPosition::javaClass.GetField<jni::jdouble>(env, "zoom");
|
||||
|
||||
auto center = LatLng::getLatLng(env, position.Get(env, target));
|
||||
auto jtarget = position.Get(env, target);
|
||||
auto center = LatLng::getLatLng(env, jtarget);
|
||||
jni::DeleteLocalRef(env, jtarget);
|
||||
|
||||
return mbgl::CameraOptions {
|
||||
center,
|
||||
|
||||
@@ -16,7 +16,9 @@ mbgl::style::Image Image::getImage(jni::JNIEnv& env, jni::Object<Image> image) {
|
||||
auto width = image.Get(env, widthField);
|
||||
auto pixelRatio = image.Get(env, pixelRatioField);
|
||||
auto pixels = image.Get(env, bufferField);
|
||||
auto name = jni::Make<std::string>(env, image.Get(env, nameField));
|
||||
auto jName = image.Get(env, nameField);
|
||||
auto name = jni::Make<std::string>(env, jName);
|
||||
jni::DeleteLocalRef(env, jName);
|
||||
|
||||
jni::NullCheck(env, &pixels);
|
||||
std::size_t size = pixels.Length(env);
|
||||
|
||||
Reference in New Issue
Block a user