diff options
3 files changed, 12 insertions, 6 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/Filter.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/Filter.java index 4d9791b125..6f881e4960 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/Filter.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/Filter.java @@ -31,7 +31,7 @@ public class Filter { /** * Represents a {@link Filter} statement. Can be unary (eg `has()`, etc) or take any number of values. */ - public static class SimpleStatement extends Statement { + private static class SimpleStatement extends Statement { private final String key; private final Object[] values; @@ -40,7 +40,7 @@ public class Filter { * @param key the property key * @param values the values to operate on, if any */ - public SimpleStatement(String operator, String key, Object... values) { + SimpleStatement(String operator, String key, Object... values) { super(operator); this.key = key; this.values = values; @@ -63,14 +63,14 @@ public class Filter { /** * Represents a collection of {@link Statement}s with an operator that describes their relationship */ - public static class CompoundStatement extends Statement { + private static class CompoundStatement extends Statement { private final Statement[] statements; /** * @param operator the relationship operator * @param statements the statements to compound */ - public CompoundStatement(String operator, Statement... statements) { + CompoundStatement(String operator, Statement... statements) { super(operator); this.statements = statements; } diff --git a/platform/android/src/style/android_conversion.hpp b/platform/android/src/style/android_conversion.hpp index 46ee768348..cea7ce6d2a 100644 --- a/platform/android/src/style/android_conversion.hpp +++ b/platform/android/src/style/android_conversion.hpp @@ -75,7 +75,9 @@ inline optional<std::string> toString(const mbgl::android::Value& value) { } inline optional<Value> toValue(const mbgl::android::Value& value) { - if (value.isBool()) { + if (value.isNull()) { + return {}; + } else if (value.isBool()) { return { value.toBool() }; } else if (value.isString()) { return { value.toString() }; diff --git a/platform/android/src/style/value.cpp b/platform/android/src/style/value.cpp index daad3e998d..c03dd39132 100644 --- a/platform/android/src/style/value.cpp +++ b/platform/android/src/style/value.cpp @@ -9,7 +9,11 @@ namespace android { Value::Value(jni::JNIEnv& env, jni::jobject* _value) : jenv(env), value(_value) {} - Value::~Value() {} + Value::~Value() { + if (value) { + jni::DeleteLocalRef(jenv, value); + } + } bool Value::isNull() const { return value == nullptr; |