summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorŁukasz Paczos <lukas.paczos@gmail.com>2019-03-26 12:49:33 +0100
committerŁukasz Paczos <lukasz.paczos@mapbox.com>2019-05-22 16:32:04 +0200
commitb21f9f3e35a60fc31fe20b23e7eb71155ab8027a (patch)
treeee1dbb8bc37d0dfe2880474f6eebd7816917c9e8
parent4224b89a9cf624f08bf96d36702c8b8d8de6554f (diff)
downloadqtlocation-mapboxgl-b21f9f3e35a60fc31fe20b23e7eb71155ab8027a.tar.gz
[android] return color string values in the [0-255] range
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/types/FormattedSection.java3
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/utils/ColorUtils.java19
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/BackgroundLayerTest.java6
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/CircleLayerTest.java12
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/ExpressionTest.java16
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillExtrusionLayerTest.java6
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillLayerTest.java12
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/HillshadeLayerTest.java18
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/LightTest.java4
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/LineLayerTest.java6
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/SymbolLayerTest.java24
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/layer.junit.ejs4
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/light.junit.ejs2
-rwxr-xr-xplatform/android/scripts/generate-style-code.js2
-rw-r--r--platform/android/src/conversion/constant.cpp13
15 files changed, 68 insertions, 79 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/types/FormattedSection.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/types/FormattedSection.java
index 859fcff378..f553b0433a 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/types/FormattedSection.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/types/FormattedSection.java
@@ -184,8 +184,7 @@ public class FormattedSection {
void setTextColor(@NonNull Object textColor) {
// called from JNI
- // because core is returning R, G and B components in range of 0 to 1, we need to convert them to be in 0 to 255.
- setTextColor(ColorUtils.colorToRgbaString(ColorUtils.rgbaToColor((String) textColor)));
+ setTextColor((String) textColor);
}
@Override
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/utils/ColorUtils.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/utils/ColorUtils.java
index 0c5786fda4..ab3d68547e 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/utils/ColorUtils.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/utils/ColorUtils.java
@@ -10,6 +10,7 @@ import android.support.annotation.NonNull;
import android.support.v4.widget.ImageViewCompat;
import android.util.TypedValue;
import android.widget.ImageView;
+
import com.mapbox.mapboxsdk.R;
import com.mapbox.mapboxsdk.exceptions.ConversionException;
@@ -111,12 +112,11 @@ public class ColorUtils {
ImageViewCompat.setImageTintList(imageView, getSelector(tintColor));
}
- private static int normalizeColorComponent(String value) {
- return (int) (Float.parseFloat(value) * 255);
- }
-
/**
* Convert an rgba string to a Color int.
+ * <p>
+ * R, G, B color components have to be in the [0-255] range, while alpha has to be in the [0.0-1.0] range.
+ * For example: "rgba(255, 128, 0, 0.7)".
*
* @param value the String representation of rgba
* @return the int representation of rgba
@@ -124,15 +124,14 @@ public class ColorUtils {
*/
@ColorInt
public static int rgbaToColor(@NonNull String value) {
- Pattern c = Pattern.compile("rgba?\\s*\\(\\s*(\\d+\\.?\\d*)\\s*,\\s*(\\d+\\.?\\d*)\\s*,\\s*(\\d+\\.?\\d*)\\s*,"
- + "?\\s*(\\d+\\.?\\d*)?\\s*\\)");
+ Pattern c = Pattern.compile("rgba?\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,?\\s*(\\d+\\.?\\d*)?\\s*\\)");
Matcher m = c.matcher(value);
if (m.matches() && m.groupCount() == 3) {
- return Color.rgb(normalizeColorComponent(m.group(1)), normalizeColorComponent(m.group(2)),
- normalizeColorComponent(m.group(3)));
+ return Color.rgb(Integer.parseInt(m.group(1)), Integer.parseInt(m.group(2)),
+ Integer.parseInt(m.group(3)));
} else if (m.matches() && m.groupCount() == 4) {
- return Color.argb(normalizeColorComponent(m.group(4)), normalizeColorComponent(m.group(1)),
- normalizeColorComponent(m.group(2)), normalizeColorComponent(m.group(3)));
+ return Color.argb((int) (Float.parseFloat(m.group(4)) * 255), Integer.parseInt(m.group(1)),
+ Integer.parseInt(m.group(2)), Integer.parseInt(m.group(3)));
} else {
throw new ConversionException("Not a valid rgb/rgba value");
}
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/BackgroundLayerTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/BackgroundLayerTest.java
index 3cce0ee867..d3edfb852d 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/BackgroundLayerTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/BackgroundLayerTest.java
@@ -73,7 +73,7 @@ public class BackgroundLayerTest extends BaseLayerTest {
assertNull(layer.getBackgroundColor().getValue());
// Set and Get
- String propertyValue = "rgba(0, 0, 0, 1)";
+ String propertyValue = "rgba(255,128,0,0.7)";
layer.setProperties(backgroundColor(propertyValue));
assertEquals(layer.getBackgroundColor().getValue(), propertyValue);
}
@@ -85,8 +85,8 @@ public class BackgroundLayerTest extends BaseLayerTest {
assertNotNull(layer);
// Set and Get
- layer.setProperties(backgroundColor(Color.RED));
- assertEquals(layer.getBackgroundColorAsInt(), Color.RED);
+ layer.setProperties(backgroundColor(Color.argb(127, 255, 127, 0)));
+ assertEquals(layer.getBackgroundColorAsInt(), Color.argb(127, 255, 127, 0));
}
@Test
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/CircleLayerTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/CircleLayerTest.java
index bf8b8ef2b2..146cfc2209 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/CircleLayerTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/CircleLayerTest.java
@@ -157,7 +157,7 @@ public class CircleLayerTest extends BaseLayerTest {
assertNull(layer.getCircleColor().getValue());
// Set and Get
- String propertyValue = "rgba(0, 0, 0, 1)";
+ String propertyValue = "rgba(255,128,0,0.7)";
layer.setProperties(circleColor(propertyValue));
assertEquals(layer.getCircleColor().getValue(), propertyValue);
}
@@ -182,8 +182,8 @@ public class CircleLayerTest extends BaseLayerTest {
assertNotNull(layer);
// Set and Get
- layer.setProperties(circleColor(Color.RED));
- assertEquals(layer.getCircleColorAsInt(), Color.RED);
+ layer.setProperties(circleColor(Color.argb(127, 255, 127, 0)));
+ assertEquals(layer.getCircleColorAsInt(), Color.argb(127, 255, 127, 0));
}
@Test
@@ -384,7 +384,7 @@ public class CircleLayerTest extends BaseLayerTest {
assertNull(layer.getCircleStrokeColor().getValue());
// Set and Get
- String propertyValue = "rgba(0, 0, 0, 1)";
+ String propertyValue = "rgba(255,128,0,0.7)";
layer.setProperties(circleStrokeColor(propertyValue));
assertEquals(layer.getCircleStrokeColor().getValue(), propertyValue);
}
@@ -409,8 +409,8 @@ public class CircleLayerTest extends BaseLayerTest {
assertNotNull(layer);
// Set and Get
- layer.setProperties(circleStrokeColor(Color.RED));
- assertEquals(layer.getCircleStrokeColorAsInt(), Color.RED);
+ layer.setProperties(circleStrokeColor(Color.argb(127, 255, 127, 0)));
+ assertEquals(layer.getCircleStrokeColorAsInt(), Color.argb(127, 255, 127, 0));
}
@Test
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/ExpressionTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/ExpressionTest.java
index ff3b2a9d6d..fbb866ddff 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/ExpressionTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/ExpressionTest.java
@@ -378,7 +378,7 @@ public class ExpressionTest extends EspressoTest {
);
assertNull(layer.getTextField().getExpression());
assertEquals(new Formatted(
- new FormattedSection("test", null, null, "rgba(255, 255, 0, 1)")
+ new FormattedSection("test", null, null, "rgba(255,255,0,1)")
), layer.getTextField().getValue());
});
}
@@ -398,7 +398,7 @@ public class ExpressionTest extends EspressoTest {
"test",
formatFontScale(0.5),
formatTextFont(new String[] {"DIN Offc Pro Regular", "Arial Unicode MS Regular"}),
- formatTextColor(rgb(126.7, 0, 0))
+ formatTextColor(rgb(126, 0, 0))
)
);
layer.setProperties(textField(expression));
@@ -412,7 +412,7 @@ public class ExpressionTest extends EspressoTest {
new FormattedSection("test",
0.5,
new String[] {"DIN Offc Pro Regular", "Arial Unicode MS Regular"},
- "rgba(126, 0, 0, 1)")
+ "rgba(126,0,0,1)")
), layer.getTextField().getValue());
});
}
@@ -433,7 +433,8 @@ public class ExpressionTest extends EspressoTest {
formatFontScale(1.5),
formatTextFont(new String[] {"DIN Offc Pro Regular", "Arial Unicode MS Regular"})
),
- formatEntry("\ntest2", formatFontScale(2), formatTextColor(Color.BLUE))
+ formatEntry("\ntest2", formatFontScale(2), formatTextColor(Color.BLUE)),
+ formatEntry("\ntest3", formatFontScale(2.5), formatTextColor(toColor(literal("rgba(0, 128, 255, 0.5)"))))
);
layer.setProperties(textField(expression));
TestingAsyncUtils.INSTANCE.waitForLayer(uiController, mapView);
@@ -445,7 +446,8 @@ public class ExpressionTest extends EspressoTest {
assertEquals(new Formatted(
new FormattedSection("test", 1.5,
new String[] {"DIN Offc Pro Regular", "Arial Unicode MS Regular"}),
- new FormattedSection("\ntest2", 2.0, null, "rgba(0, 0, 255, 1)")
+ new FormattedSection("\ntest2", 2.0, null, "rgba(0,0,255,1)"),
+ new FormattedSection("\ntest3", 2.5, null, "rgba(0,128,255,0.5)")
), layer.getTextField().getValue());
});
}
@@ -547,9 +549,9 @@ public class ExpressionTest extends EspressoTest {
Formatted formatted = new Formatted(
new FormattedSection("test", 1.5),
new FormattedSection("\ntest", 0.5, new String[] {"Arial Unicode MS Regular", "DIN Offc Pro Regular"}),
- new FormattedSection("test", null, null, "rgba(0, 255, 0, 1)")
+ new FormattedSection("test", null, null, "rgba(0,255,0,1)")
);
- layer.setProperties(textField(formatted), textColor("rgba(128, 0, 0, 1)"));
+ layer.setProperties(textField(formatted), textColor("rgba(128,0,0,1)"));
TestingAsyncUtils.INSTANCE.waitForLayer(uiController, mapView);
assertFalse(mapboxMap.queryRenderedFeatures(mapboxMap.getProjection().toScreenLocation(latLng), "layer")
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillExtrusionLayerTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillExtrusionLayerTest.java
index 7a6ebb7ac6..cdfd030f9b 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillExtrusionLayerTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillExtrusionLayerTest.java
@@ -144,7 +144,7 @@ public class FillExtrusionLayerTest extends BaseLayerTest {
assertNull(layer.getFillExtrusionColor().getValue());
// Set and Get
- String propertyValue = "rgba(0, 0, 0, 1)";
+ String propertyValue = "rgba(255,128,0,0.7)";
layer.setProperties(fillExtrusionColor(propertyValue));
assertEquals(layer.getFillExtrusionColor().getValue(), propertyValue);
}
@@ -169,8 +169,8 @@ public class FillExtrusionLayerTest extends BaseLayerTest {
assertNotNull(layer);
// Set and Get
- layer.setProperties(fillExtrusionColor(Color.RED));
- assertEquals(layer.getFillExtrusionColorAsInt(), Color.RED);
+ layer.setProperties(fillExtrusionColor(Color.argb(127, 255, 127, 0)));
+ assertEquals(layer.getFillExtrusionColorAsInt(), Color.argb(127, 255, 127, 0));
}
@Test
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillLayerTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillLayerTest.java
index dce5633fc8..f6e3cc8548 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillLayerTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillLayerTest.java
@@ -170,7 +170,7 @@ public class FillLayerTest extends BaseLayerTest {
assertNull(layer.getFillColor().getValue());
// Set and Get
- String propertyValue = "rgba(0, 0, 0, 1)";
+ String propertyValue = "rgba(255,128,0,0.7)";
layer.setProperties(fillColor(propertyValue));
assertEquals(layer.getFillColor().getValue(), propertyValue);
}
@@ -195,8 +195,8 @@ public class FillLayerTest extends BaseLayerTest {
assertNotNull(layer);
// Set and Get
- layer.setProperties(fillColor(Color.RED));
- assertEquals(layer.getFillColorAsInt(), Color.RED);
+ layer.setProperties(fillColor(Color.argb(127, 255, 127, 0)));
+ assertEquals(layer.getFillColorAsInt(), Color.argb(127, 255, 127, 0));
}
@Test
@@ -219,7 +219,7 @@ public class FillLayerTest extends BaseLayerTest {
assertNull(layer.getFillOutlineColor().getValue());
// Set and Get
- String propertyValue = "rgba(0, 0, 0, 1)";
+ String propertyValue = "rgba(255,128,0,0.7)";
layer.setProperties(fillOutlineColor(propertyValue));
assertEquals(layer.getFillOutlineColor().getValue(), propertyValue);
}
@@ -244,8 +244,8 @@ public class FillLayerTest extends BaseLayerTest {
assertNotNull(layer);
// Set and Get
- layer.setProperties(fillOutlineColor(Color.RED));
- assertEquals(layer.getFillOutlineColorAsInt(), Color.RED);
+ layer.setProperties(fillOutlineColor(Color.argb(127, 255, 127, 0)));
+ assertEquals(layer.getFillOutlineColorAsInt(), Color.argb(127, 255, 127, 0));
}
@Test
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/HillshadeLayerTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/HillshadeLayerTest.java
index a01d562cf9..694348b888 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/HillshadeLayerTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/HillshadeLayerTest.java
@@ -133,7 +133,7 @@ public class HillshadeLayerTest extends BaseLayerTest {
assertNull(layer.getHillshadeShadowColor().getValue());
// Set and Get
- String propertyValue = "rgba(0, 0, 0, 1)";
+ String propertyValue = "rgba(255,128,0,0.7)";
layer.setProperties(hillshadeShadowColor(propertyValue));
assertEquals(layer.getHillshadeShadowColor().getValue(), propertyValue);
}
@@ -145,8 +145,8 @@ public class HillshadeLayerTest extends BaseLayerTest {
assertNotNull(layer);
// Set and Get
- layer.setProperties(hillshadeShadowColor(Color.RED));
- assertEquals(layer.getHillshadeShadowColorAsInt(), Color.RED);
+ layer.setProperties(hillshadeShadowColor(Color.argb(127, 255, 127, 0)));
+ assertEquals(layer.getHillshadeShadowColorAsInt(), Color.argb(127, 255, 127, 0));
}
@Test
@@ -169,7 +169,7 @@ public class HillshadeLayerTest extends BaseLayerTest {
assertNull(layer.getHillshadeHighlightColor().getValue());
// Set and Get
- String propertyValue = "rgba(0, 0, 0, 1)";
+ String propertyValue = "rgba(255,128,0,0.7)";
layer.setProperties(hillshadeHighlightColor(propertyValue));
assertEquals(layer.getHillshadeHighlightColor().getValue(), propertyValue);
}
@@ -181,8 +181,8 @@ public class HillshadeLayerTest extends BaseLayerTest {
assertNotNull(layer);
// Set and Get
- layer.setProperties(hillshadeHighlightColor(Color.RED));
- assertEquals(layer.getHillshadeHighlightColorAsInt(), Color.RED);
+ layer.setProperties(hillshadeHighlightColor(Color.argb(127, 255, 127, 0)));
+ assertEquals(layer.getHillshadeHighlightColorAsInt(), Color.argb(127, 255, 127, 0));
}
@Test
@@ -205,7 +205,7 @@ public class HillshadeLayerTest extends BaseLayerTest {
assertNull(layer.getHillshadeAccentColor().getValue());
// Set and Get
- String propertyValue = "rgba(0, 0, 0, 1)";
+ String propertyValue = "rgba(255,128,0,0.7)";
layer.setProperties(hillshadeAccentColor(propertyValue));
assertEquals(layer.getHillshadeAccentColor().getValue(), propertyValue);
}
@@ -217,7 +217,7 @@ public class HillshadeLayerTest extends BaseLayerTest {
assertNotNull(layer);
// Set and Get
- layer.setProperties(hillshadeAccentColor(Color.RED));
- assertEquals(layer.getHillshadeAccentColorAsInt(), Color.RED);
+ layer.setProperties(hillshadeAccentColor(Color.argb(127, 255, 127, 0)));
+ assertEquals(layer.getHillshadeAccentColorAsInt(), Color.argb(127, 255, 127, 0));
}
}
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/LightTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/LightTest.java
index c5ad242b90..b78a2d26e5 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/LightTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/LightTest.java
@@ -103,8 +103,8 @@ public class LightTest extends BaseTest {
invoke(mapboxMap, (uiController, mapboxMap) -> {
assertNotNull(light);
// Set and Get
- light.setColor("rgba(0, 0, 0, 1)");
- assertEquals("Color should match", "rgba(0, 0, 0, 1)".replaceAll("\\s+", ""), light.getColor());
+ light.setColor("rgba(255,128,0,0.7)");
+ assertEquals("Color should match", "rgba(255,128,0,0.7)", light.getColor());
});
}
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/LineLayerTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/LineLayerTest.java
index 06802cd9b5..5e00890f7f 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/LineLayerTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/LineLayerTest.java
@@ -222,7 +222,7 @@ public class LineLayerTest extends BaseLayerTest {
assertNull(layer.getLineColor().getValue());
// Set and Get
- String propertyValue = "rgba(0, 0, 0, 1)";
+ String propertyValue = "rgba(255,128,0,0.7)";
layer.setProperties(lineColor(propertyValue));
assertEquals(layer.getLineColor().getValue(), propertyValue);
}
@@ -247,8 +247,8 @@ public class LineLayerTest extends BaseLayerTest {
assertNotNull(layer);
// Set and Get
- layer.setProperties(lineColor(Color.RED));
- assertEquals(layer.getLineColorAsInt(), Color.RED);
+ layer.setProperties(lineColor(Color.argb(127, 255, 127, 0)));
+ assertEquals(layer.getLineColorAsInt(), Color.argb(127, 255, 127, 0));
}
@Test
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/SymbolLayerTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/SymbolLayerTest.java
index 4674c9ffb1..60e305d607 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/SymbolLayerTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/SymbolLayerTest.java
@@ -856,7 +856,7 @@ public class SymbolLayerTest extends BaseLayerTest {
assertNull(layer.getIconColor().getValue());
// Set and Get
- String propertyValue = "rgba(0, 0, 0, 1)";
+ String propertyValue = "rgba(255,128,0,0.7)";
layer.setProperties(iconColor(propertyValue));
assertEquals(layer.getIconColor().getValue(), propertyValue);
}
@@ -881,8 +881,8 @@ public class SymbolLayerTest extends BaseLayerTest {
assertNotNull(layer);
// Set and Get
- layer.setProperties(iconColor(Color.RED));
- assertEquals(layer.getIconColorAsInt(), Color.RED);
+ layer.setProperties(iconColor(Color.argb(127, 255, 127, 0)));
+ assertEquals(layer.getIconColorAsInt(), Color.argb(127, 255, 127, 0));
}
@Test
@@ -905,7 +905,7 @@ public class SymbolLayerTest extends BaseLayerTest {
assertNull(layer.getIconHaloColor().getValue());
// Set and Get
- String propertyValue = "rgba(0, 0, 0, 1)";
+ String propertyValue = "rgba(255,128,0,0.7)";
layer.setProperties(iconHaloColor(propertyValue));
assertEquals(layer.getIconHaloColor().getValue(), propertyValue);
}
@@ -930,8 +930,8 @@ public class SymbolLayerTest extends BaseLayerTest {
assertNotNull(layer);
// Set and Get
- layer.setProperties(iconHaloColor(Color.RED));
- assertEquals(layer.getIconHaloColorAsInt(), Color.RED);
+ layer.setProperties(iconHaloColor(Color.argb(127, 255, 127, 0)));
+ assertEquals(layer.getIconHaloColorAsInt(), Color.argb(127, 255, 127, 0));
}
@Test
@@ -1106,7 +1106,7 @@ public class SymbolLayerTest extends BaseLayerTest {
assertNull(layer.getTextColor().getValue());
// Set and Get
- String propertyValue = "rgba(0, 0, 0, 1)";
+ String propertyValue = "rgba(255,128,0,0.7)";
layer.setProperties(textColor(propertyValue));
assertEquals(layer.getTextColor().getValue(), propertyValue);
}
@@ -1131,8 +1131,8 @@ public class SymbolLayerTest extends BaseLayerTest {
assertNotNull(layer);
// Set and Get
- layer.setProperties(textColor(Color.RED));
- assertEquals(layer.getTextColorAsInt(), Color.RED);
+ layer.setProperties(textColor(Color.argb(127, 255, 127, 0)));
+ assertEquals(layer.getTextColorAsInt(), Color.argb(127, 255, 127, 0));
}
@Test
@@ -1155,7 +1155,7 @@ public class SymbolLayerTest extends BaseLayerTest {
assertNull(layer.getTextHaloColor().getValue());
// Set and Get
- String propertyValue = "rgba(0, 0, 0, 1)";
+ String propertyValue = "rgba(255,128,0,0.7)";
layer.setProperties(textHaloColor(propertyValue));
assertEquals(layer.getTextHaloColor().getValue(), propertyValue);
}
@@ -1180,8 +1180,8 @@ public class SymbolLayerTest extends BaseLayerTest {
assertNotNull(layer);
// Set and Get
- layer.setProperties(textHaloColor(Color.RED));
- assertEquals(layer.getTextHaloColorAsInt(), Color.RED);
+ layer.setProperties(textHaloColor(Color.argb(127, 255, 127, 0)));
+ assertEquals(layer.getTextHaloColorAsInt(), Color.argb(127, 255, 127, 0));
}
@Test
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/layer.junit.ejs b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/layer.junit.ejs
index a7b5ffeb08..1104cbed9d 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/layer.junit.ejs
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/layer.junit.ejs
@@ -186,8 +186,8 @@ public class <%- camelize(type) %>LayerTest extends BaseLayerTest {
assertNotNull(layer);
// Set and Get
- layer.setProperties(<%- camelizeWithLeadingLowercase(property.name) %>(Color.RED));
- assertEquals(layer.get<%- camelize(property.name) %>AsInt(), Color.RED);
+ layer.setProperties(<%- camelizeWithLeadingLowercase(property.name) %>(Color.argb(127, 255, 127, 0)));
+ assertEquals(layer.get<%- camelize(property.name) %>AsInt(), Color.argb(127, 255, 127, 0));
}
<% } -%>
<% } -%>
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/light.junit.ejs b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/light.junit.ejs
index 18ae94cc3e..9bc77b202b 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/light.junit.ejs
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/light.junit.ejs
@@ -86,7 +86,7 @@ public class LightTest extends BaseTest {
// Set and Get
light.set<%- camelize(property.name) %>(<%- defaultValueJava(property) %>);
<% if (property.name == 'color') { -%>
- assertEquals("<%- camelize(property.name) %> should match", <%- defaultValueJava(property) %>.replaceAll("\\s+", ""), light.get<%- camelize(property.name) %>());
+ assertEquals("<%- camelize(property.name) %> should match", <%- defaultValueJava(property) %>, light.get<%- camelize(property.name) %>());
<% } else { -%>
assertEquals("<%- camelize(property.name) %> should match", <%- defaultValueJava(property) %>, light.get<%- camelize(property.name) %>());
<% } -%>
diff --git a/platform/android/scripts/generate-style-code.js b/platform/android/scripts/generate-style-code.js
index 688a3aa527..98a18120fc 100755
--- a/platform/android/scripts/generate-style-code.js
+++ b/platform/android/scripts/generate-style-code.js
@@ -193,7 +193,7 @@ global.defaultValueJava = function(property) {
case 'enum':
return snakeCaseUpper(property.name) + "_" + snakeCaseUpper(Object.keys(property.values)[0]);
case 'color':
- return '"rgba(0, 0, 0, 1)"';
+ return '"rgba(255,128,0,0.7)"';
case 'array':
switch (property.value) {
case 'string':
diff --git a/platform/android/src/conversion/constant.cpp b/platform/android/src/conversion/constant.cpp
index 0671fa6a32..a409e5dfdf 100644
--- a/platform/android/src/conversion/constant.cpp
+++ b/platform/android/src/conversion/constant.cpp
@@ -25,18 +25,7 @@ Result<jni::Local<jni::Object<>>> Converter<jni::Local<jni::Object<>>, std::stri
}
Result<jni::Local<jni::Object<>>> Converter<jni::Local<jni::Object<>>, Color>::operator()(jni::JNIEnv& env, const Color& value) const {
- std::string result;
- result.reserve(32);
- result += "rgba(";
- result += util::toString(value.r);
- result += ", ";
- result += util::toString(value.g);
- result += ", ";
- result += util::toString(value.b);
- result += ", ";
- result += util::toString(value.a);
- result += ")";
- return jni::Make<jni::String>(env, result);
+ return jni::Make<jni::String>(env, value.stringify());
}
Result<jni::Local<jni::Object<>>> Converter<jni::Local<jni::Object<>>, style::expression::Formatted>::operator()(jni::JNIEnv& env, const style::expression::Formatted& value) const {