markers) {
+ this.tapRect = tapRect;
+ this.markers = markers;
+ }
+
+ float getTapPointX() {
+ return tapRect.centerX();
+ }
+
+ float getTapPointY() {
+ return tapRect.centerY();
+ }
}
}
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/IconManager.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/IconManager.java
index 9f4171aee8..b5da5f59aa 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/IconManager.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/IconManager.java
@@ -12,6 +12,8 @@ import com.mapbox.mapboxsdk.exceptions.IconBitmapChangedException;
import java.util.ArrayList;
import java.util.List;
+import timber.log.Timber;
+
/**
* Responsible for managing icons added to the Map.
*
@@ -105,6 +107,8 @@ class IconManager {
int iconSize = icons.size() + 1;
averageIconHeight = averageIconHeight + (height - averageIconHeight) / iconSize;
averageIconWidth = averageIconWidth + (width - averageIconWidth) / iconSize;
+ Timber.e("OnUpdateAverageSizeIcon with: %s %s", width, height);
+ Timber.e("OnUpdateAverageSizeIcon now: %s %s", averageIconWidth, averageIconHeight);
}
private void loadIcon(Icon icon) {
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapGestureDetector.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapGestureDetector.java
index c1e997c3a1..d2973bf558 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapGestureDetector.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapGestureDetector.java
@@ -315,7 +315,7 @@ final class MapGestureDetector {
@Override
public boolean onSingleTapConfirmed(MotionEvent motionEvent) {
PointF tapPoint = new PointF(motionEvent.getX(), motionEvent.getY());
- boolean tapHandled = annotationManager.onTap(tapPoint, uiSettings.getPixelRatio());
+ boolean tapHandled = annotationManager.onTap(tapPoint);
if (!tapHandled) {
if (uiSettings.isDeselectMarkersOnTap()) {
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_check_box.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_check_box.xml
new file mode 100644
index 0000000000..cf8bfa24b5
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_check_box.xml
@@ -0,0 +1,9 @@
+
+
+
--
cgit v1.2.1
From d7401f9e219e4607146cf1c34af23edb474348eb Mon Sep 17 00:00:00 2001
From: Tobrun
Date: Tue, 18 Jul 2017 15:34:55 +0200
Subject: [android] - add OnPolygonClickListener and OnPolylineClickListener
(#9443)
---
.../mapbox/mapboxsdk/maps/AnnotationManager.java | 96 ++++++++++++++++++++--
.../java/com/mapbox/mapboxsdk/maps/MapboxMap.java | 50 +++++++++++
.../activity/annotation/PolygonActivity.java | 14 ++++
.../activity/annotation/PolylineActivity.java | 14 +++-
4 files changed, 164 insertions(+), 10 deletions(-)
(limited to 'platform/android')
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AnnotationManager.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AnnotationManager.java
index 392eededdc..404cc5f3bd 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AnnotationManager.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AnnotationManager.java
@@ -9,6 +9,8 @@ import android.support.annotation.Nullable;
import android.support.v4.util.LongSparseArray;
import android.view.View;
+import com.mapbox.mapboxsdk.Mapbox;
+import com.mapbox.mapboxsdk.R;
import com.mapbox.mapboxsdk.annotations.Annotation;
import com.mapbox.mapboxsdk.annotations.BaseMarkerOptions;
import com.mapbox.mapboxsdk.annotations.BaseMarkerViewOptions;
@@ -20,6 +22,7 @@ import com.mapbox.mapboxsdk.annotations.Polygon;
import com.mapbox.mapboxsdk.annotations.PolygonOptions;
import com.mapbox.mapboxsdk.annotations.Polyline;
import com.mapbox.mapboxsdk.annotations.PolylineOptions;
+import com.mapbox.services.commons.geojson.Feature;
import java.util.ArrayList;
import java.util.List;
@@ -39,6 +42,8 @@ import timber.log.Timber;
*/
class AnnotationManager {
+ private static final String LAYER_ID_SHAPE_ANNOTATIONS = "com.mapbox.annotations.shape.";
+
private final NativeMapView nativeMapView;
private final MapView mapView;
private final IconManager iconManager;
@@ -46,9 +51,12 @@ class AnnotationManager {
private final MarkerViewManager markerViewManager;
private final LongSparseArray annotations = new LongSparseArray<>();
private final List selectedMarkers = new ArrayList<>();
+ private final List shapeAnnotationIds = new ArrayList<>();
private MapboxMap mapboxMap;
private MapboxMap.OnMarkerClickListener onMarkerClickListener;
+ private MapboxMap.OnPolygonClickListener onPolygonClickListener;
+ private MapboxMap.OnPolylineClickListener onPolylineClickListener;
AnnotationManager(NativeMapView view, MapView mapView, MarkerViewManager markerViewManager) {
this.nativeMapView = view;
@@ -101,6 +109,9 @@ class AnnotationManager {
if (marker instanceof MarkerView) {
markerViewManager.removeMarkerView((MarkerView) marker);
}
+ } else {
+ // instanceOf Polygon/Polyline
+ shapeAnnotationIds.remove(annotation.getId());
}
long id = annotation.getId();
if (nativeMapView != null) {
@@ -131,6 +142,9 @@ class AnnotationManager {
if (marker instanceof MarkerView) {
markerViewManager.removeMarkerView((MarkerView) marker);
}
+ } else {
+ // instanceOf Polygon/Polyline
+ shapeAnnotationIds.remove(annotation.getId());
}
ids[i] = annotationList.get(i).getId();
}
@@ -158,6 +172,9 @@ class AnnotationManager {
if (marker instanceof MarkerView) {
markerViewManager.removeMarkerView((MarkerView) marker);
}
+ } else {
+ // instanceOf Polygon/Polyline
+ shapeAnnotationIds.remove(annotation.getId());
}
}
@@ -244,7 +261,6 @@ class AnnotationManager {
return marker;
}
-
List addMarkerViews(@NonNull List extends BaseMarkerViewOptions> markerViewOptions,
@NonNull MapboxMap mapboxMap) {
List markers = new ArrayList<>();
@@ -278,7 +294,6 @@ class AnnotationManager {
Timber.w("Attempting to update non-added Marker with value %s", updatedMarker);
return;
}
-
ensureIconLoaded(updatedMarker);
nativeMapView.updateMarker(updatedMarker);
annotations.setValueAt(annotations.indexOfKey(updatedMarker.getId()), updatedMarker);
@@ -310,6 +325,14 @@ class AnnotationManager {
onMarkerClickListener = listener;
}
+ void setOnPolygonClickListener(@Nullable MapboxMap.OnPolygonClickListener listener) {
+ onPolygonClickListener = listener;
+ }
+
+ void setOnPolylineClickListener(@Nullable MapboxMap.OnPolylineClickListener listener) {
+ onPolylineClickListener = listener;
+ }
+
void selectMarker(@NonNull Marker marker) {
if (selectedMarkers.contains(marker)) {
return;
@@ -374,7 +397,7 @@ class AnnotationManager {
@NonNull
List getMarkersInRect(@NonNull RectF rectangle) {
- // convert Rectangle to be density depedent
+ // convert Rectangle to be density dependent
float pixelRatio = nativeMapView.getPixelRatio();
RectF rect = new RectF(rectangle.left / pixelRatio,
rectangle.top / pixelRatio,
@@ -438,6 +461,7 @@ class AnnotationManager {
long id = nativeMapView != null ? nativeMapView.addPolygon(polygon) : 0;
polygon.setId(id);
polygon.setMapboxMap(mapboxMap);
+ shapeAnnotationIds.add(LAYER_ID_SHAPE_ANNOTATIONS + id);
annotations.put(id, polygon);
}
return polygon;
@@ -472,6 +496,7 @@ class AnnotationManager {
id++;
}
polygon.setId(id);
+ shapeAnnotationIds.add(LAYER_ID_SHAPE_ANNOTATIONS + id);
annotations.put(id, polygon);
}
}
@@ -510,6 +535,7 @@ class AnnotationManager {
long id = nativeMapView != null ? nativeMapView.addPolyline(polyline) : 0;
polyline.setMapboxMap(mapboxMap);
polyline.setId(id);
+ shapeAnnotationIds.add(LAYER_ID_SHAPE_ANNOTATIONS + id);
annotations.put(id, polyline);
}
return polyline;
@@ -546,6 +572,7 @@ class AnnotationManager {
id++;
}
p.setId(id);
+ shapeAnnotationIds.add(LAYER_ID_SHAPE_ANNOTATIONS + id);
annotations.put(id, p);
}
}
@@ -555,6 +582,7 @@ class AnnotationManager {
void updatePolyline(@NonNull Polyline polyline) {
if (!isAddedToMap(polyline)) {
Timber.w("Attempting to update non-added Polyline with value %s", polyline);
+ return;
}
nativeMapView.updatePolyline(polyline);
@@ -619,11 +647,37 @@ class AnnotationManager {
//
boolean onTap(PointF tapPoint) {
+ ShapeAnnotationHit shapeAnnotationHit = getShapeAnnotationHitFromTap(tapPoint);
+ long shapeAnnotationId = new ShapeAnnotationHitResolver(mapboxMap).execute(shapeAnnotationHit);
+ if (shapeAnnotationId >= 0) {
+ handleClickForShapeAnnotation(shapeAnnotationId);
+ }
+
MarkerHit markerHit = getMarkerHitFromTouchArea(tapPoint);
- long markerId = new MarkerHitResolver(markerViewManager, mapboxMap.getProjection()).execute(markerHit);
+ long markerId = new MarkerHitResolver(mapboxMap).execute(markerHit);
return markerId >= 0 && isClickHandledForMarker(markerId);
}
+ private ShapeAnnotationHit getShapeAnnotationHitFromTap(PointF tapPoint) {
+ float touchTargetSide = Mapbox.getApplicationContext().getResources().getDimension(R.dimen.mapbox_eight_dp);
+ RectF tapRect = new RectF(
+ tapPoint.x - touchTargetSide,
+ tapPoint.y - touchTargetSide,
+ tapPoint.x + touchTargetSide,
+ tapPoint.y + touchTargetSide
+ );
+ return new ShapeAnnotationHit(tapRect, shapeAnnotationIds.toArray(new String[shapeAnnotationIds.size()]));
+ }
+
+ private void handleClickForShapeAnnotation(long shapeAnnotationId) {
+ Annotation annotation = getAnnotation(shapeAnnotationId);
+ if (annotation instanceof Polygon && onPolygonClickListener != null) {
+ onPolygonClickListener.onPolygonClick((Polygon) annotation);
+ } else if (annotation instanceof Polyline && onPolylineClickListener != null) {
+ onPolylineClickListener.onPolylineClick((Polyline) annotation);
+ }
+ }
+
private MarkerHit getMarkerHitFromTouchArea(PointF tapPoint) {
int averageIconWidthOffset = iconManager.getAverageIconWidth() / 2;
int averageIconHeightOffset = iconManager.getAverageIconHeight() / 2;
@@ -645,7 +699,7 @@ class AnnotationManager {
}
if (!handledDefaultClick) {
- setMarkerSelectionState(marker);
+ toggleMarkerSelectionState(marker);
}
return true;
}
@@ -654,7 +708,7 @@ class AnnotationManager {
return onMarkerClickListener != null && onMarkerClickListener.onMarkerClick(marker);
}
- private void setMarkerSelectionState(Marker marker) {
+ private void toggleMarkerSelectionState(Marker marker) {
if (!selectedMarkers.contains(marker)) {
selectMarker(marker);
} else {
@@ -662,6 +716,20 @@ class AnnotationManager {
}
}
+ private static class ShapeAnnotationHitResolver {
+
+ private MapboxMap mapboxMap;
+
+ ShapeAnnotationHitResolver(MapboxMap mapboxMap) {
+ this.mapboxMap = mapboxMap;
+ }
+
+ public long execute(ShapeAnnotationHit shapeHit) {
+ List features = mapboxMap.queryRenderedFeatures(shapeHit.tapPoint, shapeHit.layerIds);
+ return features.isEmpty() ? -1 : Long.valueOf(features.get(0).getId());
+ }
+ }
+
private static class MarkerHitResolver {
private final MarkerViewManager markerViewManager;
@@ -677,9 +745,9 @@ class AnnotationManager {
private long closestMarkerId = -1;
- MarkerHitResolver(@NonNull MarkerViewManager markerViewManager, @NonNull Projection projection) {
- this.markerViewManager = markerViewManager;
- this.projection = projection;
+ MarkerHitResolver(@NonNull MapboxMap mapboxMap) {
+ this.markerViewManager = mapboxMap.getMarkerViewManager();
+ this.projection = mapboxMap.getProjection();
}
public long execute(MarkerHit markerHit) {
@@ -732,6 +800,16 @@ class AnnotationManager {
}
}
+ private static class ShapeAnnotationHit {
+ private final RectF tapPoint;
+ private final String[] layerIds;
+
+ ShapeAnnotationHit(RectF tapRect, String[] layerIds) {
+ this.tapPoint = tapRect;
+ this.layerIds = layerIds;
+ }
+ }
+
private static class MarkerHit {
private final RectF tapRect;
private final List markers;
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java
index d672ab37c3..c8725d8d8d 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java
@@ -1459,6 +1459,28 @@ public final class MapboxMap {
annotationManager.setOnMarkerClickListener(listener);
}
+ /**
+ * Sets a callback that's invoked when the user clicks on a polygon.
+ *
+ * @param listener The callback that's invoked when the user clicks on a polygon.
+ * To unset the callback, use null.
+ */
+ @UiThread
+ public void setOnPolygonClickListener(@Nullable OnPolygonClickListener listener) {
+ annotationManager.setOnPolygonClickListener(listener);
+ }
+
+ /**
+ * Sets a callback that's invoked when the user clicks on a polyline.
+ *
+ * @param listener The callback that's invoked when the user clicks on a polyline.
+ * To unset the callback, use null.
+ */
+ @UiThread
+ public void setOnPolylineClickListener(@Nullable OnPolylineClickListener listener) {
+ annotationManager.setOnPolylineClickListener(listener);
+ }
+
/**
*
* Selects a marker. The selected marker will have it's info window opened.
@@ -2150,6 +2172,34 @@ public final class MapboxMap {
boolean onMarkerClick(@NonNull Marker marker);
}
+ /**
+ * Interface definition for a callback to be invoked when the user clicks on a polygon.
+ *
+ * @see MapboxMap#setOnPolygonClickListener(OnPolygonClickListener)
+ */
+ public interface OnPolygonClickListener {
+ /**
+ * Called when the user clicks on a polygon.
+ *
+ * @param polygon The polygon the user clicked on.
+ */
+ void onPolygonClick(@NonNull Polygon polygon);
+ }
+
+ /**
+ * Interface definition for a callback to be invoked when the user clicks on a polyline.
+ *
+ * @see MapboxMap#setOnPolylineClickListener(OnPolylineClickListener)
+ */
+ public interface OnPolylineClickListener {
+ /**
+ * Called when the user clicks on a polyline.
+ *
+ * @param polyline The polyline the user clicked on.
+ */
+ void onPolylineClick(@NonNull Polyline polyline);
+ }
+
/**
* Interface definition for a callback to be invoked when the user clicks on an info window.
*
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PolygonActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PolygonActivity.java
index b51d717f33..fecfe2a842 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PolygonActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PolygonActivity.java
@@ -2,9 +2,11 @@ package com.mapbox.mapboxsdk.testapp.activity.annotation;
import android.graphics.Color;
import android.os.Bundle;
+import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuItem;
+import android.widget.Toast;
import com.mapbox.mapboxsdk.annotations.Polygon;
import com.mapbox.mapboxsdk.annotations.PolygonOptions;
@@ -77,6 +79,18 @@ public class PolygonActivity extends AppCompatActivity implements OnMapReadyCall
@Override
public void onMapReady(MapboxMap map) {
mapboxMap = map;
+
+ map.setOnPolygonClickListener(new MapboxMap.OnPolygonClickListener() {
+ @Override
+ public void onPolygonClick(@NonNull Polygon polygon) {
+ Toast.makeText(
+ PolygonActivity.this,
+ "You clicked on polygon with id = " + polygon.getId(),
+ Toast.LENGTH_SHORT
+ ).show();
+ }
+ });
+
polygon = mapboxMap.addPolygon(new PolygonOptions()
.addAll(STAR_SHAPE_POINTS)
.fillColor(BLUE_COLOR));
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PolylineActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PolylineActivity.java
index 0aaa6127f4..b9dc39e5d4 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PolylineActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PolylineActivity.java
@@ -67,8 +67,20 @@ public class PolylineActivity extends AppCompatActivity {
mapView.onCreate(savedInstanceState);
mapView.getMapAsync(new OnMapReadyCallback() {
@Override
- public void onMapReady(@NonNull MapboxMap mapboxMap) {
+ public void onMapReady(@NonNull final MapboxMap mapboxMap) {
PolylineActivity.this.mapboxMap = mapboxMap;
+
+ mapboxMap.setOnPolylineClickListener(new MapboxMap.OnPolylineClickListener() {
+ @Override
+ public void onPolylineClick(@NonNull Polyline polyline) {
+ Toast.makeText(
+ PolylineActivity.this,
+ "You clicked on polygon with id = " + polyline.getId(),
+ Toast.LENGTH_SHORT
+ ).show();
+ }
+ });
+
polylines = mapboxMap.addPolylines(polylineOptions);
}
});
--
cgit v1.2.1
From 108cbc7ba58b3597b779029323e56b54f29546f0 Mon Sep 17 00:00:00 2001
From: Tobrun Van Nuland
Date: Thu, 20 Jul 2017 11:44:53 +0200
Subject: [android] - update changelog for 5.1.1
---
platform/android/CHANGELOG.md | 10 ++++++++++
1 file changed, 10 insertions(+)
(limited to 'platform/android')
diff --git a/platform/android/CHANGELOG.md b/platform/android/CHANGELOG.md
index 0a3615d805..33ac486964 100644
--- a/platform/android/CHANGELOG.md
+++ b/platform/android/CHANGELOG.md
@@ -4,6 +4,16 @@ Mapbox welcomes participation and contributions from everyone. If you'd like to
## 5.1.1 - TBA
+* Rework attribution binding [#9433](https://github.com/mapbox/mapbox-gl-native/pull/9433)
+* BackendScope changes [#9538](https://github.com/mapbox/mapbox-gl-native/pull/9538)
+* Invisible MarkerView performance fix [#9420](https://github.com/mapbox/mapbox-gl-native/pull/9420)
+* Polyline/Polygon click listeners [#9443](https://github.com/mapbox/mapbox-gl-native/pull/9443)
+* Hit test Marker/MarkerViews [#9424](https://github.com/mapbox/mapbox-gl-native/pull/9424)
+* Fine tune fling gesture [#9532](https://github.com/mapbox/mapbox-gl-native/pull/9532)
+* Bump OkHttp 3.8.0, Android 7.x crashes [#9522](https://github.com/mapbox/mapbox-gl-native/pull/9522)
+* MyLocationView tint fix [#9410](https://github.com/mapbox/mapbox-gl-native/pull/9410)
+* VisibleRegion logic [#9428](https://github.com/mapbox/mapbox-gl-native/pull/9428)
+* Validate motion event [#9434](https://github.com/mapbox/mapbox-gl-native/pull/9434)
* Add French localization [#9545](https://github.com/mapbox/mapbox-gl-native/pull/9545)
## 5.1.0 - June 30, 2017
--
cgit v1.2.1
From a39b4cfb00c567d93bb83390d9bbdccef12b1c65 Mon Sep 17 00:00:00 2001
From: Tobrun
Date: Thu, 20 Jul 2017 17:26:28 +0200
Subject: [android] - manage InfoWindow selection in AnnotationManager (#9567)
---
.../java/com/mapbox/mapboxsdk/annotations/MarkerViewManager.java | 5 -----
1 file changed, 5 deletions(-)
(limited to 'platform/android')
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerViewManager.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerViewManager.java
index dce6f6b277..8704e882ea 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerViewManager.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerViewManager.java
@@ -570,11 +570,6 @@ public class MarkerViewManager implements MapView.OnMapChangedListener {
clickHandled = onMarkerViewClickListener.onMarkerClick(markerView, view, adapter);
}
- if (!clickHandled) {
- ensureInfoWindowOffset(markerView);
- select(markerView, view, adapter);
- }
-
return clickHandled;
}
--
cgit v1.2.1
From 820c04efbfa5c7e30bf5ff055538ccdd6e11b14d Mon Sep 17 00:00:00 2001
From: Tobrun
Date: Thu, 20 Jul 2017 16:51:27 +0200
Subject: [android] - increase touch target to match largest Marker icon
(#9565)
---
.../mapbox/mapboxsdk/maps/AnnotationManager.java | 12 +++----
.../com/mapbox/mapboxsdk/maps/IconManager.java | 42 +++++++++++-----------
2 files changed, 27 insertions(+), 27 deletions(-)
(limited to 'platform/android')
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AnnotationManager.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AnnotationManager.java
index 404cc5f3bd..f35eb9b4f0 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AnnotationManager.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AnnotationManager.java
@@ -679,12 +679,12 @@ class AnnotationManager {
}
private MarkerHit getMarkerHitFromTouchArea(PointF tapPoint) {
- int averageIconWidthOffset = iconManager.getAverageIconWidth() / 2;
- int averageIconHeightOffset = iconManager.getAverageIconHeight() / 2;
- final RectF tapRect = new RectF(tapPoint.x - averageIconWidthOffset,
- tapPoint.y - averageIconHeightOffset,
- tapPoint.x + averageIconWidthOffset,
- tapPoint.y + averageIconHeightOffset
+ int touchSurfaceWidth = (int) (iconManager.getHighestIconHeight() * 1.5);
+ int touchSurfaceHeight = (int) (iconManager.getHighestIconWidth() * 1.5);
+ final RectF tapRect = new RectF(tapPoint.x - touchSurfaceWidth,
+ tapPoint.y - touchSurfaceHeight,
+ tapPoint.x + touchSurfaceWidth,
+ tapPoint.y + touchSurfaceHeight
);
return new MarkerHit(tapRect, getMarkersInRect(tapRect));
}
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/IconManager.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/IconManager.java
index b5da5f59aa..18eecfd9c3 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/IconManager.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/IconManager.java
@@ -12,8 +12,6 @@ import com.mapbox.mapboxsdk.exceptions.IconBitmapChangedException;
import java.util.ArrayList;
import java.util.List;
-import timber.log.Timber;
-
/**
* Responsible for managing icons added to the Map.
*
@@ -30,8 +28,8 @@ class IconManager {
private NativeMapView nativeMapView;
private List icons;
- private int averageIconHeight;
- private int averageIconWidth;
+ private int highestIconWidth;
+ private int highestIconHeight;
IconManager(NativeMapView nativeMapView) {
this.nativeMapView = nativeMapView;
@@ -47,7 +45,7 @@ class IconManager {
// TODO we can move this code afterwards to getIcon as with MarkerView.getIcon
icon = loadDefaultIconForMarker(marker);
} else {
- updateAverageIconSize(icon);
+ updateHighestIconSize(icon);
}
addIcon(icon);
return icon;
@@ -56,7 +54,7 @@ class IconManager {
void loadIconForMarkerView(MarkerView marker) {
Icon icon = marker.getIcon();
Bitmap bitmap = icon.getBitmap();
- updateAverageIconSize(bitmap);
+ updateHighestIconSize(bitmap);
addIcon(icon, false);
}
@@ -64,18 +62,18 @@ class IconManager {
return (int) (nativeMapView.getTopOffsetPixelsForAnnotationSymbol(icon.getId()) * nativeMapView.getPixelRatio());
}
- int getAverageIconHeight() {
- return averageIconHeight;
+ int getHighestIconWidth() {
+ return highestIconWidth;
}
- int getAverageIconWidth() {
- return averageIconWidth;
+ int getHighestIconHeight() {
+ return highestIconHeight;
}
private Icon loadDefaultIconForMarker(Marker marker) {
Icon icon = IconFactory.getInstance(Mapbox.getApplicationContext()).defaultMarker();
Bitmap bitmap = icon.getBitmap();
- updateAverageIconSize(bitmap.getWidth(), bitmap.getHeight() / 2);
+ updateHighestIconSize(bitmap.getWidth(), bitmap.getHeight() / 2);
marker.setIcon(icon);
return icon;
}
@@ -95,20 +93,22 @@ class IconManager {
}
}
- private void updateAverageIconSize(Icon icon) {
- updateAverageIconSize(icon.getBitmap());
+ private void updateHighestIconSize(Icon icon) {
+ updateHighestIconSize(icon.getBitmap());
}
- private void updateAverageIconSize(Bitmap bitmap) {
- updateAverageIconSize(bitmap.getWidth(), bitmap.getHeight());
+ private void updateHighestIconSize(Bitmap bitmap) {
+ updateHighestIconSize(bitmap.getWidth(), bitmap.getHeight());
}
- private void updateAverageIconSize(int width, int height) {
- int iconSize = icons.size() + 1;
- averageIconHeight = averageIconHeight + (height - averageIconHeight) / iconSize;
- averageIconWidth = averageIconWidth + (width - averageIconWidth) / iconSize;
- Timber.e("OnUpdateAverageSizeIcon with: %s %s", width, height);
- Timber.e("OnUpdateAverageSizeIcon now: %s %s", averageIconWidth, averageIconHeight);
+ private void updateHighestIconSize(int width, int height) {
+ if (width > highestIconWidth) {
+ highestIconWidth = width;
+ }
+
+ if (height > highestIconHeight) {
+ highestIconHeight = height;
+ }
}
private void loadIcon(Icon icon) {
--
cgit v1.2.1
From b34a5ab276145dd5499133738caf0e8d6d30ddb7 Mon Sep 17 00:00:00 2001
From: Tobrun Van Nuland
Date: Thu, 20 Jul 2017 17:32:23 +0200
Subject: [android] - update change log, fix typo public xml
---
platform/android/CHANGELOG.md | 4 ++++
.../android/MapboxGLAndroidSDK/src/main/res-public/values/public.xml | 2 +-
2 files changed, 5 insertions(+), 1 deletion(-)
(limited to 'platform/android')
diff --git a/platform/android/CHANGELOG.md b/platform/android/CHANGELOG.md
index 33ac486964..b2eaaa2a9c 100644
--- a/platform/android/CHANGELOG.md
+++ b/platform/android/CHANGELOG.md
@@ -15,6 +15,10 @@ Mapbox welcomes participation and contributions from everyone. If you'd like to
* VisibleRegion logic [#9428](https://github.com/mapbox/mapbox-gl-native/pull/9428)
* Validate motion event [#9434](https://github.com/mapbox/mapbox-gl-native/pull/9434)
* Add French localization [#9545](https://github.com/mapbox/mapbox-gl-native/pull/9545)
+* Fix public.xml [#9525](https://github.com/mapbox/mapbox-gl-native/pull/9525/files)
+* Manage InfoWindow selection in AnnotationManager [#9567](https://github.com/mapbox/mapbox-gl-native/pull/9567)
+* Increase touch target size [#9565](https://github.com/mapbox/mapbox-gl-native/pull/9565)
+* Work around Adreno 2xx GPU bugs [#9573](https://github.com/mapbox/mapbox-gl-native/pull/9573)
## 5.1.0 - June 30, 2017
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/res-public/values/public.xml b/platform/android/MapboxGLAndroidSDK/src/main/res-public/values/public.xml
index 7294f43c02..f30cb7c27a 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/res-public/values/public.xml
+++ b/platform/android/MapboxGLAndroidSDK/src/main/res-public/values/public.xml
@@ -20,7 +20,7 @@
-
+
--
cgit v1.2.1
From 7aad3613c3549ae5f4388fcbeef969e13274892b Mon Sep 17 00:00:00 2001
From: Tobrun Van Nuland
Date: Fri, 21 Jul 2017 11:18:26 +0200
Subject: update release config
---
.../resources/fabric/com.mapbox.mapboxsdk.mapbox-android-sdk.properties | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'platform/android')
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/resources/fabric/com.mapbox.mapboxsdk.mapbox-android-sdk.properties b/platform/android/MapboxGLAndroidSDK/src/main/resources/fabric/com.mapbox.mapboxsdk.mapbox-android-sdk.properties
index 029d25e046..a02b5d63ac 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/resources/fabric/com.mapbox.mapboxsdk.mapbox-android-sdk.properties
+++ b/platform/android/MapboxGLAndroidSDK/src/main/resources/fabric/com.mapbox.mapboxsdk.mapbox-android-sdk.properties
@@ -1,3 +1,3 @@
fabric-identifier=com.mapbox.mapboxsdk.mapbox-android-sdk
-fabric-version=5.1.0
+fabric-version=5.1.1
fabric-build-type=binary
--
cgit v1.2.1
From 5e6ca3ada217c84fa2f198e5de6bc89bc2c5874d Mon Sep 17 00:00:00 2001
From: Pablo Guardiola
Date: Mon, 24 Jul 2017 12:08:20 +0200
Subject: [android] fix geojson source proguard issue (#9569) (#9577)
---
platform/android/MapboxGLAndroidSDK/proguard-rules.pro | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
(limited to 'platform/android')
diff --git a/platform/android/MapboxGLAndroidSDK/proguard-rules.pro b/platform/android/MapboxGLAndroidSDK/proguard-rules.pro
index 8e47815451..68edc12f35 100644
--- a/platform/android/MapboxGLAndroidSDK/proguard-rules.pro
+++ b/platform/android/MapboxGLAndroidSDK/proguard-rules.pro
@@ -6,4 +6,5 @@
-keep class com.mapbox.mapboxsdk.** { *; }
-keep interface com.mapbox.mapboxsdk.** { *; }
-keep class com.mapbox.services.android.telemetry.** { *; }
--keep class com.mapbox.services.commons.** { *;}
\ No newline at end of file
+-keep class com.mapbox.services.commons.** { *;}
+-keep class com.google.gson.** { *; }
\ No newline at end of file
--
cgit v1.2.1
From 0eee31e212a9936bcfe0c61a3bf3635a8778a434 Mon Sep 17 00:00:00 2001
From: Tobrun Van Nuland
Date: Mon, 24 Jul 2017 10:45:35 +0200
Subject: [android] - harden click handling of shape annotations
---
.../mapbox/mapboxsdk/maps/AnnotationManager.java | 22 ++++++++++++++++++----
1 file changed, 18 insertions(+), 4 deletions(-)
(limited to 'platform/android')
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AnnotationManager.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AnnotationManager.java
index f35eb9b4f0..ef794c8482 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AnnotationManager.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AnnotationManager.java
@@ -43,6 +43,7 @@ import timber.log.Timber;
class AnnotationManager {
private static final String LAYER_ID_SHAPE_ANNOTATIONS = "com.mapbox.annotations.shape.";
+ private static final long NO_ANNOTATION_ID = -1;
private final NativeMapView nativeMapView;
private final MapView mapView;
@@ -649,13 +650,13 @@ class AnnotationManager {
boolean onTap(PointF tapPoint) {
ShapeAnnotationHit shapeAnnotationHit = getShapeAnnotationHitFromTap(tapPoint);
long shapeAnnotationId = new ShapeAnnotationHitResolver(mapboxMap).execute(shapeAnnotationHit);
- if (shapeAnnotationId >= 0) {
+ if (shapeAnnotationId != NO_ANNOTATION_ID) {
handleClickForShapeAnnotation(shapeAnnotationId);
}
MarkerHit markerHit = getMarkerHitFromTouchArea(tapPoint);
long markerId = new MarkerHitResolver(mapboxMap).execute(markerHit);
- return markerId >= 0 && isClickHandledForMarker(markerId);
+ return markerId != NO_ANNOTATION_ID && isClickHandledForMarker(markerId);
}
private ShapeAnnotationHit getShapeAnnotationHitFromTap(PointF tapPoint) {
@@ -725,8 +726,21 @@ class AnnotationManager {
}
public long execute(ShapeAnnotationHit shapeHit) {
+ long foundAnnotationId = NO_ANNOTATION_ID;
List features = mapboxMap.queryRenderedFeatures(shapeHit.tapPoint, shapeHit.layerIds);
- return features.isEmpty() ? -1 : Long.valueOf(features.get(0).getId());
+ if (!features.isEmpty()) {
+ foundAnnotationId = getIdFromFeature(features.get(0));
+ }
+ return foundAnnotationId;
+ }
+
+ private long getIdFromFeature(Feature feature) {
+ try {
+ return Long.valueOf(feature.getId());
+ } catch (NumberFormatException exception) {
+ Timber.e(exception, "Couldn't parse feature id to a long, with id: %s", feature.getId());
+ return NO_ANNOTATION_ID;
+ }
}
}
@@ -743,7 +757,7 @@ class AnnotationManager {
private RectF hitRectMarker = new RectF();
private RectF highestSurfaceIntersection = new RectF();
- private long closestMarkerId = -1;
+ private long closestMarkerId = NO_ANNOTATION_ID;
MarkerHitResolver(@NonNull MapboxMap mapboxMap) {
this.markerViewManager = mapboxMap.getMarkerViewManager();
--
cgit v1.2.1
From beaee9349f0608246547d9092b6690a80d633e6e Mon Sep 17 00:00:00 2001
From: Tobrun Van Nuland
Date: Mon, 24 Jul 2017 11:05:29 +0200
Subject: [android] - validate Marker before opening InfoWindow
---
.../main/java/com/mapbox/mapboxsdk/maps/InfoWindowManager.java | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
(limited to 'platform/android')
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/InfoWindowManager.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/InfoWindowManager.java
index 7599b6afa6..11100d6f17 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/InfoWindowManager.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/InfoWindowManager.java
@@ -1,6 +1,5 @@
package com.mapbox.mapboxsdk.maps;
-import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.text.TextUtils;
@@ -56,12 +55,8 @@ class InfoWindowManager {
return allowConcurrentMultipleInfoWindows;
}
- List getInfoWindows() {
- return infoWindows;
- }
-
- boolean isInfoWindowValidForMarker(@NonNull Marker marker) {
- return !TextUtils.isEmpty(marker.getTitle()) || !TextUtils.isEmpty(marker.getSnippet());
+ boolean isInfoWindowValidForMarker(Marker marker) {
+ return marker != null && (!TextUtils.isEmpty(marker.getTitle()) || !TextUtils.isEmpty(marker.getSnippet()));
}
void setOnInfoWindowClickListener(@Nullable MapboxMap.OnInfoWindowClickListener listener) {
--
cgit v1.2.1
From 635a3f21a0373335d4a334f5bb487251f027f47c Mon Sep 17 00:00:00 2001
From: Pablo Guardiola
Date: Tue, 25 Jul 2017 13:01:31 +0200
Subject: [android] fix added to map checks because LongSparseArray#indexOfKey
could return a negative number when the specified key is not mapped (#9602)
---
.../src/main/java/com/mapbox/mapboxsdk/maps/AnnotationManager.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'platform/android')
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AnnotationManager.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AnnotationManager.java
index ef794c8482..251e5afabe 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AnnotationManager.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AnnotationManager.java
@@ -301,7 +301,7 @@ class AnnotationManager {
}
private boolean isAddedToMap(Annotation annotation) {
- return annotation != null && annotation.getId() != -1 && annotations.indexOfKey(annotation.getId()) != -1;
+ return annotation != null && annotation.getId() != -1 && annotations.indexOfKey(annotation.getId()) > -1;
}
private void ensureIconLoaded(Marker marker) {
--
cgit v1.2.1
From 009da507fa780d111bb574154840a061ab284c8f Mon Sep 17 00:00:00 2001
From: Tobrun Van Nuland
Date: Tue, 25 Jul 2017 12:50:36 +0200
Subject: [android] - don't query for shape annotations if none were added
---
.../main/java/com/mapbox/mapboxsdk/maps/AnnotationManager.java | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
(limited to 'platform/android')
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AnnotationManager.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AnnotationManager.java
index 251e5afabe..712ab67de0 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AnnotationManager.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AnnotationManager.java
@@ -648,10 +648,12 @@ class AnnotationManager {
//
boolean onTap(PointF tapPoint) {
- ShapeAnnotationHit shapeAnnotationHit = getShapeAnnotationHitFromTap(tapPoint);
- long shapeAnnotationId = new ShapeAnnotationHitResolver(mapboxMap).execute(shapeAnnotationHit);
- if (shapeAnnotationId != NO_ANNOTATION_ID) {
- handleClickForShapeAnnotation(shapeAnnotationId);
+ if (!shapeAnnotationIds.isEmpty()) {
+ ShapeAnnotationHit shapeAnnotationHit = getShapeAnnotationHitFromTap(tapPoint);
+ long shapeAnnotationId = new ShapeAnnotationHitResolver(mapboxMap).execute(shapeAnnotationHit);
+ if (shapeAnnotationId != NO_ANNOTATION_ID) {
+ handleClickForShapeAnnotation(shapeAnnotationId);
+ }
}
MarkerHit markerHit = getMarkerHitFromTouchArea(tapPoint);
--
cgit v1.2.1
From 9b770f382ef7f1251f0f770175514345899101a8 Mon Sep 17 00:00:00 2001
From: Tobrun Van Nuland
Date: Wed, 26 Jul 2017 16:45:49 +0200
Subject: [android] - build snapshots from release branch for v5.1.2
---
platform/android/MapboxGLAndroidSDK/gradle.properties | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'platform/android')
diff --git a/platform/android/MapboxGLAndroidSDK/gradle.properties b/platform/android/MapboxGLAndroidSDK/gradle.properties
index 078fdbc801..a8646e3270 100644
--- a/platform/android/MapboxGLAndroidSDK/gradle.properties
+++ b/platform/android/MapboxGLAndroidSDK/gradle.properties
@@ -1,5 +1,5 @@
GROUP=com.mapbox.mapboxsdk
-VERSION_NAME=5.2.0-SNAPSHOT
+VERSION_NAME=5.1.2-SNAPSHOT
POM_DESCRIPTION=Mapbox GL Android SDK
POM_URL=https://github.com/mapbox/mapbox-gl-native
--
cgit v1.2.1
From caba393c0ec3042a3e8e7f1a782e0283d131a996 Mon Sep 17 00:00:00 2001
From: Pablo Guardiola
Date: Thu, 27 Jul 2017 15:38:53 +0200
Subject: [android] fix compass direction (Transform::getCameraOptions returns
counterclockwise angle after transform.invalidateCameraPosition() which needs
to be transformed to a clockwise bearing) (#9632)
---
.../src/main/java/com/mapbox/mapboxsdk/maps/UiSettings.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
(limited to 'platform/android')
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/UiSettings.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/UiSettings.java
index 7f8ba21e3e..3f43c23a7f 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/UiSettings.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/UiSettings.java
@@ -421,7 +421,8 @@ public final class UiSettings {
return;
}
- compassView.update(cameraPosition.bearing);
+ double clockwiseBearing = -cameraPosition.bearing;
+ compassView.update(clockwiseBearing);
}
/**
--
cgit v1.2.1
From 21bbf5a9e0e82e60250f5b05dd5430052a7b2469 Mon Sep 17 00:00:00 2001
From: Tobrun
Date: Tue, 1 Aug 2017 16:33:52 +0200
Subject: [android] - fix OnCameraMoveStartedListener typo (#9664)
---
.../src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java | 2 +-
.../mapboxsdk/testapp/activity/camera/CameraPositionActivity.java | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
(limited to 'platform/android')
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java
index c8725d8d8d..e074d938fd 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java
@@ -1708,7 +1708,7 @@ public final class MapboxMap {
* @param listener the listener to notify
*/
@UiThread
- public void setOnCameraMoveStartedistener(@Nullable OnCameraMoveStartedListener listener) {
+ public void setOnCameraMoveStartedListener(@Nullable OnCameraMoveStartedListener listener) {
cameraChangeDispatcher.setOnCameraMoveStartedListener(listener);
}
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/CameraPositionActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/CameraPositionActivity.java
index cb2f57d860..10464b087a 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/CameraPositionActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/CameraPositionActivity.java
@@ -67,7 +67,7 @@ public class CameraPositionActivity extends AppCompatActivity implements OnMapRe
}
});
- mapboxMap.setOnCameraMoveStartedistener(new MapboxMap.OnCameraMoveStartedListener() {
+ mapboxMap.setOnCameraMoveStartedListener(new MapboxMap.OnCameraMoveStartedListener() {
private final String[] REASONS = {"REASON_API_GESTURE", "REASON_DEVELOPER_ANIMATION", "REASON_API_ANIMATION"};
--
cgit v1.2.1
From e4a61426bf1893637617159ebea5b61b37114d12 Mon Sep 17 00:00:00 2001
From: Tobrun
Date: Tue, 1 Aug 2017 15:25:24 +0200
Subject: [android] - try/catch initalisation of Telemetry (#9658)
---
.../src/main/java/com/mapbox/mapboxsdk/Mapbox.java | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
(limited to 'platform/android')
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/Mapbox.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/Mapbox.java
index 6722000be7..eadc3fdcf5 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/Mapbox.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/Mapbox.java
@@ -15,6 +15,8 @@ import com.mapbox.services.android.telemetry.MapboxTelemetry;
import com.mapbox.services.android.telemetry.location.LocationEngine;
import com.mapbox.services.android.telemetry.location.LocationEnginePriority;
+import timber.log.Timber;
+
/**
* The entry point to initialize the Mapbox Android SDK.
*
@@ -48,8 +50,14 @@ public final class Mapbox {
INSTANCE = new Mapbox(appContext, accessToken, new LocationSource(appContext));
LocationEngine locationEngine = new LocationSource(appContext);
locationEngine.setPriority(LocationEnginePriority.NO_POWER);
- MapboxTelemetry.getInstance().initialize(
- appContext, accessToken, BuildConfig.MAPBOX_EVENTS_USER_AGENT, locationEngine);
+
+ try {
+ MapboxTelemetry.getInstance().initialize(
+ appContext, accessToken, BuildConfig.MAPBOX_EVENTS_USER_AGENT, locationEngine);
+ } catch (Exception exception) {
+ Timber.e(exception, "Unable to instantiate Mapbox telemetry");
+ }
+
ConnectivityReceiver.instance(appContext);
}
return INSTANCE;
--
cgit v1.2.1
From f5b48a5d06be88bfb373c8dab4d9576d122c8937 Mon Sep 17 00:00:00 2001
From: Tobrun
Date: Tue, 1 Aug 2017 15:25:07 +0200
Subject: [android] - remove preview image integration (#9657)
---
.../java/com/mapbox/mapboxsdk/maps/MapView.java | 3 +-
.../drawable-v21/mapbox_default_bg_selector.xml | 9 ----
.../res/drawable-xxhdpi/mapbox_mapview_preview.jpg | Bin 166053 -> 0 bytes
.../res/drawable/mapbox_default_bg_selector.xml | 6 ---
.../src/main/res/layout/mapbox_mapview_preview.xml | 52 ---------------------
.../src/main/res/values/colors.xml | 1 -
6 files changed, 1 insertion(+), 70 deletions(-)
delete mode 100644 platform/android/MapboxGLAndroidSDK/src/main/res/drawable-v21/mapbox_default_bg_selector.xml
delete mode 100644 platform/android/MapboxGLAndroidSDK/src/main/res/drawable-xxhdpi/mapbox_mapview_preview.jpg
delete mode 100644 platform/android/MapboxGLAndroidSDK/src/main/res/drawable/mapbox_default_bg_selector.xml
delete mode 100644 platform/android/MapboxGLAndroidSDK/src/main/res/layout/mapbox_mapview_preview.xml
(limited to 'platform/android')
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java
index c51d9327d2..32c4952aa1 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java
@@ -95,8 +95,7 @@ public class MapView extends FrameLayout {
private void initialise(@NonNull final Context context, @NonNull final MapboxMapOptions options) {
if (isInEditMode()) {
- // in IDE, show preview map
- LayoutInflater.from(context).inflate(R.layout.mapbox_mapview_preview, this);
+ // in IDE layout editor, just return
return;
}
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/res/drawable-v21/mapbox_default_bg_selector.xml b/platform/android/MapboxGLAndroidSDK/src/main/res/drawable-v21/mapbox_default_bg_selector.xml
deleted file mode 100644
index 2fd6815c23..0000000000
--- a/platform/android/MapboxGLAndroidSDK/src/main/res/drawable-v21/mapbox_default_bg_selector.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
- -
-
-
-
-
-
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/res/drawable-xxhdpi/mapbox_mapview_preview.jpg b/platform/android/MapboxGLAndroidSDK/src/main/res/drawable-xxhdpi/mapbox_mapview_preview.jpg
deleted file mode 100644
index 3a21fc08bc..0000000000
Binary files a/platform/android/MapboxGLAndroidSDK/src/main/res/drawable-xxhdpi/mapbox_mapview_preview.jpg and /dev/null differ
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/res/drawable/mapbox_default_bg_selector.xml b/platform/android/MapboxGLAndroidSDK/src/main/res/drawable/mapbox_default_bg_selector.xml
deleted file mode 100644
index 3efe48615b..0000000000
--- a/platform/android/MapboxGLAndroidSDK/src/main/res/drawable/mapbox_default_bg_selector.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/res/layout/mapbox_mapview_preview.xml b/platform/android/MapboxGLAndroidSDK/src/main/res/layout/mapbox_mapview_preview.xml
deleted file mode 100644
index 1c1ab0e71b..0000000000
--- a/platform/android/MapboxGLAndroidSDK/src/main/res/layout/mapbox_mapview_preview.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/res/values/colors.xml b/platform/android/MapboxGLAndroidSDK/src/main/res/values/colors.xml
index 63ef42c2c3..69ab7568bb 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/res/values/colors.xml
+++ b/platform/android/MapboxGLAndroidSDK/src/main/res/values/colors.xml
@@ -1,7 +1,6 @@
#7D7F80
- #EEEEEE
#1E8CAB
@color/mapbox_blue
--
cgit v1.2.1
From f8c418e2b1cf7229908dd322e1442fda1a05605e Mon Sep 17 00:00:00 2001
From: Tobrun
Date: Tue, 1 Aug 2017 21:31:35 +0200
Subject: [android] - bump MAS dependency (#9671)
---
platform/android/dependencies.gradle | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'platform/android')
diff --git a/platform/android/dependencies.gradle b/platform/android/dependencies.gradle
index 3d8f48b46b..5fd2ec3716 100644
--- a/platform/android/dependencies.gradle
+++ b/platform/android/dependencies.gradle
@@ -7,7 +7,7 @@ ext {
versionCode = 11
versionName = "5.0.0"
- mapboxServicesVersion = "2.1.3"
+ mapboxServicesVersion = "2.2.0"
supportLibVersion = "25.3.1"
wearableVersion = '2.0.0'
espressoVersion = '2.2.2'
--
cgit v1.2.1
From a523b710aceccc992c5aa193acbcd4bf4c93a62d Mon Sep 17 00:00:00 2001
From: Tobrun Van Nuland
Date: Tue, 1 Aug 2017 21:33:31 +0200
Subject: [android] - update changelog for release v5.1.2
---
platform/android/CHANGELOG.md | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
(limited to 'platform/android')
diff --git a/platform/android/CHANGELOG.md b/platform/android/CHANGELOG.md
index b2eaaa2a9c..485ceaab8a 100644
--- a/platform/android/CHANGELOG.md
+++ b/platform/android/CHANGELOG.md
@@ -2,7 +2,21 @@
Mapbox welcomes participation and contributions from everyone. If you'd like to do so please see the [`Contributing Guide`](https://github.com/mapbox/mapbox-gl-native/blob/master/CONTRIBUTING.md) first to get started.
-## 5.1.1 - TBA
+## 5.1.2 - August 2, 20017
+
+* Disable program caching on Ardreno GPU 3xx, 4xx and 5xx [#9625](https://github.com/mapbox/mapbox-gl-native/pull/9625)
+* GeoJSON proguard issue [#9577](https://github.com/mapbox/mapbox-gl-native/pull/9577)
+* Harden click events of shape annotations [#9585](https://github.com/mapbox/mapbox-gl-native/pull/9585)
+* Validate Marker before opening InfoWindow [#9586](https://github.com/mapbox/mapbox-gl-native/pull/9586)
+* Fix added to map check [#9602](https://github.com/mapbox/mapbox-gl-native/pull/9602)
+* Don't query shape annotations if none were added [#9606](https://github.com/mapbox/mapbox-gl-native/pull/9606)
+* Fix compass direction [#9632](https://github.com/mapbox/mapbox-gl-native/pull/9632)
+* Remove preview image integration [#9657](https://github.com/mapbox/mapbox-gl-native/pull/9657)
+* Try/catch initialization of telemetry [#9658](https://github.com/mapbox/mapbox-gl-native/pull/9658)
+* Fix typo OnCameraMoveStartedListener [#9664](https://github.com/mapbox/mapbox-gl-native/pull/9664)
+* Bump MAS dependency to 5.2.0 [#9671](https://github.com/mapbox/mapbox-gl-native/pull/9671)
+
+## 5.1.1 - July 21, 2017
* Rework attribution binding [#9433](https://github.com/mapbox/mapbox-gl-native/pull/9433)
* BackendScope changes [#9538](https://github.com/mapbox/mapbox-gl-native/pull/9538)
--
cgit v1.2.1
From ebab0c1a1bb6e8e76cefff72b262e33f9ac0555c Mon Sep 17 00:00:00 2001
From: Tobrun Van Nuland
Date: Wed, 2 Aug 2017 12:29:10 +0200
Subject: [android] - release android v5.1.2, update config
---
platform/android/MapboxGLAndroidSDK/gradle.properties | 2 +-
.../fabric/com.mapbox.mapboxsdk.mapbox-android-sdk.properties | 2 +-
platform/android/dependencies.gradle | 4 ++--
3 files changed, 4 insertions(+), 4 deletions(-)
(limited to 'platform/android')
diff --git a/platform/android/MapboxGLAndroidSDK/gradle.properties b/platform/android/MapboxGLAndroidSDK/gradle.properties
index a8646e3270..af1d04ab97 100644
--- a/platform/android/MapboxGLAndroidSDK/gradle.properties
+++ b/platform/android/MapboxGLAndroidSDK/gradle.properties
@@ -1,5 +1,5 @@
GROUP=com.mapbox.mapboxsdk
-VERSION_NAME=5.1.2-SNAPSHOT
+VERSION_NAME=5.1.3-SNAPSHOT
POM_DESCRIPTION=Mapbox GL Android SDK
POM_URL=https://github.com/mapbox/mapbox-gl-native
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/resources/fabric/com.mapbox.mapboxsdk.mapbox-android-sdk.properties b/platform/android/MapboxGLAndroidSDK/src/main/resources/fabric/com.mapbox.mapboxsdk.mapbox-android-sdk.properties
index a02b5d63ac..3cfc7d5fdc 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/resources/fabric/com.mapbox.mapboxsdk.mapbox-android-sdk.properties
+++ b/platform/android/MapboxGLAndroidSDK/src/main/resources/fabric/com.mapbox.mapboxsdk.mapbox-android-sdk.properties
@@ -1,3 +1,3 @@
fabric-identifier=com.mapbox.mapboxsdk.mapbox-android-sdk
-fabric-version=5.1.1
+fabric-version=5.1.2
fabric-build-type=binary
diff --git a/platform/android/dependencies.gradle b/platform/android/dependencies.gradle
index 5fd2ec3716..a4b202086a 100644
--- a/platform/android/dependencies.gradle
+++ b/platform/android/dependencies.gradle
@@ -4,8 +4,8 @@ ext {
compileSdkVersion = 25
buildToolsVersion = "25.0.2"
- versionCode = 11
- versionName = "5.0.0"
+ versionCode = 12
+ versionName = "5.1.3"
mapboxServicesVersion = "2.2.0"
supportLibVersion = "25.3.1"
--
cgit v1.2.1
From 8c020591de0f5129b9c9d6a99fcf47fdd61a2b0f Mon Sep 17 00:00:00 2001
From: Fabian Guerra
Date: Mon, 28 Aug 2017 15:18:20 -0400
Subject: [android] Diable lint check for MissingTranslation
---
platform/android/MapboxGLAndroidSDK/build.gradle | 3 ++-
platform/android/MapboxGLAndroidSDKTestApp/build.gradle | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
(limited to 'platform/android')
diff --git a/platform/android/MapboxGLAndroidSDK/build.gradle b/platform/android/MapboxGLAndroidSDK/build.gradle
index 025097e756..c96587fce6 100644
--- a/platform/android/MapboxGLAndroidSDK/build.gradle
+++ b/platform/android/MapboxGLAndroidSDK/build.gradle
@@ -119,9 +119,10 @@ android {
}
lintOptions {
+ disable 'MissingTranslation', 'TypographyQuotes'
baseline file("lint-baseline-local.xml")
checkAllWarnings true
- warningsAsErrors true
+ warningsAsErrors false
}
testOptions {
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/build.gradle b/platform/android/MapboxGLAndroidSDKTestApp/build.gradle
index 360cb36067..d7b71beefd 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/build.gradle
+++ b/platform/android/MapboxGLAndroidSDKTestApp/build.gradle
@@ -28,7 +28,8 @@ android {
baseline file("lint-baseline-local.xml")
checkAllWarnings true
warningsAsErrors true
- disable 'MissingTranslation', 'GoogleAppIndexingWarning', 'UnpackedNativeCode', 'IconDipSize'
+ disable 'MissingTranslation', 'GoogleAppIndexingWarning', 'UnpackedNativeCode', 'IconDipSize', 'TypographyQuotes'
+ abortOnError false
}
buildTypes {
--
cgit v1.2.1
From dd18e1af1e8366bc3126cc897ae4b6d5890acd0b Mon Sep 17 00:00:00 2001
From: Fabian Guerra
Date: Mon, 28 Aug 2017 17:11:40 -0400
Subject: [android] Update sdk version.
---
platform/android/MapboxGLAndroidSDK/gradle.properties | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'platform/android')
diff --git a/platform/android/MapboxGLAndroidSDK/gradle.properties b/platform/android/MapboxGLAndroidSDK/gradle.properties
index 389fcf275a..ff6e2f61df 100644
--- a/platform/android/MapboxGLAndroidSDK/gradle.properties
+++ b/platform/android/MapboxGLAndroidSDK/gradle.properties
@@ -1,5 +1,5 @@
GROUP=com.mapbox.mapboxsdk
-VERSION_NAME=5.1.3-SNAPSHOT
+VERSION_NAME=5.2.0-SNAPSHOT
POM_DESCRIPTION=Mapbox GL Android SDK
POM_URL=https://github.com/mapbox/mapbox-gl-native
--
cgit v1.2.1