diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMapOptions.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMapOptions.java index db46e7a16..4892c18ab 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMapOptions.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMapOptions.java @@ -211,8 +211,8 @@ public class MapboxMapOptions implements Parcelable { , (int) (typedArray.getDimension(R.styleable.mapbox_MapView_mapbox_uiAttributionMarginBottom, DIMENSION_SEVEN_DP * screenDensity))}); mapboxMapOptions.locationEnabled(typedArray.getBoolean(R.styleable.mapbox_MapView_mapbox_myLocation, false)); - mapboxMapOptions.myLocationForegroundTintColor(typedArray.getColor(R.styleable.mapbox_MapView_mapbox_myLocationTintColor, Color.TRANSPARENT)); - mapboxMapOptions.myLocationBackgroundTintColor(typedArray.getColor(R.styleable.mapbox_MapView_mapbox_myLocationBackgroundTintColor, Color.TRANSPARENT)); + mapboxMapOptions.myLocationForegroundTintColor(typedArray.getColor(R.styleable.mapbox_MapView_mapbox_myLocationTintColor, ColorUtils.getPrimaryColor(context))); + mapboxMapOptions.myLocationBackgroundTintColor(typedArray.getColor(R.styleable.mapbox_MapView_mapbox_myLocationBackgroundTintColor, Color.WHITE)); Drawable foregroundDrawable = typedArray.getDrawable(R.styleable.mapbox_MapView_mapbox_myLocationDrawable); if (foregroundDrawable == null) { diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationView.java index ca070a886..677b59bea 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationView.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationView.java @@ -173,13 +173,11 @@ public class MyLocationView extends View { } public final void setForegroundDrawableTint(@ColorInt int color) { - if (color != Color.TRANSPARENT) { - if (foregroundDrawable != null) { - foregroundDrawable.mutate().setColorFilter(color, PorterDuff.Mode.SRC_IN); - } - if (foregroundBearingDrawable != null) { - foregroundBearingDrawable.mutate().setColorFilter(color, PorterDuff.Mode.SRC_IN); - } + if (foregroundDrawable != null) { + foregroundDrawable.mutate().setColorFilter(color, PorterDuff.Mode.SRC_IN); + } + if (foregroundBearingDrawable != null) { + foregroundBearingDrawable.mutate().setColorFilter(color, PorterDuff.Mode.SRC_IN); } invalidate(); } @@ -202,12 +200,10 @@ public class MyLocationView extends View { } public final void setShadowDrawableTint(@ColorInt int color) { - if (color != Color.TRANSPARENT) { - if (backgroundDrawable == null) { - return; - } - backgroundDrawable.mutate().setColorFilter(color, PorterDuff.Mode.SRC_IN); + if (backgroundDrawable == null) { + return; } + backgroundDrawable.mutate().setColorFilter(color, PorterDuff.Mode.SRC_IN); invalidate(); } diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/userlocation/MyLocationTintActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/userlocation/MyLocationTintActivity.java index 0c77b60d9..d40747918 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/userlocation/MyLocationTintActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/userlocation/MyLocationTintActivity.java @@ -3,6 +3,7 @@ package com.mapbox.mapboxsdk.testapp.activity.userlocation; import android.Manifest; import android.app.Activity; import android.content.pm.PackageManager; +import android.graphics.Color; import android.location.Location; import android.os.Bundle; import android.support.annotation.IdRes; @@ -81,6 +82,7 @@ public class MyLocationTintActivity extends AppCompatActivity implements Locatio MyLocationTintActivity.this, R.color.mapbox_my_location_ring)); myLocationViewSettings.setForegroundTintColor(ContextCompat.getColor( MyLocationTintActivity.this, R.color.mapbox_blue)); + myLocationViewSettings.setBackgroundTintColor(Color.WHITE); } }); @@ -95,6 +97,7 @@ public class MyLocationTintActivity extends AppCompatActivity implements Locatio ContextCompat.getColor(MyLocationTintActivity.this, R.color.mapbox_green)); myLocationViewSettings.setForegroundTintColor( ContextCompat.getColor(MyLocationTintActivity.this, R.color.mapbox_green)); + myLocationViewSettings.setBackgroundTintColor(Color.WHITE); } }); @@ -109,8 +112,21 @@ public class MyLocationTintActivity extends AppCompatActivity implements Locatio ContextCompat.getColor(MyLocationTintActivity.this, R.color.accent)); myLocationViewSettings.setForegroundTintColor( ContextCompat.getColor(MyLocationTintActivity.this, R.color.mapbox_blue)); + myLocationViewSettings.setBackgroundTintColor(Color.WHITE); } }); + + ViewUtils.attachClickListener( + MyLocationTintActivity.this, + R.id.user_dot_transparent_button, + new View.OnClickListener() { + @Override + public void onClick(View view) { + myLocationViewSettings.setForegroundTintColor(Color.TRANSPARENT); + myLocationViewSettings.setBackgroundTintColor(Color.TRANSPARENT); + } + } + ); } }); diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_my_location_dot_color.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_my_location_dot_color.xml index af755c72a..d41cc7932 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_my_location_dot_color.xml +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_my_location_dot_color.xml @@ -1,50 +1,71 @@ - + android:layout_height="match_parent"> + android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/> + android:layout_height="match_parent" + android:layout_below="@+id/toolbar" + mapbox:mapbox_uiAttribution="false" + mapbox:mapbox_uiLogo="false"/> + android:weightSum="4">