Skip to content

Commit

Permalink
[android] Allow apps to override map resources
Browse files Browse the repository at this point in the history
  • Loading branch information
Leith Bade committed Oct 30, 2015
1 parent 36479f3 commit 7d6140d
Show file tree
Hide file tree
Showing 31 changed files with 26 additions and 13 deletions.
Expand Up @@ -43,8 +43,6 @@ final class UserLocationView extends View {

private MapView mMapView;

private static final int BLUE_COLOR = 0x39ACCBFF;

private float mDensity;

private boolean mShowMarker;
Expand Down Expand Up @@ -137,6 +135,8 @@ private void initialize(Context context) {

// Setup the custom paint
Resources resources = context.getResources();
int accuracyColor = resources.getColor(R.color.my_location_ring);

mDensity = resources.getDisplayMetrics().density;
mMarkerCoordinate = new LatLng(0.0, 0.0);
mMarkerScreenPoint = new PointF();
Expand All @@ -145,20 +145,20 @@ private void initialize(Context context) {
mAccuracyPaintFill = new Paint();
mAccuracyPaintFill.setAntiAlias(true);
mAccuracyPaintFill.setStyle(Paint.Style.FILL);
mAccuracyPaintFill.setColor(BLUE_COLOR);
mAccuracyPaintFill.setColor(accuracyColor);
mAccuracyPaintFill.setAlpha((int) (255 * 0.25f));

mAccuracyPaintStroke = new Paint();
mAccuracyPaintStroke.setAntiAlias(true);
mAccuracyPaintStroke.setStyle(Paint.Style.STROKE);
mAccuracyPaintStroke.setStrokeWidth(0.5f * mDensity);
mAccuracyPaintStroke.setColor(BLUE_COLOR);
mAccuracyPaintStroke.setColor(accuracyColor);
mAccuracyPaintStroke.setAlpha((int) (255 * 0.5f));

mAccuracyPath = new Path();
mAccuracyBounds = new RectF();

mUserLocationDrawable = ContextCompat.getDrawable(getContext(), R.drawable.user_location);
mUserLocationDrawable = ContextCompat.getDrawable(getContext(), R.drawable.my_location);
mUserLocationDrawableBounds = new Rect(
-mUserLocationDrawable.getIntrinsicWidth() / 2,
-mUserLocationDrawable.getIntrinsicHeight() / 2,
Expand All @@ -171,7 +171,7 @@ private void initialize(Context context) {
mUserLocationDrawable.getIntrinsicHeight() / 2);
mUserLocationDrawable.setBounds(mUserLocationDrawableBounds);

mUserLocationBearingDrawable = ContextCompat.getDrawable(getContext(), R.drawable.user_location_bearing);
mUserLocationBearingDrawable = ContextCompat.getDrawable(getContext(), R.drawable.my_location_bearing);
mUserLocationBearingDrawableBounds = new Rect(
-mUserLocationBearingDrawable.getIntrinsicWidth() / 2,
-mUserLocationBearingDrawable.getIntrinsicHeight() / 2,
Expand All @@ -184,7 +184,7 @@ private void initialize(Context context) {
mUserLocationBearingDrawable.getIntrinsicHeight() / 2);
mUserLocationBearingDrawable.setBounds(mUserLocationBearingDrawableBounds);

mUserLocationStaleDrawable = ContextCompat.getDrawable(getContext(), R.drawable.user_location_stale);
mUserLocationStaleDrawable = ContextCompat.getDrawable(getContext(), R.drawable.my_location_stale);
mUserLocationStaleDrawableBounds = new Rect(
-mUserLocationStaleDrawable.getIntrinsicWidth() / 2,
-mUserLocationStaleDrawable.getIntrinsicHeight() / 2,
Expand Down
12 changes: 12 additions & 0 deletions android/MapboxGLAndroidSDK/src/main/res-public/values/public.xml
Expand Up @@ -40,4 +40,16 @@
<public name="attribution_margin_right" type="attr" />
<public name="attribution_margin_bottom" type="attr" />
<public name="attribution_visibility" type="attr" />

<public name="attribution_logo" type="drawable" />
<public name="compass" type="drawable" />
<public name="default_marker" type="drawable" />
<public name="attribution_button_pressed_selector" type="drawable" />
<public name="attribution_button_pressed_normal" type="drawable" />
<public name="attribution_button_pressed_pressed" type="drawable" />
<public name="my_location" type="drawable" />
<public name="my_location_bearing" type="drawable" />
<public name="my_location_stale" type="drawable" />
<public name="my_location_ring" type="color" />
<public name="mapbox_blue" type="color" />
</resources>
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/attribution_button_pressed" android:state_pressed="true" />
<item android:drawable="@drawable/attribution_button_normal" />
</selector>

This file was deleted.

Expand Up @@ -26,7 +26,7 @@
android:clickable="true"
android:contentDescription="@string/attributionsIconContentDescription"
android:padding="7dp"
android:src="@drawable/ic_info_selector" />
android:src="@drawable/attribution_button_selector" />

<com.mapbox.mapboxsdk.views.UserLocationView
android:id="@+id/userLocationView"
Expand Down
1 change: 1 addition & 0 deletions android/MapboxGLAndroidSDK/src/main/res/values/colors.xml
Expand Up @@ -3,4 +3,5 @@
<color name="white">#FFFFFF</color>
<color name="black">#000000</color>
<color name="mapbox_blue">#1E8CAB</color>
<color name="my_location_ring">@color/mapbox_blue</color>
</resources>

0 comments on commit 7d6140d

Please sign in to comment.