diff options
author | Tobrun <tobrun@mapbox.com> | 2018-03-22 12:40:43 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-22 12:40:43 -0400 |
commit | 1eb90c14485b8064fbbbbb255d83e8ca1f67210e (patch) | |
tree | 959c33797282bd3036d32139e65ece89ab01b868 /platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/expressions/Expression.java | |
parent | 4dc191b8da139b19c5aa5a705169647786516a20 (diff) | |
download | qtlocation-mapboxgl-1eb90c14485b8064fbbbbb255d83e8ca1f67210e.tar.gz |
Literal array conversion of primitive arrays (#11500)
* [android] - literal array conversion of primitives types
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/expressions/Expression.java')
-rw-r--r-- | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/expressions/Expression.java | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/expressions/Expression.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/expressions/Expression.java index 8af140019f..e567408090 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/expressions/Expression.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/expressions/Expression.java @@ -112,6 +112,9 @@ public class Expression { * @return the expression */ public static Expression literal(@NonNull Object object) { + if (object.getClass().isArray()) { + return literal(ExpressionArray.toObjectArray(object)); + } return new ExpressionLiteral(object); } @@ -2033,6 +2036,11 @@ public class Expression { }; } + /** + * Convert the expression array to a string representation. + * + * @return the string representation of the expression array + */ @Override public String toString() { StringBuilder builder = new StringBuilder("[\"literal\"], ["); @@ -2053,4 +2061,20 @@ public class Expression { return builder.toString(); } } + + /** + * Converts an object that is a primitive array to an Object[] + * + * @param object the object to convert to an object array + * @return the converted object array + */ + static Object[] toObjectArray(Object object) { + // object is a primitive array + int len = java.lang.reflect.Array.getLength(object); + Object[] objects = new Object[len]; + for (int i = 0; i < len; i++) { + objects[i] = java.lang.reflect.Array.get(object, i); + } + return objects; + } }
\ No newline at end of file |