summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorIvo van Dongen <info@ivovandongen.nl>2016-08-12 12:09:38 -0400
committerIvo van Dongen <info@ivovandongen.nl>2016-08-12 18:47:05 -0400
commitddf0d25845177d3a3e865dd7e64cf98cf6b8a7d7 (patch)
treee916e38ac6fef98d6e23cca39c7098384fc7f44c /platform
parente147887e357f537a5c625fd3edda7b13d64142b3 (diff)
downloadqtlocation-mapboxgl-ddf0d25845177d3a3e865dd7e64cf98cf6b8a7d7.tar.gz
[android] #5978 - fix number property filters [ci skip]
Diffstat (limited to 'platform')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/Filter.java3
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/Function.java5
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/Layer.java5
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleActivity.java11
-rw-r--r--platform/android/src/style/android_conversion.hpp3
5 files changed, 21 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 04da4da0cb..a0d065a6e9 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
@@ -2,6 +2,7 @@ package com.mapbox.mapboxsdk.style.layers;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collections;
/**
* Utility to build filter expressions more easily:
@@ -36,7 +37,7 @@ public class Filter {
ArrayList<Object> array = new ArrayList<>(2 + values.length);
array.add(operator);
array.add(key);
- array.addAll(Arrays.asList(values));
+ Collections.addAll(array, values);
return array.toArray();
}
}
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/Function.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/Function.java
index c776f9ff23..77454cc704 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/Function.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/Function.java
@@ -27,6 +27,11 @@ public class Function<T> {
Object[] toValueObject() {
return new Object[]{in, out};
}
+
+ @Override
+ public String toString() {
+ return String.format("[%s, %s]", in, out);
+ }
}
@SafeVarargs
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/Layer.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/Layer.java
index 9bad3647a3..8c33fc976a 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/Layer.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/Layer.java
@@ -26,11 +26,12 @@ public abstract class Layer {
boolean updateClasses = false;
for (Property<?> property : properties) {
+ Object converted = convertValue(property.value);
if (property instanceof PaintProperty) {
updateClasses = true;
- nativeSetPaintProperty(property.name, convertValue(property.value));
+ nativeSetPaintProperty(property.name, converted);
} else {
- nativeSetLayoutProperty(property.name, convertValue(property.value));
+ nativeSetLayoutProperty(property.name, converted);
}
}
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleActivity.java
index a75c081202..71510d6868 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleActivity.java
@@ -307,8 +307,15 @@ public class RuntimeStyleActivity extends AppCompatActivity {
PropertyValue<String> fillColor = layer.getFillColor();
Function<String> function = fillColor.getFunction();
- Log.d(TAG, "Fill color base: " + function.getBase());
- Log.d(TAG, "Fill color #stops: " + function.getStops().length);
+ if (function != null) {
+ Log.d(TAG, "Fill color base: " + function.getBase());
+ Log.d(TAG, "Fill color #stops: " + function.getStops().length);
+ if (function.getStops() != null) {
+ for (Stop stop : function.getStops()) {
+ Log.d(TAG, "Fill color #stops: " + stop);
+ }
+ }
+ }
}
private String readRawResource(@RawRes int rawResource) throws IOException {
diff --git a/platform/android/src/style/android_conversion.hpp b/platform/android/src/style/android_conversion.hpp
index 0ccb704c0a..46ee768348 100644
--- a/platform/android/src/style/android_conversion.hpp
+++ b/platform/android/src/style/android_conversion.hpp
@@ -80,7 +80,8 @@ inline optional<Value> toValue(const mbgl::android::Value& value) {
} else if (value.isString()) {
return { value.toString() };
} else if (value.isNumber()) {
- return { value.toNumber() };
+ //Need to cast to a double here as the float is otherwise considered a bool...
+ return { (double) value.toNumber() };
} else {
return {};
}