diff --git a/services-geojson/src/main/java/com/google/gson/typeadapters/RuntimeTypeAdapterFactory.java b/services-geojson/src/main/java/com/google/gson/typeadapters/RuntimeTypeAdapterFactory.java index 2c93f1e3c..ebc58ccc0 100644 --- a/services-geojson/src/main/java/com/google/gson/typeadapters/RuntimeTypeAdapterFactory.java +++ b/services-geojson/src/main/java/com/google/gson/typeadapters/RuntimeTypeAdapterFactory.java @@ -16,6 +16,8 @@ package com.google.gson.typeadapters; +import android.support.annotation.Keep; + import java.io.IOException; import java.util.LinkedHashMap; import java.util.Map; @@ -125,6 +127,7 @@ * @param base type for this factory * @since 4.6.0 */ +@Keep public final class RuntimeTypeAdapterFactory implements TypeAdapterFactory { private final Class baseType; private final String typeFieldName; diff --git a/services-geojson/src/main/java/com/mapbox/geojson/BaseCoordinatesTypeAdapter.java b/services-geojson/src/main/java/com/mapbox/geojson/BaseCoordinatesTypeAdapter.java index 6da74207a..c039b15b5 100644 --- a/services-geojson/src/main/java/com/mapbox/geojson/BaseCoordinatesTypeAdapter.java +++ b/services-geojson/src/main/java/com/mapbox/geojson/BaseCoordinatesTypeAdapter.java @@ -1,5 +1,7 @@ package com.mapbox.geojson; +import android.support.annotation.Keep; + import com.google.gson.TypeAdapter; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonToken; @@ -19,6 +21,7 @@ * @param Type of coordinates * @since 4.6.0 */ +@Keep abstract class BaseCoordinatesTypeAdapter extends TypeAdapter { diff --git a/services-geojson/src/main/java/com/mapbox/geojson/BaseGeometryTypeAdapter.java b/services-geojson/src/main/java/com/mapbox/geojson/BaseGeometryTypeAdapter.java index b1c7b3c4d..386c9b096 100644 --- a/services-geojson/src/main/java/com/mapbox/geojson/BaseGeometryTypeAdapter.java +++ b/services-geojson/src/main/java/com/mapbox/geojson/BaseGeometryTypeAdapter.java @@ -1,5 +1,7 @@ package com.mapbox.geojson; +import android.support.annotation.Keep; + import com.google.gson.Gson; import com.google.gson.TypeAdapter; import com.google.gson.stream.JsonReader; @@ -18,6 +20,7 @@ * @param Type of coordinates * @since 4.6.0 */ +@Keep abstract class BaseGeometryTypeAdapter extends TypeAdapter { private volatile TypeAdapter stringAdapter; diff --git a/services-geojson/src/main/java/com/mapbox/geojson/BoundingBox.java b/services-geojson/src/main/java/com/mapbox/geojson/BoundingBox.java index 45c6a7f97..a39aa1399 100644 --- a/services-geojson/src/main/java/com/mapbox/geojson/BoundingBox.java +++ b/services-geojson/src/main/java/com/mapbox/geojson/BoundingBox.java @@ -4,6 +4,7 @@ import static com.mapbox.geojson.constants.GeoJsonConstants.MIN_LONGITUDE; import android.support.annotation.FloatRange; +import android.support.annotation.Keep; import android.support.annotation.NonNull; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -28,6 +29,7 @@ * * @since 3.0.0 */ +@Keep public class BoundingBox implements Serializable { private final Point southwest; diff --git a/services-geojson/src/main/java/com/mapbox/geojson/CoordinateContainer.java b/services-geojson/src/main/java/com/mapbox/geojson/CoordinateContainer.java index 43d80180a..3a458e90b 100644 --- a/services-geojson/src/main/java/com/mapbox/geojson/CoordinateContainer.java +++ b/services-geojson/src/main/java/com/mapbox/geojson/CoordinateContainer.java @@ -1,5 +1,7 @@ package com.mapbox.geojson; +import android.support.annotation.Keep; + /** * Each of the s geometries which make up GeoJson implement this interface and consume a varying * dimension of {@link Point} list. Since this is varying, each geometry object fulfills the @@ -8,6 +10,7 @@ * @param a generic allowing varying dimensions for each GeoJson geometry * @since 3.0.0 */ +@Keep public interface CoordinateContainer extends Geometry { /** diff --git a/services-geojson/src/main/java/com/mapbox/geojson/Feature.java b/services-geojson/src/main/java/com/mapbox/geojson/Feature.java index cdca0a4b7..fd1c0364d 100644 --- a/services-geojson/src/main/java/com/mapbox/geojson/Feature.java +++ b/services-geojson/src/main/java/com/mapbox/geojson/Feature.java @@ -1,5 +1,6 @@ package com.mapbox.geojson; +import android.support.annotation.Keep; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import com.google.gson.Gson; @@ -46,6 +47,7 @@ * * @since 1.0.0 */ +@Keep public final class Feature implements GeoJson { private static final String TYPE = "Feature"; diff --git a/services-geojson/src/main/java/com/mapbox/geojson/FeatureCollection.java b/services-geojson/src/main/java/com/mapbox/geojson/FeatureCollection.java index a121deb52..5aece44d0 100644 --- a/services-geojson/src/main/java/com/mapbox/geojson/FeatureCollection.java +++ b/services-geojson/src/main/java/com/mapbox/geojson/FeatureCollection.java @@ -1,5 +1,6 @@ package com.mapbox.geojson; +import android.support.annotation.Keep; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import com.google.gson.Gson; @@ -37,6 +38,7 @@ * * @since 1.0.0 */ +@Keep public final class FeatureCollection implements GeoJson { private static final String TYPE = "FeatureCollection"; diff --git a/services-geojson/src/main/java/com/mapbox/geojson/GeoJson.java b/services-geojson/src/main/java/com/mapbox/geojson/GeoJson.java index e081e1c4f..991d8579c 100644 --- a/services-geojson/src/main/java/com/mapbox/geojson/GeoJson.java +++ b/services-geojson/src/main/java/com/mapbox/geojson/GeoJson.java @@ -1,5 +1,7 @@ package com.mapbox.geojson; +import android.support.annotation.Keep; + /** * Generic implementation for all GeoJson objects defining common traits that each GeoJson object * has. This logic is carried over to {@link Geometry} which is an interface which all seven GeoJson @@ -7,6 +9,7 @@ * * @since 1.0.0 */ +@Keep public interface GeoJson { /** diff --git a/services-geojson/src/main/java/com/mapbox/geojson/Geometry.java b/services-geojson/src/main/java/com/mapbox/geojson/Geometry.java index ad792377f..b6dec00bb 100644 --- a/services-geojson/src/main/java/com/mapbox/geojson/Geometry.java +++ b/services-geojson/src/main/java/com/mapbox/geojson/Geometry.java @@ -1,11 +1,14 @@ package com.mapbox.geojson; +import android.support.annotation.Keep; + /** * Each of the six geometries and {@link GeometryCollection} * which make up GeoJson implement this interface. * * @since 1.0.0 */ +@Keep public interface Geometry extends GeoJson { } diff --git a/services-geojson/src/main/java/com/mapbox/geojson/GeometryAdapterFactory.java b/services-geojson/src/main/java/com/mapbox/geojson/GeometryAdapterFactory.java index 5e6a283a1..acee1738e 100644 --- a/services-geojson/src/main/java/com/mapbox/geojson/GeometryAdapterFactory.java +++ b/services-geojson/src/main/java/com/mapbox/geojson/GeometryAdapterFactory.java @@ -1,5 +1,7 @@ package com.mapbox.geojson; +import android.support.annotation.Keep; + import com.google.gson.TypeAdapterFactory; import com.google.gson.typeadapters.RuntimeTypeAdapterFactory; @@ -8,6 +10,7 @@ * A Geometry type adapter factory for convenience for serialization/deserialization. * @since 4.6.0 */ +@Keep public abstract class GeometryAdapterFactory implements TypeAdapterFactory { private static TypeAdapterFactory geometryTypeFactory; diff --git a/services-geojson/src/main/java/com/mapbox/geojson/GeometryCollection.java b/services-geojson/src/main/java/com/mapbox/geojson/GeometryCollection.java index bf8eb2ab7..ced42b387 100644 --- a/services-geojson/src/main/java/com/mapbox/geojson/GeometryCollection.java +++ b/services-geojson/src/main/java/com/mapbox/geojson/GeometryCollection.java @@ -1,5 +1,6 @@ package com.mapbox.geojson; +import android.support.annotation.Keep; import android.support.annotation.NonNull; import android.support.annotation.Nullable; @@ -59,6 +60,7 @@ * * @since 1.0.0 */ +@Keep public final class GeometryCollection implements Geometry, Serializable { private static final String TYPE = "GeometryCollection"; diff --git a/services-geojson/src/main/java/com/mapbox/geojson/LineString.java b/services-geojson/src/main/java/com/mapbox/geojson/LineString.java index f657610bb..f8fef6087 100644 --- a/services-geojson/src/main/java/com/mapbox/geojson/LineString.java +++ b/services-geojson/src/main/java/com/mapbox/geojson/LineString.java @@ -1,5 +1,6 @@ package com.mapbox.geojson; +import android.support.annotation.Keep; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import com.google.gson.Gson; @@ -48,6 +49,7 @@ * * @since 1.0.0 */ +@Keep public final class LineString implements CoordinateContainer>, Serializable { private static final String TYPE = "LineString"; diff --git a/services-geojson/src/main/java/com/mapbox/geojson/ListOfDoublesCoordinatesTypeAdapter.java b/services-geojson/src/main/java/com/mapbox/geojson/ListOfDoublesCoordinatesTypeAdapter.java index a5480aee4..209099328 100644 --- a/services-geojson/src/main/java/com/mapbox/geojson/ListOfDoublesCoordinatesTypeAdapter.java +++ b/services-geojson/src/main/java/com/mapbox/geojson/ListOfDoublesCoordinatesTypeAdapter.java @@ -1,5 +1,7 @@ package com.mapbox.geojson; +import android.support.annotation.Keep; + import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; @@ -11,6 +13,7 @@ * * @since 4.6.0 */ +@Keep class ListOfDoublesCoordinatesTypeAdapter extends BaseCoordinatesTypeAdapter> { @Override diff --git a/services-geojson/src/main/java/com/mapbox/geojson/ListOfListOfPointCoordinatesTypeAdapter.java b/services-geojson/src/main/java/com/mapbox/geojson/ListOfListOfPointCoordinatesTypeAdapter.java index e41f04026..6f6a5b31f 100644 --- a/services-geojson/src/main/java/com/mapbox/geojson/ListOfListOfPointCoordinatesTypeAdapter.java +++ b/services-geojson/src/main/java/com/mapbox/geojson/ListOfListOfPointCoordinatesTypeAdapter.java @@ -1,5 +1,7 @@ package com.mapbox.geojson; +import android.support.annotation.Keep; + import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonToken; import com.google.gson.stream.JsonWriter; @@ -15,6 +17,7 @@ * * @since 4.6.0 */ +@Keep class ListOfListOfPointCoordinatesTypeAdapter extends BaseCoordinatesTypeAdapter>> { diff --git a/services-geojson/src/main/java/com/mapbox/geojson/ListOfPointCoordinatesTypeAdapter.java b/services-geojson/src/main/java/com/mapbox/geojson/ListOfPointCoordinatesTypeAdapter.java index 1ede3b278..517172856 100644 --- a/services-geojson/src/main/java/com/mapbox/geojson/ListOfPointCoordinatesTypeAdapter.java +++ b/services-geojson/src/main/java/com/mapbox/geojson/ListOfPointCoordinatesTypeAdapter.java @@ -1,5 +1,7 @@ package com.mapbox.geojson; +import android.support.annotation.Keep; + import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonToken; import com.google.gson.stream.JsonWriter; @@ -14,6 +16,7 @@ * * @since 4.6.0 */ +@Keep class ListOfPointCoordinatesTypeAdapter extends BaseCoordinatesTypeAdapter> { @Override diff --git a/services-geojson/src/main/java/com/mapbox/geojson/ListofListofListOfPointCoordinatesTypeAdapter.java b/services-geojson/src/main/java/com/mapbox/geojson/ListofListofListOfPointCoordinatesTypeAdapter.java index e71694914..2a657ce62 100644 --- a/services-geojson/src/main/java/com/mapbox/geojson/ListofListofListOfPointCoordinatesTypeAdapter.java +++ b/services-geojson/src/main/java/com/mapbox/geojson/ListofListofListOfPointCoordinatesTypeAdapter.java @@ -1,5 +1,7 @@ package com.mapbox.geojson; +import android.support.annotation.Keep; + import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonToken; import com.google.gson.stream.JsonWriter; @@ -15,6 +17,7 @@ * * @since 4.6.0 */ +@Keep class ListofListofListOfPointCoordinatesTypeAdapter extends BaseCoordinatesTypeAdapter>>> { diff --git a/services-geojson/src/main/java/com/mapbox/geojson/MultiLineString.java b/services-geojson/src/main/java/com/mapbox/geojson/MultiLineString.java index 286eaff69..0bdf15481 100644 --- a/services-geojson/src/main/java/com/mapbox/geojson/MultiLineString.java +++ b/services-geojson/src/main/java/com/mapbox/geojson/MultiLineString.java @@ -1,5 +1,6 @@ package com.mapbox.geojson; +import android.support.annotation.Keep; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import com.google.gson.Gson; @@ -49,6 +50,7 @@ * * @since 1.0.0 */ +@Keep public final class MultiLineString implements CoordinateContainer>>, Serializable { diff --git a/services-geojson/src/main/java/com/mapbox/geojson/MultiPoint.java b/services-geojson/src/main/java/com/mapbox/geojson/MultiPoint.java index d166eb9fd..44e8d5eeb 100644 --- a/services-geojson/src/main/java/com/mapbox/geojson/MultiPoint.java +++ b/services-geojson/src/main/java/com/mapbox/geojson/MultiPoint.java @@ -1,5 +1,6 @@ package com.mapbox.geojson; +import android.support.annotation.Keep; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import com.google.gson.Gson; @@ -34,6 +35,7 @@ * * @since 1.0.0 */ +@Keep public final class MultiPoint implements CoordinateContainer>, Serializable { private static final String TYPE = "MultiPoint"; diff --git a/services-geojson/src/main/java/com/mapbox/geojson/MultiPolygon.java b/services-geojson/src/main/java/com/mapbox/geojson/MultiPolygon.java index 1e8701c70..1fe390395 100644 --- a/services-geojson/src/main/java/com/mapbox/geojson/MultiPolygon.java +++ b/services-geojson/src/main/java/com/mapbox/geojson/MultiPolygon.java @@ -1,5 +1,6 @@ package com.mapbox.geojson; +import android.support.annotation.Keep; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import com.google.gson.Gson; @@ -67,6 +68,7 @@ * * @since 1.0.0 */ +@Keep public final class MultiPolygon implements CoordinateContainer>>>, Serializable { diff --git a/services-geojson/src/main/java/com/mapbox/geojson/Point.java b/services-geojson/src/main/java/com/mapbox/geojson/Point.java index 0e0837a17..45e1a3b7d 100644 --- a/services-geojson/src/main/java/com/mapbox/geojson/Point.java +++ b/services-geojson/src/main/java/com/mapbox/geojson/Point.java @@ -6,6 +6,7 @@ import static com.mapbox.geojson.constants.GeoJsonConstants.MIN_LONGITUDE; import android.support.annotation.FloatRange; +import android.support.annotation.Keep; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import com.google.gson.Gson; @@ -51,6 +52,7 @@ * * @since 1.0.0 */ +@Keep public final class Point implements CoordinateContainer>, Serializable { private static final String TYPE = "Point"; diff --git a/services-geojson/src/main/java/com/mapbox/geojson/PointAsCoordinatesTypeAdapter.java b/services-geojson/src/main/java/com/mapbox/geojson/PointAsCoordinatesTypeAdapter.java index 1b5d539bf..8fa691afa 100644 --- a/services-geojson/src/main/java/com/mapbox/geojson/PointAsCoordinatesTypeAdapter.java +++ b/services-geojson/src/main/java/com/mapbox/geojson/PointAsCoordinatesTypeAdapter.java @@ -1,5 +1,7 @@ package com.mapbox.geojson; +import android.support.annotation.Keep; + import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; @@ -11,6 +13,7 @@ * * @since 4.6.0 */ +@Keep public class PointAsCoordinatesTypeAdapter extends BaseCoordinatesTypeAdapter { @Override diff --git a/services-geojson/src/main/java/com/mapbox/geojson/Polygon.java b/services-geojson/src/main/java/com/mapbox/geojson/Polygon.java index 9545abe66..2b40950ab 100644 --- a/services-geojson/src/main/java/com/mapbox/geojson/Polygon.java +++ b/services-geojson/src/main/java/com/mapbox/geojson/Polygon.java @@ -1,5 +1,6 @@ package com.mapbox.geojson; +import android.support.annotation.Keep; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.annotation.Size; @@ -55,6 +56,7 @@ * * @since 1.0.0 */ +@Keep public final class Polygon implements CoordinateContainer>>, Serializable { private static final String TYPE = "Polygon"; diff --git a/services-geojson/src/main/java/com/mapbox/geojson/gson/BoundingBoxTypeAdapter.java b/services-geojson/src/main/java/com/mapbox/geojson/gson/BoundingBoxTypeAdapter.java index 9939c87db..14d71ab75 100644 --- a/services-geojson/src/main/java/com/mapbox/geojson/gson/BoundingBoxTypeAdapter.java +++ b/services-geojson/src/main/java/com/mapbox/geojson/gson/BoundingBoxTypeAdapter.java @@ -1,5 +1,7 @@ package com.mapbox.geojson.gson; +import android.support.annotation.Keep; + import com.google.gson.TypeAdapter; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; @@ -18,6 +20,7 @@ * * @since 4.6.0 */ +@Keep public class BoundingBoxTypeAdapter extends TypeAdapter { @Override diff --git a/services-geojson/src/main/java/com/mapbox/geojson/gson/GeoJsonAdapterFactory.java b/services-geojson/src/main/java/com/mapbox/geojson/gson/GeoJsonAdapterFactory.java index 6ce8a0e46..abc16b25e 100644 --- a/services-geojson/src/main/java/com/mapbox/geojson/gson/GeoJsonAdapterFactory.java +++ b/services-geojson/src/main/java/com/mapbox/geojson/gson/GeoJsonAdapterFactory.java @@ -1,5 +1,7 @@ package com.mapbox.geojson.gson; +import android.support.annotation.Keep; + import com.google.gson.Gson; import com.google.gson.TypeAdapter; import com.google.gson.TypeAdapterFactory; @@ -21,6 +23,7 @@ * * @since 3.0.0 */ +@Keep public abstract class GeoJsonAdapterFactory implements TypeAdapterFactory { /** diff --git a/services-geojson/src/main/java/com/mapbox/geojson/gson/GeometryGeoJson.java b/services-geojson/src/main/java/com/mapbox/geojson/gson/GeometryGeoJson.java index aa039c713..8620eeb0d 100644 --- a/services-geojson/src/main/java/com/mapbox/geojson/gson/GeometryGeoJson.java +++ b/services-geojson/src/main/java/com/mapbox/geojson/gson/GeometryGeoJson.java @@ -1,5 +1,6 @@ package com.mapbox.geojson.gson; +import android.support.annotation.Keep; import android.support.annotation.NonNull; import com.google.gson.GsonBuilder; @@ -10,6 +11,7 @@ * This is a utility class that helps create a Geometry instance from a JSON string. * @since 4.0.0 */ +@Keep public class GeometryGeoJson { /**