[android] getting a constant layer filter fix

This commit is contained in:
Łukasz Paczos
2018-11-19 16:45:05 +01:00
committed by Łukasz Paczos
parent d0520d02f1
commit e08e143c12
19 changed files with 82 additions and 37 deletions

View File

@@ -4485,7 +4485,7 @@ public class Expression {
* @param jsonElement the json element to convert
* @return the expression
*/
private static Expression convert(@NonNull JsonElement jsonElement) {
public static Expression convert(@NonNull JsonElement jsonElement) {
if (jsonElement instanceof JsonArray) {
return convert((JsonArray) jsonElement);
} else if (jsonElement instanceof JsonPrimitive) {

View File

@@ -11,6 +11,7 @@ import android.support.annotation.UiThread;
import static com.mapbox.mapboxsdk.utils.ColorUtils.rgbaToColor;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.mapbox.mapboxsdk.style.expressions.Expression;
import com.mapbox.mapboxsdk.style.layers.TransitionOptions;

View File

@@ -11,6 +11,7 @@ import android.support.annotation.UiThread;
import static com.mapbox.mapboxsdk.utils.ColorUtils.rgbaToColor;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.mapbox.mapboxsdk.style.expressions.Expression;
import com.mapbox.mapboxsdk.style.layers.TransitionOptions;
@@ -120,12 +121,12 @@ public class CircleLayer extends Layer {
@Nullable
public Expression getFilter() {
checkThread();
Expression expression = null;
JsonArray array = (JsonArray) nativeGetFilter();
if (array != null) {
expression = Expression.Converter.convert(array);
JsonElement jsonElement = nativeGetFilter();
if (jsonElement != null) {
return Expression.Converter.convert(jsonElement);
} else {
return null;
}
return expression;
}
/**

View File

@@ -11,6 +11,7 @@ import android.support.annotation.UiThread;
import static com.mapbox.mapboxsdk.utils.ColorUtils.rgbaToColor;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.mapbox.mapboxsdk.style.expressions.Expression;
import com.mapbox.mapboxsdk.style.layers.TransitionOptions;
@@ -120,12 +121,12 @@ public class FillExtrusionLayer extends Layer {
@Nullable
public Expression getFilter() {
checkThread();
Expression expression = null;
JsonArray array = (JsonArray) nativeGetFilter();
if (array != null) {
expression = Expression.Converter.convert(array);
JsonElement jsonElement = nativeGetFilter();
if (jsonElement != null) {
return Expression.Converter.convert(jsonElement);
} else {
return null;
}
return expression;
}
/**

View File

@@ -11,6 +11,7 @@ import android.support.annotation.UiThread;
import static com.mapbox.mapboxsdk.utils.ColorUtils.rgbaToColor;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.mapbox.mapboxsdk.style.expressions.Expression;
import com.mapbox.mapboxsdk.style.layers.TransitionOptions;
@@ -120,12 +121,12 @@ public class FillLayer extends Layer {
@Nullable
public Expression getFilter() {
checkThread();
Expression expression = null;
JsonArray array = (JsonArray) nativeGetFilter();
if (array != null) {
expression = Expression.Converter.convert(array);
JsonElement jsonElement = nativeGetFilter();
if (jsonElement != null) {
return Expression.Converter.convert(jsonElement);
} else {
return null;
}
return expression;
}
/**

View File

@@ -11,6 +11,7 @@ import android.support.annotation.UiThread;
import static com.mapbox.mapboxsdk.utils.ColorUtils.rgbaToColor;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.mapbox.mapboxsdk.style.expressions.Expression;
import com.mapbox.mapboxsdk.style.layers.TransitionOptions;
@@ -120,12 +121,12 @@ public class HeatmapLayer extends Layer {
@Nullable
public Expression getFilter() {
checkThread();
Expression expression = null;
JsonArray array = (JsonArray) nativeGetFilter();
if (array != null) {
expression = Expression.Converter.convert(array);
JsonElement jsonElement = nativeGetFilter();
if (jsonElement != null) {
return Expression.Converter.convert(jsonElement);
} else {
return null;
}
return expression;
}
/**

View File

@@ -11,6 +11,7 @@ import android.support.annotation.UiThread;
import static com.mapbox.mapboxsdk.utils.ColorUtils.rgbaToColor;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.mapbox.mapboxsdk.style.expressions.Expression;
import com.mapbox.mapboxsdk.style.layers.TransitionOptions;

View File

@@ -104,7 +104,7 @@ public abstract class Layer {
@Keep
protected native void nativeSetFilter(Object[] filter);
@NonNull
@Nullable
@Keep
protected native JsonElement nativeGetFilter();

View File

@@ -11,6 +11,7 @@ import android.support.annotation.UiThread;
import static com.mapbox.mapboxsdk.utils.ColorUtils.rgbaToColor;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.mapbox.mapboxsdk.style.expressions.Expression;
import com.mapbox.mapboxsdk.style.layers.TransitionOptions;
@@ -120,12 +121,12 @@ public class LineLayer extends Layer {
@Nullable
public Expression getFilter() {
checkThread();
Expression expression = null;
JsonArray array = (JsonArray) nativeGetFilter();
if (array != null) {
expression = Expression.Converter.convert(array);
JsonElement jsonElement = nativeGetFilter();
if (jsonElement != null) {
return Expression.Converter.convert(jsonElement);
} else {
return null;
}
return expression;
}
/**

View File

@@ -11,6 +11,7 @@ import android.support.annotation.UiThread;
import static com.mapbox.mapboxsdk.utils.ColorUtils.rgbaToColor;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.mapbox.mapboxsdk.style.expressions.Expression;
import com.mapbox.mapboxsdk.style.layers.TransitionOptions;

View File

@@ -11,6 +11,7 @@ import android.support.annotation.UiThread;
import static com.mapbox.mapboxsdk.utils.ColorUtils.rgbaToColor;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.mapbox.mapboxsdk.style.expressions.Expression;
import com.mapbox.mapboxsdk.style.layers.TransitionOptions;
import com.mapbox.mapboxsdk.style.types.Formatted;
@@ -122,12 +123,12 @@ public class SymbolLayer extends Layer {
@Nullable
public Expression getFilter() {
checkThread();
Expression expression = null;
JsonArray array = (JsonArray) nativeGetFilter();
if (array != null) {
expression = Expression.Converter.convert(array);
JsonElement jsonElement = nativeGetFilter();
if (jsonElement != null) {
return Expression.Converter.convert(jsonElement);
} else {
return null;
}
return expression;
}
/**

View File

@@ -16,6 +16,7 @@ import android.support.annotation.UiThread;
import static com.mapbox.mapboxsdk.utils.ColorUtils.rgbaToColor;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.mapbox.mapboxsdk.style.expressions.Expression;
import com.mapbox.mapboxsdk.style.layers.TransitionOptions;
<% if (type === 'symbol') { -%>
@@ -148,12 +149,12 @@ public class <%- camelize(type) %>Layer extends Layer {
@Nullable
public Expression getFilter() {
checkThread();
Expression expression = null;
JsonArray array = (JsonArray) nativeGetFilter();
if (array != null) {
expression = Expression.Converter.convert(array);
JsonElement jsonElement = nativeGetFilter();
if (jsonElement != null) {
return Expression.Converter.convert(jsonElement);
} else {
return null;
}
return expression;
}
<% } -%>