diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/IconFactory.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/IconFactory.java
index 052d5592e..57aa51240 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/IconFactory.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/IconFactory.java
@@ -3,8 +3,6 @@ package com.mapbox.mapboxsdk.annotations;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
-import android.graphics.Canvas;
-import android.graphics.Rect;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.os.Build;
@@ -23,7 +21,10 @@ import java.io.IOException;
import java.io.InputStream;
/**
- * Factory for creating {@link Icon} objects.
+ * Factory for creating Icons from bitmap images.
+ *
+ * {@link Icon} is used to display bitmaps on top of the map using {@link Marker} and {@link MarkerView}.
+ *
*
* @see Icon
*/
@@ -33,23 +34,23 @@ public final class IconFactory {
public static final Bitmap ICON_MARKERVIEW_BITMAP = Bitmap.createBitmap(1, 1, Bitmap.Config.ALPHA_8);
public static final String ICON_MARKERVIEW_ID = ICON_ID_PREFIX + "marker_view";
- private Context mContext;
- private static IconFactory sInstance;
- private Icon mDefaultMarker;
- private Icon mDefaultMarkerView;
- private BitmapFactory.Options mOptions;
+ private Context context;
+ private static IconFactory instance;
+ private Icon defaultMarker;
+ private Icon defaultMarkerView;
+ private BitmapFactory.Options options;
- private int mNextId = 0;
+ private int nextId = 0;
public static synchronized IconFactory getInstance(@NonNull Context context) {
- if (sInstance == null) {
- sInstance = new IconFactory(context.getApplicationContext());
+ if (instance == null) {
+ instance = new IconFactory(context.getApplicationContext());
}
- return sInstance;
+ return instance;
}
private IconFactory(@NonNull Context context) {
- mContext = context;
+ this.context = context;
DisplayMetrics realMetrics = null;
DisplayMetrics metrics = new DisplayMetrics();
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
@@ -60,12 +61,12 @@ public final class IconFactory {
}
wm.getDefaultDisplay().getMetrics(metrics);
- mOptions = new BitmapFactory.Options();
- mOptions.inScaled = true;
- mOptions.inDensity = DisplayMetrics.DENSITY_DEFAULT;
- mOptions.inTargetDensity = metrics.densityDpi;
+ options = new BitmapFactory.Options();
+ options.inScaled = true;
+ options.inDensity = DisplayMetrics.DENSITY_DEFAULT;
+ options.inTargetDensity = metrics.densityDpi;
if (realMetrics != null) {
- mOptions.inScreenDensity = realMetrics.densityDpi;
+ options.inScreenDensity = realMetrics.densityDpi;
}
}
@@ -76,48 +77,13 @@ public final class IconFactory {
* @return The {@link Icon} using the given Bitmap image.
*/
public Icon fromBitmap(@NonNull Bitmap bitmap) {
- if (mNextId < 0) {
+ if (nextId < 0) {
throw new TooManyIconsException();
}
- String id = ICON_ID_PREFIX + ++mNextId;
+ String id = ICON_ID_PREFIX + ++nextId;
return new Icon(id, bitmap);
}
- /**
- * Create an {@link Icon} from a given {@link Drawable}.
- *
- * @param drawable A {@link Drawable} object used for creating the {@link Icon}.
- * @return {@link Icon} with the provided {@link Drawable}.
- */
- public Icon fromDrawable(@NonNull Drawable drawable) {
- int width = drawable.getIntrinsicWidth();
- int height = drawable.getIntrinsicHeight();
- return fromDrawable(drawable, width, height);
- }
-
- /**
- * Create an {@link Icon} from a given {@link Drawable}.
- *
- * @param drawable A {@link Drawable} object used for creating the {@link Icon}.
- * @param width An integer greater then zero defining the {@link Icon} width.
- * @param height An integer greater then zero defining the {@link Icon} height.
- * @return {@link Icon} with the provided {@link Drawable}.
- */
- public Icon fromDrawable(@NonNull Drawable drawable, int width, int height) {
- if ((width < 0) || (height < 0)) {
- return null;
- }
-
- Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
- Canvas canvas = new Canvas(bitmap);
- Rect temp = drawable.getBounds();
- Rect bounds = new Rect(0, 0, width, height);
- drawable.setBounds(bounds);
- drawable.draw(canvas);
- drawable.setBounds(temp);
- return fromBitmap(bitmap);
- }
-
/**
* Create an {@link Icon} using the resource ID of a Bitmap image.
*
@@ -125,24 +91,13 @@ public final class IconFactory {
* @return The {@link Icon} that was loaded from the asset or {@code null} if failed to load.
*/
public Icon fromResource(@DrawableRes int resourceId) {
- Drawable drawable = ContextCompat.getDrawable(mContext, resourceId);
- Bitmap bitmap;
+ Drawable drawable = ContextCompat.getDrawable(context, resourceId);
if (drawable instanceof BitmapDrawable) {
BitmapDrawable bitmapDrawable = (BitmapDrawable) drawable;
- bitmap = bitmapDrawable.getBitmap();
+ return fromBitmap(bitmapDrawable.getBitmap());
} else {
- if (drawable.getIntrinsicWidth() <= 0 || drawable.getIntrinsicHeight() <= 0) {
- bitmap = Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888);
- } else {
- bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(),
- Bitmap.Config.ARGB_8888);
- }
-
- Canvas canvas = new Canvas(bitmap);
- drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
- drawable.draw(canvas);
+ throw new IllegalArgumentException("Failed to decode image. The resource provided must be a Bitmap.");
}
- return fromBitmap(bitmap);
}
/**
@@ -151,10 +106,10 @@ public final class IconFactory {
* @return An {@link Icon} with the default {@link Marker} icon.
*/
public Icon defaultMarker() {
- if (mDefaultMarker == null) {
- mDefaultMarker = fromResource(R.drawable.mapbox_marker_icon_default);
+ if (defaultMarker == null) {
+ defaultMarker = fromResource(R.drawable.mapbox_marker_icon_default);
}
- return mDefaultMarker;
+ return defaultMarker;
}
/**
@@ -163,14 +118,14 @@ public final class IconFactory {
* @return An {@link Icon} with the default {@link MarkerView} icon.
*/
public Icon defaultMarkerView() {
- if (mDefaultMarkerView == null) {
- mDefaultMarkerView = fromResource(R.drawable.mapbox_markerview_icon_default);
+ if (defaultMarkerView == null) {
+ defaultMarkerView = fromResource(R.drawable.mapbox_markerview_icon_default);
}
- return mDefaultMarkerView;
+ return defaultMarkerView;
}
private Icon fromInputStream(@NonNull InputStream is) {
- Bitmap bitmap = BitmapFactory.decodeStream(is, null, mOptions);
+ Bitmap bitmap = BitmapFactory.decodeStream(is, null, options);
return fromBitmap(bitmap);
}
@@ -183,7 +138,7 @@ public final class IconFactory {
public Icon fromAsset(@NonNull String assetName) {
InputStream is;
try {
- is = mContext.getAssets().open(assetName);
+ is = context.getAssets().open(assetName);
} catch (IOException ioException) {
return null;
}
@@ -198,7 +153,7 @@ public final class IconFactory {
* load.
*/
public Icon fromPath(@NonNull String absolutePath) {
- Bitmap bitmap = BitmapFactory.decodeFile(absolutePath, mOptions);
+ Bitmap bitmap = BitmapFactory.decodeFile(absolutePath, options);
return fromBitmap(bitmap);
}
@@ -209,12 +164,12 @@ public final class IconFactory {
* @param fileName The name of the Bitmap image file.
* @return The {@link Icon} that was loaded from the asset or {@code null} if failed to load.
* @see
- * Using the Internal Storage
+ * Using the Internal Storage
*/
public Icon fromFile(@NonNull String fileName) {
FileInputStream is;
try {
- is = mContext.openFileInput(fileName);
+ is = context.openFileInput(fileName);
} catch (FileNotFoundException fileNotFoundException) {
return null;
}
@@ -232,4 +187,5 @@ public final class IconFactory {
public static Icon recreate(@NonNull String iconId, @NonNull Bitmap bitmap) {
return new Icon(iconId, bitmap);
}
+
}
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/AddRemoveMarkerActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/AddRemoveMarkerActivity.java
index 883ffa2b9..c9c0c105f 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/AddRemoveMarkerActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/AddRemoveMarkerActivity.java
@@ -1,10 +1,10 @@
package com.mapbox.mapboxsdk.testapp.activity.annotation;
import android.os.Bundle;
+import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import com.mapbox.mapboxsdk.annotations.Icon;
-import com.mapbox.mapboxsdk.annotations.IconFactory;
import com.mapbox.mapboxsdk.annotations.Marker;
import com.mapbox.mapboxsdk.annotations.MarkerOptions;
import com.mapbox.mapboxsdk.camera.CameraPosition;
@@ -14,6 +14,7 @@ import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
import com.mapbox.mapboxsdk.testapp.R;
+import com.mapbox.mapboxsdk.testapp.utils.IconUtils;
import timber.log.Timber;
@@ -36,15 +37,20 @@ public class AddRemoveMarkerActivity extends AppCompatActivity {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_remove_marker);
- final Icon icon1 = IconFactory.getInstance(this).fromResource(R.drawable.ic_arsenal);
- final Icon icon2 = IconFactory.getInstance(this).fromResource(R.drawable.ic_chelsea);
+ // ShapeDrawable to Icon
+ final Icon shapeDrawableIcon = IconUtils.drawableToIcon(this, R.drawable.ic_circle,
+ ContextCompat.getColor(this, R.color.redAccent));
+
+ // VectorDrawable to Icon
+ final Icon vectorDrawableIcon = IconUtils.drawableToIcon(this, R.drawable.ic_layers,
+ ContextCompat.getColor(this, R.color.blueAccent));
lowThresholdMarker = new MarkerOptions()
- .icon(icon1)
+ .icon(shapeDrawableIcon)
.position(new LatLng(-0.1, 0));
highThresholdMarker = new MarkerOptions()
- .icon(icon2)
+ .icon(vectorDrawableIcon)
.position(new LatLng(0.1, 0));
mapView = (MapView) findViewById(R.id.mapView);
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/AnimatedMarkerActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/AnimatedMarkerActivity.java
index 8df7085ed..5501a8324 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/AnimatedMarkerActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/AnimatedMarkerActivity.java
@@ -8,7 +8,9 @@ import android.animation.ValueAnimator;
import android.os.Bundle;
import android.support.annotation.DrawableRes;
import android.support.annotation.NonNull;
+import android.support.v4.content.res.ResourcesCompat;
import android.support.v7.app.AppCompatActivity;
+import android.view.View;
import android.view.animation.AccelerateDecelerateInterpolator;
import com.mapbox.mapboxsdk.annotations.Icon;
@@ -24,9 +26,12 @@ import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
import com.mapbox.mapboxsdk.testapp.R;
+import com.mapbox.mapboxsdk.testapp.utils.IconUtils;
import com.mapbox.services.commons.models.Position;
import com.mapbox.services.api.utils.turf.TurfMeasurement;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Random;
public class AnimatedMarkerActivity extends AppCompatActivity {
@@ -41,6 +46,9 @@ public class AnimatedMarkerActivity extends AppCompatActivity {
private Runnable animationRunnable;
+ private List markerViews = new ArrayList<>();
+ private boolean stopped;
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -79,11 +87,15 @@ public class AnimatedMarkerActivity extends AppCompatActivity {
}
private void addPassenger() {
+ if (isActivityStopped()) {
+ return;
+ }
+
LatLng randomLatLng = getLatLngInBounds();
if (passengerMarker == null) {
- Icon icon = IconFactory.getInstance(AnimatedMarkerActivity.this)
- .fromResource(R.drawable.ic_directions_run_black_24dp);
+ Icon icon = IconUtils.drawableToIcon(this, R.drawable.ic_directions_run_black,
+ ResourcesCompat.getColor(getResources(), R.color.blueAccent, getTheme()));
passengerMarker = mapboxMap.addMarker(new MarkerViewOptions()
.position(randomLatLng)
.icon(icon));
@@ -93,6 +105,10 @@ public class AnimatedMarkerActivity extends AppCompatActivity {
}
private void addMainCar() {
+ if (isActivityStopped()) {
+ return;
+ }
+
LatLng randomLatLng = getLatLngInBounds();
if (carMarker == null) {
@@ -105,13 +121,17 @@ public class AnimatedMarkerActivity extends AppCompatActivity {
animateMoveToPassenger(carMarker);
}
});
-
+ markerViews.add(carMarker);
} else {
carMarker.setPosition(randomLatLng);
}
}
private void animateMoveToPassenger(final MarkerView car) {
+ if (isActivityStopped()) {
+ return;
+ }
+
ValueAnimator animator = animateMoveMarker(car, passengerMarker.getPosition());
animator.addListener(new AnimatorListenerAdapter() {
@Override
@@ -123,15 +143,20 @@ public class AnimatedMarkerActivity extends AppCompatActivity {
}
protected void addRandomCar() {
- createCarMarker(getLatLngInBounds(), R.drawable.ic_car_top, new MarkerViewManager.OnMarkerViewAddedListener() {
- @Override
- public void onViewAdded(@NonNull MarkerView markerView) {
- randomlyMoveMarker(markerView);
- }
- });
+ markerViews.add(createCarMarker(getLatLngInBounds(), R.drawable.ic_car_top,
+ new MarkerViewManager.OnMarkerViewAddedListener() {
+ @Override
+ public void onViewAdded(@NonNull MarkerView markerView) {
+ randomlyMoveMarker(markerView);
+ }
+ }));
}
private void randomlyMoveMarker(final MarkerView marker) {
+ if (isActivityStopped()) {
+ return;
+ }
+
ValueAnimator animator = animateMoveMarker(marker, getLatLngInBounds());
// Add listener to restart animation on end
@@ -205,6 +230,19 @@ public class AnimatedMarkerActivity extends AppCompatActivity {
@Override
protected void onStop() {
super.onStop();
+
+ stopped = true;
+
+ // Stop ongoing animations, prevent memory lekas
+ MarkerViewManager markerViewManager = mapboxMap.getMarkerViewManager();
+ for (MarkerView markerView : markerViews) {
+ View view = markerViewManager.getView(markerView);
+ if (view != null) {
+ view.animate().cancel();
+ }
+ }
+
+ // onStop
mapView.onStop();
mapView.removeCallbacks(animationRunnable);
}
@@ -250,4 +288,8 @@ public class AnimatedMarkerActivity extends AppCompatActivity {
Position.fromCoordinates(to.getLongitude(), to.getLatitude())
);
}
+
+ private boolean isActivityStopped() {
+ return stopped;
+ }
}
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/BulkMarkerActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/BulkMarkerActivity.java
index bd5d836ca..e1e49de95 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/BulkMarkerActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/BulkMarkerActivity.java
@@ -3,12 +3,9 @@ package com.mapbox.mapboxsdk.testapp.activity.annotation;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.app.ProgressDialog;
-import android.graphics.PorterDuff;
-import android.graphics.drawable.Drawable;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.annotation.NonNull;
-import android.support.v4.content.ContextCompat;
import android.support.v4.content.res.ResourcesCompat;
import android.support.v4.view.MenuItemCompat;
import android.support.v7.app.AppCompatActivity;
@@ -22,7 +19,6 @@ import android.widget.TextView;
import android.widget.Toast;
import com.mapbox.mapboxsdk.annotations.Icon;
-import com.mapbox.mapboxsdk.annotations.IconFactory;
import com.mapbox.mapboxsdk.annotations.Marker;
import com.mapbox.mapboxsdk.annotations.MarkerOptions;
import com.mapbox.mapboxsdk.annotations.MarkerViewOptions;
@@ -32,6 +28,7 @@ import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
import com.mapbox.mapboxsdk.testapp.R;
import com.mapbox.mapboxsdk.testapp.utils.GeoParseUtil;
+import com.mapbox.mapboxsdk.testapp.utils.IconUtils;
import org.json.JSONException;
@@ -39,6 +36,7 @@ import java.io.IOException;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;
+import java.util.Locale;
import java.util.Random;
import timber.log.Timber;
@@ -117,11 +115,8 @@ public class BulkMarkerActivity extends AppCompatActivity implements AdapterView
Random random = new Random();
int randomIndex;
- Drawable drawable = ContextCompat.getDrawable(BulkMarkerActivity.this, R.drawable.ic_droppin_24dp);
-
- int redColor = ResourcesCompat.getColor(getResources(), android.R.color.holo_red_dark, getTheme());
- drawable.setColorFilter(redColor, PorterDuff.Mode.SRC_IN);
- Icon icon = IconFactory.getInstance(this).fromDrawable(drawable);
+ int color = ResourcesCompat.getColor(getResources(), R.color.redAccent, getTheme());
+ Icon icon = IconUtils.drawableToIcon(this, R.drawable.ic_droppin, color);
List markerOptionsList = new ArrayList<>();
for (int i = 0; i < amount; i++) {
@@ -203,6 +198,9 @@ public class BulkMarkerActivity extends AppCompatActivity implements AdapterView
}
private class FabClickListener implements View.OnClickListener {
+
+ private TextView viewCountView;
+
@Override
public void onClick(final View view) {
if (mapboxMap != null) {
@@ -225,13 +223,15 @@ public class BulkMarkerActivity extends AppCompatActivity implements AdapterView
showMarkers(amount);
}
+ viewCountView = (TextView) findViewById(R.id.countView);
+
mapView.addOnMapChangedListener(new MapView.OnMapChangedListener() {
@Override
public void onMapChanged(@MapView.MapChange int change) {
if (change == MapView.REGION_IS_CHANGING || change == MapView.REGION_DID_CHANGE) {
if (!mapboxMap.getMarkerViewManager().getMarkerViewAdapters().isEmpty()) {
- TextView viewCountView = (TextView) findViewById(R.id.countView);
- viewCountView.setText("ViewCache size " + (mapView.getChildCount() - 5));
+ viewCountView.setText(String.format(Locale.getDefault(), "ViewCache size %d",
+ mapboxMap.getMarkerViewManager().getMarkerViewContainer().getChildCount()));
}
}
}
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/DynamicMarkerChangeActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/DynamicMarkerChangeActivity.java
index a6820312d..85e7aeede 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/DynamicMarkerChangeActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/DynamicMarkerChangeActivity.java
@@ -4,10 +4,10 @@ import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.design.widget.FloatingActionButton;
import android.support.v4.content.ContextCompat;
+import android.support.v4.content.res.ResourcesCompat;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
-import com.mapbox.mapboxsdk.annotations.IconFactory;
import com.mapbox.mapboxsdk.annotations.Marker;
import com.mapbox.mapboxsdk.annotations.MarkerOptions;
import com.mapbox.mapboxsdk.geometry.LatLng;
@@ -15,6 +15,7 @@ import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
import com.mapbox.mapboxsdk.testapp.R;
+import com.mapbox.mapboxsdk.testapp.utils.IconUtils;
public class DynamicMarkerChangeActivity extends AppCompatActivity {
@@ -23,7 +24,6 @@ public class DynamicMarkerChangeActivity extends AppCompatActivity {
private MapView mapView;
private MapboxMap mapboxMap;
- private IconFactory iconFactory;
private Marker marker;
@Override
@@ -31,8 +31,6 @@ public class DynamicMarkerChangeActivity extends AppCompatActivity {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dynamic_marker);
- iconFactory = IconFactory.getInstance(this);
-
mapView = (MapView) findViewById(R.id.mapView);
mapView.setTag(false);
mapView.onCreate(savedInstanceState);
@@ -43,7 +41,8 @@ public class DynamicMarkerChangeActivity extends AppCompatActivity {
// Create marker
MarkerOptions markerOptions = new MarkerOptions()
.position(LAT_LNG_CHELSEA)
- .icon(iconFactory.fromResource(R.drawable.ic_chelsea))
+ .icon(IconUtils.drawableToIcon(DynamicMarkerChangeActivity.this, R.drawable.ic_stars,
+ ResourcesCompat.getColor(getResources(), R.color.blueAccent, getTheme())))
.title(getString(R.string.dynamic_marker_chelsea_title))
.snippet(getString(R.string.dynamic_marker_chelsea_snippet));
marker = mapboxMap.addMarker(markerOptions);
@@ -69,7 +68,11 @@ public class DynamicMarkerChangeActivity extends AppCompatActivity {
// update marker
marker.setPosition(first ? LAT_LNG_CHELSEA : LAT_LNG_ARSENAL);
- marker.setIcon(iconFactory.fromResource(first ? R.drawable.ic_chelsea : R.drawable.ic_arsenal));
+ marker.setIcon(IconUtils.drawableToIcon(this, R.drawable.ic_stars, first
+ ? ResourcesCompat.getColor(getResources(), R.color.blueAccent, getTheme()) :
+ ResourcesCompat.getColor(getResources(), R.color.redAccent, getTheme())
+ ));
+
marker.setTitle(first
? getString(R.string.dynamic_marker_chelsea_title) : getString(R.string.dynamic_marker_arsenal_title));
marker.setSnippet(first
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/MarkerViewActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/MarkerViewActivity.java
index 6e02284e2..ee8eb52cd 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/MarkerViewActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/MarkerViewActivity.java
@@ -156,13 +156,13 @@ public class MarkerViewActivity extends AppCompatActivity {
movingMarkerOne = MarkerViewActivity.this.mapboxMap.addMarker(new MarkerViewOptions()
.position(CarLocation.CAR_0_LNGS[0])
.icon(IconFactory.getInstance(mapView.getContext())
- .fromResource(R.drawable.ic_chelsea))
+ .fromResource(R.drawable.ic_android))
);
movingMarkerTwo = mapboxMap.addMarker(new MarkerViewOptions()
.position(CarLocation.CAR_1_LNGS[0])
.icon(IconFactory.getInstance(mapView.getContext())
- .fromResource(R.drawable.ic_arsenal))
+ .fromResource(R.drawable.ic_android_2))
);
// allow more open infowindows at the same time
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/customlayer/CustomLayerActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/customlayer/CustomLayerActivity.java
index 3fbb25805..d410c349f 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/customlayer/CustomLayerActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/customlayer/CustomLayerActivity.java
@@ -64,7 +64,7 @@ public class CustomLayerActivity extends AppCompatActivity {
} catch (NoSuchLayerException noSuchLayerException) {
Timber.e("No custom layer to remove");
}
- fab.setImageResource(R.drawable.ic_layers_24dp);
+ fab.setImageResource(R.drawable.ic_layers);
} else {
customLayer = new CustomLayer("custom",
ExampleCustomLayer.createContext(),
@@ -72,7 +72,7 @@ public class CustomLayerActivity extends AppCompatActivity {
ExampleCustomLayer.RenderFunction,
ExampleCustomLayer.DeinitializeFunction);
mapboxMap.addLayer(customLayer, "building");
- fab.setImageResource(R.drawable.ic_layers_clear_24dp);
+ fab.setImageResource(R.drawable.ic_layers_clear);
}
}
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/infowindow/DynamicInfoWindowAdapterActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/infowindow/DynamicInfoWindowAdapterActivity.java
index 5da7a3047..df6d24900 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/infowindow/DynamicInfoWindowAdapterActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/infowindow/DynamicInfoWindowAdapterActivity.java
@@ -1,17 +1,14 @@
package com.mapbox.mapboxsdk.testapp.activity.infowindow;
import android.graphics.Color;
-import android.graphics.PorterDuff;
-import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
-import android.support.v4.content.ContextCompat;
+import android.support.v4.content.res.ResourcesCompat;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;
-import com.mapbox.mapboxsdk.annotations.IconFactory;
import com.mapbox.mapboxsdk.annotations.InfoWindow;
import com.mapbox.mapboxsdk.annotations.Marker;
import com.mapbox.mapboxsdk.annotations.MarkerView;
@@ -22,6 +19,7 @@ import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
import com.mapbox.mapboxsdk.testapp.R;
+import com.mapbox.mapboxsdk.testapp.utils.IconUtils;
/**
* Shows how to dynamically update InfoWindow when Using an MapboxMap.InfoWindowAdapter
@@ -84,18 +82,12 @@ public class DynamicInfoWindowAdapterActivity extends AppCompatActivity implemen
}
private MarkerView addMarker(MapboxMap mapboxMap) {
- IconFactory iconFactory = IconFactory.getInstance(this);
- Drawable iconDrawable = ContextCompat.getDrawable(this, R.drawable.ic_location_city_24dp);
- iconDrawable.setColorFilter(
- ContextCompat.getColor(DynamicInfoWindowAdapterActivity.this, R.color.mapbox_blue),
- PorterDuff.Mode.SRC_IN
- );
-
return mapboxMap.addMarker(
new MarkerViewOptions()
.position(paris)
- .icon(iconFactory.fromDrawable(iconDrawable))
- );
+ .icon(IconUtils.drawableToIcon(this, R.drawable.ic_location_city,
+ ResourcesCompat.getColor(getResources(),R.color.mapbox_blue, getTheme()))
+ ));
}
private void addCustomInfoWindowAdapter(final MapboxMap mapboxMap) {
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/infowindow/InfoWindowAdapterActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/infowindow/InfoWindowAdapterActivity.java
index f6a07c131..7026a797d 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/infowindow/InfoWindowAdapterActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/infowindow/InfoWindowAdapterActivity.java
@@ -1,17 +1,13 @@
package com.mapbox.mapboxsdk.testapp.activity.infowindow;
import android.graphics.Color;
-import android.graphics.PorterDuff;
-import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.annotation.NonNull;
-import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;
import com.mapbox.mapboxsdk.annotations.Icon;
-import com.mapbox.mapboxsdk.annotations.IconFactory;
import com.mapbox.mapboxsdk.annotations.Marker;
import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.maps.MapView;
@@ -20,22 +16,18 @@ import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
import com.mapbox.mapboxsdk.testapp.R;
import com.mapbox.mapboxsdk.testapp.model.annotations.CityStateMarker;
import com.mapbox.mapboxsdk.testapp.model.annotations.CityStateMarkerOptions;
+import com.mapbox.mapboxsdk.testapp.utils.IconUtils;
public class InfoWindowAdapterActivity extends AppCompatActivity {
private MapView mapView;
private MapboxMap mapboxMap;
- private IconFactory iconFactory;
- private Drawable iconDrawable;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_infowindow_adapter);
- iconFactory = IconFactory.getInstance(this);
- iconDrawable = ContextCompat.getDrawable(this, R.drawable.ic_location_city_24dp);
-
mapView = (MapView) findViewById(R.id.mapView);
mapView.onCreate(savedInstanceState);
mapView.getMapAsync(new OnMapReadyCallback() {
@@ -63,8 +55,7 @@ public class InfoWindowAdapterActivity extends AppCompatActivity {
marker.position(new LatLng(lat, lng));
marker.infoWindowBackground(color);
- iconDrawable.setColorFilter(Color.parseColor(color), PorterDuff.Mode.SRC_IN);
- Icon icon = iconFactory.fromDrawable(iconDrawable);
+ Icon icon = IconUtils.drawableToIcon(this, R.drawable.ic_location_city, Color.parseColor(color));
marker.icon(icon);
return marker;
}
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/NavigationDrawerActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/NavigationDrawerActivity.java
index 7f59dd3bd..888482b21 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/NavigationDrawerActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/NavigationDrawerActivity.java
@@ -148,8 +148,8 @@ public class NavigationDrawerActivity extends AppCompatActivity {
android.R.layout.simple_list_item_activated_1,
android.R.id.text1,
new String[] {
- getString(R.string.title_section1),
- getString(R.string.title_section2)
+ "Different style",
+ "Show snackbar"
}));
drawerListView.setItemChecked(currentSelectedPosition, true);
return drawerListView;
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/CustomSpriteActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/CustomSpriteActivity.java
index bcf2fd822..fa5ddb380 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/CustomSpriteActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/CustomSpriteActivity.java
@@ -79,7 +79,7 @@ public class CustomSpriteActivity extends AppCompatActivity {
// lets add a circle below labels!
mapboxMap.addLayer(layer, "waterway-label");
- fab.setImageResource(R.drawable.ic_directions_car_black_24dp);
+ fab.setImageResource(R.drawable.ic_directions_car_black);
} else {
// Update point
point = Point.fromCoordinates(
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/userlocation/MyLocationDrawableActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/userlocation/MyLocationDrawableActivity.java
index c15e3b605..c02ddd8c1 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/userlocation/MyLocationDrawableActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/userlocation/MyLocationDrawableActivity.java
@@ -42,8 +42,8 @@ public class MyLocationDrawableActivity extends AppCompatActivity implements Loc
mapboxMapOptions.styleUrl(Style.MAPBOX_STREETS);
// configure MyLocationView drawables
- mapboxMapOptions.myLocationForegroundDrawable(ContextCompat.getDrawable(this, R.drawable.ic_chelsea));
- mapboxMapOptions.myLocationBackgroundDrawable(ContextCompat.getDrawable(this, R.drawable.ic_arsenal));
+ mapboxMapOptions.myLocationForegroundDrawable(ContextCompat.getDrawable(this, R.drawable.ic_android));
+ mapboxMapOptions.myLocationBackgroundDrawable(ContextCompat.getDrawable(this, R.drawable.ic_android));
mapboxMapOptions.myLocationForegroundTintColor(Color.GREEN);
mapboxMapOptions.myLocationBackgroundTintColor(Color.YELLOW);
mapboxMapOptions.myLocationBackgroundPadding(new int[] {0, 0,
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/userlocation/MyLocationToggleActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/userlocation/MyLocationToggleActivity.java
index 8bf40e3cf..9e98d8c6b 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/userlocation/MyLocationToggleActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/userlocation/MyLocationToggleActivity.java
@@ -150,9 +150,9 @@ public class MyLocationToggleActivity extends AppCompatActivity {
};
locationServices.addLocationEngineListener(locationListener);
}
- locationToggleFab.setImageResource(R.drawable.ic_location_disabled_24dp);
+ locationToggleFab.setImageResource(R.drawable.ic_location_disabled);
} else {
- locationToggleFab.setImageResource(R.drawable.ic_my_location_24dp);
+ locationToggleFab.setImageResource(R.drawable.ic_my_location);
}
mapboxMap.setMyLocationEnabled(enabled);
}
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/model/other/OfflineDownloadRegionDialog.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/model/other/OfflineDownloadRegionDialog.java
index b70144123..c4aa93413 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/model/other/OfflineDownloadRegionDialog.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/model/other/OfflineDownloadRegionDialog.java
@@ -37,7 +37,7 @@ public class OfflineDownloadRegionDialog extends DialogFragment {
final EditText regionNameEdit = new EditText(getActivity());
builder.setTitle("Choose a name for the region")
- .setIcon(R.drawable.ic_airplanemode_active_black_24dp)
+ .setIcon(R.drawable.ic_airplanemode_active_black)
.setView(regionNameEdit)
.setPositiveButton("Start", new DialogInterface.OnClickListener() {
@Override
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/model/other/OfflineListRegionsDialog.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/model/other/OfflineListRegionsDialog.java
index 65c4102a8..f717daead 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/model/other/OfflineListRegionsDialog.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/model/other/OfflineListRegionsDialog.java
@@ -28,7 +28,7 @@ public class OfflineListRegionsDialog extends DialogFragment {
CharSequence[] items = offlineRegionsNames.toArray(new CharSequence[offlineRegionsNames.size()]);
builder.setTitle("List of offline regions")
- .setIcon(R.drawable.ic_airplanemode_active_black_24dp)
+ .setIcon(R.drawable.ic_airplanemode_active_black)
.setItems(items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/utils/IconUtils.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/utils/IconUtils.java
new file mode 100644
index 000000000..b6768a91a
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/utils/IconUtils.java
@@ -0,0 +1,31 @@
+package com.mapbox.mapboxsdk.testapp.utils;
+
+import android.content.Context;
+import android.graphics.Bitmap;
+import android.graphics.Canvas;
+import android.graphics.drawable.Drawable;
+import android.support.annotation.ColorInt;
+import android.support.annotation.DrawableRes;
+import android.support.annotation.NonNull;
+import android.support.v4.content.res.ResourcesCompat;
+import android.support.v4.graphics.drawable.DrawableCompat;
+
+import com.mapbox.mapboxsdk.annotations.Icon;
+import com.mapbox.mapboxsdk.annotations.IconFactory;
+
+public class IconUtils {
+
+ /**
+ * Demonstrates converting any Drawable to an Icon, for use as a marker icon.
+ */
+ public static Icon drawableToIcon(@NonNull Context context, @DrawableRes int id, @ColorInt int colorRes) {
+ Drawable vectorDrawable = ResourcesCompat.getDrawable(context.getResources(), id, context.getTheme());
+ Bitmap bitmap = Bitmap.createBitmap(vectorDrawable.getIntrinsicWidth(),
+ vectorDrawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);
+ Canvas canvas = new Canvas(bitmap);
+ vectorDrawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
+ DrawableCompat.setTint(vectorDrawable, colorRes);
+ vectorDrawable.draw(canvas);
+ return IconFactory.getInstance(context).fromBitmap(bitmap);
+ }
+}
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/anim/pulse.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/anim/pulse.xml
deleted file mode 100644
index 92440b6b9..000000000
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/anim/pulse.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/animator/rotate_360.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/animator/rotate_360.xml
deleted file mode 100644
index 5bfa6ad72..000000000
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/animator/rotate_360.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/ic_android.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/ic_android.png
new file mode 100644
index 000000000..a20277dc1
Binary files /dev/null and b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/ic_android.png differ
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/ic_android_2.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/ic_android_2.png
new file mode 100644
index 000000000..d1c802c26
Binary files /dev/null and b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/ic_android_2.png differ
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/ic_drawer.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/ic_drawer.png
deleted file mode 100644
index c59f601ca..000000000
Binary files a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/ic_drawer.png and /dev/null differ
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/ic_android.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/ic_android.png
new file mode 100644
index 000000000..114bb2519
Binary files /dev/null and b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/ic_android.png differ
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/ic_android_2.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/ic_android_2.png
new file mode 100644
index 000000000..62867cdca
Binary files /dev/null and b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/ic_android_2.png differ
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/ic_drawer.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/ic_drawer.png
deleted file mode 100644
index 1ed2c56ee..000000000
Binary files a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/ic_drawer.png and /dev/null differ
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/ic_android.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/ic_android.png
new file mode 100644
index 000000000..e80400c4d
Binary files /dev/null and b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/ic_android.png differ
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/ic_android_2.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/ic_android_2.png
new file mode 100644
index 000000000..1b34d0984
Binary files /dev/null and b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/ic_android_2.png differ
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/ic_drawer.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/ic_drawer.png
deleted file mode 100644
index a5fa74def..000000000
Binary files a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/ic_drawer.png and /dev/null differ
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/ic_android.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/ic_android.png
new file mode 100644
index 000000000..19be40bf8
Binary files /dev/null and b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/ic_android.png differ
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/ic_android_2.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/ic_android_2.png
new file mode 100644
index 000000000..b44cec791
Binary files /dev/null and b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/ic_android_2.png differ
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/ic_arsenal.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/ic_arsenal.png
deleted file mode 100644
index 6fdac4ef0..000000000
Binary files a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/ic_arsenal.png and /dev/null differ
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/ic_chelsea.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/ic_chelsea.png
deleted file mode 100644
index 6cd376b28..000000000
Binary files a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/ic_chelsea.png and /dev/null differ
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/ic_drawer.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/ic_drawer.png
deleted file mode 100644
index 9c4685d6e..000000000
Binary files a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/ic_drawer.png and /dev/null differ
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/ic_android.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/ic_android.png
new file mode 100644
index 000000000..c2c437397
Binary files /dev/null and b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/ic_android.png differ
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/ic_android_2.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/ic_android_2.png
new file mode 100644
index 000000000..b735fda69
Binary files /dev/null and b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/ic_android_2.png differ
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/ic_taxi_top_small.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/ic_taxi_top_small.png
deleted file mode 100644
index e04c19916..000000000
Binary files a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/ic_taxi_top_small.png and /dev/null differ
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_add_24dp.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_add.xml
similarity index 100%
rename from platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_add_24dp.xml
rename to platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_add.xml
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_add_a_photo_black_24dp.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_add_a_photo_black.xml
similarity index 100%
rename from platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_add_a_photo_black_24dp.xml
rename to platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_add_a_photo_black.xml
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_airplanemode_active_black_24dp.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_airplanemode_active_black.xml
similarity index 100%
rename from platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_airplanemode_active_black_24dp.xml
rename to platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_airplanemode_active_black.xml
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_clear_24dp.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_clear_24dp.xml
deleted file mode 100644
index 1e2d044be..000000000
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_clear_24dp.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_delete_24dp.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_delete.xml
similarity index 100%
rename from platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_delete_24dp.xml
rename to platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_delete.xml
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_directions_bus_black_24dp.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_directions_bus_black.xml
similarity index 100%
rename from platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_directions_bus_black_24dp.xml
rename to platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_directions_bus_black.xml
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_directions_car_black_24dp.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_directions_car_black.xml
similarity index 100%
rename from platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_directions_car_black_24dp.xml
rename to platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_directions_car_black.xml
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_directions_run_black_24dp.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_directions_run_black.xml
similarity index 100%
rename from platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_directions_run_black_24dp.xml
rename to platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_directions_run_black.xml
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_droppin_24dp.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_droppin.xml
similarity index 100%
rename from platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_droppin_24dp.xml
rename to platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_droppin.xml
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_input_24dp.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_input.xml
similarity index 100%
rename from platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_input_24dp.xml
rename to platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_input.xml
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_layers_24dp.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_layers.xml
similarity index 100%
rename from platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_layers_24dp.xml
rename to platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_layers.xml
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_layers_clear_24dp.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_layers_clear.xml
similarity index 100%
rename from platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_layers_clear_24dp.xml
rename to platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_layers_clear.xml
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_location_city_24dp.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_location_city.xml
similarity index 100%
rename from platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_location_city_24dp.xml
rename to platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_location_city.xml
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_location_disabled_24dp.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_location_disabled.xml
similarity index 100%
rename from platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_location_disabled_24dp.xml
rename to platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_location_disabled.xml
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_my_location_24dp.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_my_location.xml
similarity index 100%
rename from platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_my_location_24dp.xml
rename to platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_my_location.xml
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_print_24dp.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_print.xml
similarity index 100%
rename from platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_print_24dp.xml
rename to platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_print.xml
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_refresh_24dp.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_refresh.xml
similarity index 100%
rename from platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_refresh_24dp.xml
rename to platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_refresh.xml
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_stars.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_stars.xml
new file mode 100644
index 000000000..61c5d7ace
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_stars.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/marker.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/marker.xml
new file mode 100644
index 000000000..71992ebd7
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/marker.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_add_sprite.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_add_sprite.xml
index 380c1ab8d..00dc67ebe 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_add_sprite.xml
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_add_sprite.xml
@@ -23,7 +23,7 @@
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_margin="@dimen/fab_margin"
- android:src="@drawable/ic_add_24dp"
+ android:src="@drawable/ic_add"
app:backgroundTint="@android:color/white"/>
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_camera_position.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_camera_position.xml
index 258680c78..341218c40 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_camera_position.xml
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_camera_position.xml
@@ -18,7 +18,7 @@
android:layout_height="wrap_content"
android:layout_gravity="end|bottom"
android:layout_margin="@dimen/fab_margin"
- android:src="@drawable/ic_input_24dp"
+ android:src="@drawable/ic_input"
app:backgroundTint="@android:color/white"/>
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_circle_layer.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_circle_layer.xml
index 4aecf36c7..8a21bef8a 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_circle_layer.xml
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_circle_layer.xml
@@ -30,7 +30,7 @@
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_margin="@dimen/fab_margin"
- android:src="@drawable/ic_directions_bus_black_24dp"
+ android:src="@drawable/ic_directions_bus_black"
app:backgroundTint="@android:color/white" />
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_circlelayer.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_circlelayer.xml
deleted file mode 100644
index faac95d83..000000000
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_circlelayer.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_custom_layer.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_custom_layer.xml
index 15e664925..800926f89 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_custom_layer.xml
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_custom_layer.xml
@@ -18,7 +18,7 @@
android:layout_height="wrap_content"
android:layout_gravity="end|bottom"
android:layout_margin="@dimen/fab_margin"
- android:src="@drawable/ic_layers_24dp"
+ android:src="@drawable/ic_layers"
app:backgroundTint="@android:color/white"/>
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_debug_mode.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_debug_mode.xml
index 4eec90f58..ffbf2e30a 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_debug_mode.xml
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_debug_mode.xml
@@ -19,7 +19,7 @@
android:layout_gravity="end|bottom"
android:layout_marginBottom="82dp"
android:layout_marginRight="@dimen/fab_margin"
- android:src="@drawable/ic_refresh_24dp"
+ android:src="@drawable/ic_refresh"
app:backgroundTint="@color/accent"
app:layout_anchorGravity="top"/>
@@ -29,7 +29,7 @@
android:layout_height="wrap_content"
android:layout_gravity="end|bottom"
android:layout_margin="@dimen/fab_margin"
- android:src="@drawable/ic_layers_24dp"
+ android:src="@drawable/ic_layers"
app:backgroundTint="@color/primary"/>
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_directions.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_directions.xml
deleted file mode 100644
index bc100b605..000000000
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_directions.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_geocoder.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_geocoder.xml
deleted file mode 100644
index d13d16a73..000000000
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_geocoder.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_infowindow_adapter_dynamic.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_infowindow_adapter_dynamic.xml
deleted file mode 100644
index 134c3f331..000000000
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_infowindow_adapter_dynamic.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_location_source.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_location_source.xml
deleted file mode 100644
index a1d7a8351..000000000
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_location_source.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_my_location_toggle.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_my_location_toggle.xml
index 74a181133..2ec35faf0 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_my_location_toggle.xml
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_my_location_toggle.xml
@@ -17,7 +17,7 @@
android:layout_height="wrap_content"
android:layout_gravity="end|bottom"
android:layout_margin="@dimen/fab_margin"
- android:src="@drawable/ic_my_location_24dp"
+ android:src="@drawable/ic_my_location"
tools:backgroundTint="@color/primary"/>
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_polyline.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_polyline.xml
index 51474d35f..3f8c384b3 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_polyline.xml
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_polyline.xml
@@ -24,7 +24,7 @@
android:layout_alignParentRight="true"
android:layout_gravity="end|bottom"
android:layout_margin="@dimen/fab_margin"
- android:src="@drawable/ic_add_24dp"
+ android:src="@drawable/ic_add"
app:backgroundTint="@android:color/white" />
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_print.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_print.xml
index 143f71478..3ff8caea7 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_print.xml
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_print.xml
@@ -17,7 +17,7 @@
android:layout_height="wrap_content"
android:layout_gravity="end|bottom"
android:layout_margin="@dimen/fab_margin"
- android:src="@drawable/ic_print_24dp"
+ android:src="@drawable/ic_print"
app:backgroundTint="@color/accent"/>
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_scroll_by.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_scroll_by.xml
index 46734ed82..bc2453396 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_scroll_by.xml
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_scroll_by.xml
@@ -91,7 +91,7 @@
android:layout_height="wrap_content"
android:layout_gravity="end|bottom"
android:layout_margin="@dimen/fab_margin"
- android:src="@drawable/ic_input_24dp"
+ android:src="@drawable/ic_input"
app:backgroundTint="@color/white" />
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_snapshot.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_snapshot.xml
index 67ee0cc0b..6b99711e8 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_snapshot.xml
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_snapshot.xml
@@ -34,7 +34,7 @@
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_margin="@dimen/fab_margin"
- android:src="@drawable/ic_add_a_photo_black_24dp"
+ android:src="@drawable/ic_add_a_photo_black"
app:backgroundTint="@android:color/white"/>
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_style_file.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_style_file.xml
index 69954db3c..b133f3d9a 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_style_file.xml
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_style_file.xml
@@ -22,7 +22,7 @@
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_margin="@dimen/fab_margin"
- android:src="@drawable/ic_add_24dp"
+ android:src="@drawable/ic_add"
app:backgroundTint="@android:color/white"/>
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_surfaceview_mediacontrols.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_surfaceview_mediacontrols.xml
deleted file mode 100644
index 364e86add..000000000
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_surfaceview_mediacontrols.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_video_view.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_video_view.xml
deleted file mode 100644
index 66e4065e5..000000000
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_video_view.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/view_pulse_marker.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/view_pulse_marker.xml
deleted file mode 100644
index 1bb913476..000000000
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/view_pulse_marker.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_main.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_main.xml
deleted file mode 100644
index 2c5178af0..000000000
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_main.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_polyline.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_polyline.xml
index 3dd109a7c..8549d6604 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_polyline.xml
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_polyline.xml
@@ -3,7 +3,7 @@
xmlns:mapbox="http://schemas.android.com/apk/res-auto">
-
-
- 25dp
-
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values-w820dp/dimens.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values-w820dp/dimens.xml
deleted file mode 100644
index 63fc81644..000000000
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values-w820dp/dimens.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
- 64dp
-
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/arrays.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/arrays.xml
new file mode 100644
index 000000000..94763342d
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/arrays.xml
@@ -0,0 +1,22 @@
+
+
+
+
- 10
+ - 100
+ - 500
+ - 1000
+ - 10000
+
+
+
+ - Disabled
+ - Follow tracking
+
+
+
+ - Disabled
+ - GPS bearing
+ - Compass bearing
+
+
+
\ No newline at end of file
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/colors.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/colors.xml
index cc13e9c7b..88524d44e 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/colors.xml
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/colors.xml
@@ -5,10 +5,6 @@
#E55E5E
#F9F9F9
#56B881
- #8a8acb
-
- #F5F5F5
- #DFDFDF
#D50000
#2962FF
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/dimens.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/dimens.xml
index 03727b7fb..402d42d48 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/dimens.xml
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/dimens.xml
@@ -2,19 +2,12 @@
24dp
16dp
- 8dp
10dp
32dp
96dp
256dp
32dp
0dp
- 4dp
2dp
- 350dp
-
- 16dp
- 16dp
240dp
- 0dp
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml
index aa3661637..2012a9259 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml
@@ -1,17 +1,11 @@
-
Mapbox Android SDK TestApp
-
- MapboxMap Activity
-
-
+
Support Map Fragment
Map Fragment
Multiple Maps on Screen
-
-
Add Markers In Bulk
Animated Markers
Dynamic Marker
@@ -20,22 +14,15 @@
Press Map For Marker
View Marker API
Add/Remove marker
-
-
Standard InfoWindow
Custom InfoWindow
Custom Dynamic InfoWindow
-
-
Animation Types
Zoom Methods
LatLngBounds Method
CameraPosition Method
Scroll By Method
-
-
Double Map Activity
- Back to map activity
Snapshot Activity
User tracking mode
User location drawable
@@ -66,7 +53,7 @@
Dialog with map
Marker views in rectangle
-
+
Tracks the location of the user
Customize the location of the user
Customize the user location color
@@ -81,7 +68,6 @@
Different types of zoom methods
Configure a max and min zoomlevel
Learn how to handle the InfoWindow
- InfoWindow example with multiple open
Add Markers In Bulk to a Map
Showcase the different animation types
Center the camera around a bounds
@@ -96,7 +82,6 @@
Scroll with pixels in x,y direction
Example to make a snapshot of the map
2 maps in a view hierarchy
- Restart map view after temporarily leaving to another activity
Use an Android SDK View as marker
Learn how to create a dynamic custom InfoWindow
Use SupportMapFragments in a ViewPager
@@ -119,12 +104,7 @@
Marker Views within a rectangle
Show bus stops and route in Singapore
- Concurrent Open InfoWindows
- Deselect Markers On Tap
- Dismiss location tracking on gesture
- Dismiss bearing tracking on gesture
- Reset
-
+
category
_Basic
Annotation
@@ -139,87 +119,43 @@
Styling
Features
- Center map around 2 markers
+
Remove polylines
-
Change visibility
Change alpha
Change points
Change color
Change width
+
+ Concurrent Open InfoWindows
+ Deselect Markers On Tap
+ Dismiss location tracking on gesture
+ Dismiss bearing tracking on gesture
+ Reset
+ Enable rotate gestures
+ Enable scroll gestures
+
+
Move
Ease
Animate
- Snapshot
Default
Tint dot
Tint ring
tran
Open dialog
-
- FPS:
-
- Mapbox Streets
- Emerald
- Light
- Dark
- Satellite
- Satellite Streets
-
-
- - Day
- - Night
-
-
-
- - 10
- - 100
- - 500
- - 1000
- - 10000
-
-
-
- - Disabled
- - Follow tracking
-
-
-
- - Disabled
- - GPS bearing
- - Compass bearing
-
-
-
- Zoom
-
- X: %1$d
- Y: %1$d
Download region
List regions
+
+ Open navigation drawer
+ Close navigation drawer
+ X: %1$d
+ Y: %1$d
Animate to new position
-
- Tap Map To Geocode Where Black Marker Is Currently Located
-
Chelsea
Stamford Bridge
Arsenal
Emirates Stadium
-
- Select Location!
-
- Different style
- Show Snackbar
-
- Open navigation drawer
- Close navigation drawer
-
- Example action
-
- Settings
- Enable rotate gestures
- Enable scroll gestures
-