diff options
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/PropertyValue.java')
-rw-r--r-- | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/PropertyValue.java | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/PropertyValue.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/PropertyValue.java index 5286e6916d..68727c8a4f 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/PropertyValue.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/PropertyValue.java @@ -1,9 +1,12 @@ package com.mapbox.mapboxsdk.style.layers; +import android.support.annotation.ColorInt; import android.support.annotation.NonNull; import android.support.annotation.Nullable; +import com.mapbox.mapboxsdk.exceptions.ConversionException; import com.mapbox.mapboxsdk.style.functions.Function; +import com.mapbox.mapboxsdk.utils.ColorUtils; import timber.log.Timber; @@ -15,7 +18,14 @@ public class PropertyValue<T> { public final String name; public final T value; - /* package */ PropertyValue(@NonNull String name, T value) { + /** + * Not part of the public API. + * + * @param name the property name + * @param value the property value + * @see PropertyFactory for construction of {@link PropertyValue}s + */ + public PropertyValue(@NonNull String name, T value) { this.name = name; this.value = value; } @@ -54,6 +64,22 @@ public class PropertyValue<T> { } } + @ColorInt + @Nullable + public Integer getColorInt() { + if (!isValue() || !(value instanceof String)) { + Timber.e("%s is not a String value and can not be converted to a color it", name); + return null; + } + + try { + return ColorUtils.rgbaToColor((String) value); + } catch (ConversionException ex) { + Timber.e("%s could not be converted to a Color int: %s", name, ex.getMessage()); + return null; + } + } + @Override public String toString() { return String.format("%s: %s", name, value); |