summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AnnotationContainer.java1
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AnnotationManager.java45
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AttributionDialogManager.java17
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/CameraChangeDispatcher.java2
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/FocalPointChangeListener.java3
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/IconManager.java17
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/InfoWindowManager.java10
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapFragment.java7
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapGestureDetector.java98
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapKeyListener.java2
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java30
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java13
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMapOptions.java39
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MarkerContainer.java7
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Markers.java1
-rwxr-xr-xplatform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java92
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/PolygonContainer.java4
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/PolylineContainer.java4
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Projection.java1
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/ShapeAnnotationContainer.java5
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/SupportMapFragment.java3
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/TelemetryDefinition.java5
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java16
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/UiSettings.java24
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/MapRenderer.java5
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/MapRendererScheduler.java3
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/egl/EGLConfigChooser.java6
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/glsurfaceview/GLSurfaceViewMapRenderer.java2
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/textureview/TextureViewRenderThread.java8
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/CompassView.java8
30 files changed, 324 insertions, 154 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AnnotationContainer.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AnnotationContainer.java
index 939fadc9c2..4612d7d941 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AnnotationContainer.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AnnotationContainer.java
@@ -27,6 +27,7 @@ class AnnotationContainer implements Annotations {
return annotations.get(id);
}
+ @NonNull
@Override
public List<Annotation> obtainAll() {
List<Annotation> annotations = new ArrayList<>();
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 95795f6bb9..86eb0b10e6 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
@@ -45,13 +45,17 @@ class AnnotationManager {
private final MapView mapView;
private final IconManager iconManager;
private final InfoWindowManager infoWindowManager = new InfoWindowManager();
+ @NonNull
private final MarkerViewManager markerViewManager;
private final LongSparseArray<Annotation> annotationsArray;
private final List<Marker> selectedMarkers = new ArrayList<>();
private MapboxMap mapboxMap;
+ @Nullable
private MapboxMap.OnMarkerClickListener onMarkerClickListener;
+ @Nullable
private MapboxMap.OnPolygonClickListener onPolygonClickListener;
+ @Nullable
private MapboxMap.OnPolylineClickListener onPolylineClickListener;
private Annotations annotations;
@@ -60,8 +64,8 @@ class AnnotationManager {
private Polygons polygons;
private Polylines polylines;
- AnnotationManager(NativeMapView view, MapView mapView, LongSparseArray<Annotation> annotationsArray,
- MarkerViewManager markerViewManager, IconManager iconManager, Annotations annotations,
+ AnnotationManager(@Nullable NativeMapView view, MapView mapView, LongSparseArray<Annotation> annotationsArray,
+ @NonNull MarkerViewManager markerViewManager, IconManager iconManager, Annotations annotations,
Markers markers, Polygons polygons, Polylines polylines, ShapeAnnotations shapeAnnotations) {
this.mapView = mapView;
this.annotationsArray = annotationsArray;
@@ -80,6 +84,7 @@ class AnnotationManager {
// TODO refactor MapboxMap out for Projection and Transform
// Requires removing MapboxMap from Annotations by using Peer model from #6912
+ @NonNull
AnnotationManager bind(MapboxMap mapboxMap) {
this.mapboxMap = mapboxMap;
this.markerViewManager.bind(mapboxMap);
@@ -224,7 +229,7 @@ class AnnotationManager {
return polygons.addBy(polygonOptionsList, mapboxMap);
}
- void updatePolygon(Polygon polygon) {
+ void updatePolygon(@NonNull Polygon polygon) {
if (!isAddedToMap(polygon)) {
logNonAdded(polygon);
return;
@@ -248,7 +253,7 @@ class AnnotationManager {
return polylines.addBy(polylineOptionsList, mapboxMap);
}
- void updatePolyline(Polyline polyline) {
+ void updatePolyline(@NonNull Polyline polyline) {
if (!isAddedToMap(polyline)) {
logNonAdded(polyline);
return;
@@ -333,19 +338,22 @@ class AnnotationManager {
selectedMarkers.remove(marker);
}
+ @NonNull
List<Marker> getSelectedMarkers() {
return selectedMarkers;
}
+ @NonNull
InfoWindowManager getInfoWindowManager() {
return infoWindowManager;
}
+ @NonNull
MarkerViewManager getMarkerViewManager() {
return markerViewManager;
}
- void adjustTopOffsetPixels(MapboxMap mapboxMap) {
+ void adjustTopOffsetPixels(@NonNull MapboxMap mapboxMap) {
int count = annotationsArray.size();
for (int i = 0; i < count; i++) {
Annotation annotation = annotationsArray.get(i);
@@ -364,11 +372,11 @@ class AnnotationManager {
}
}
- private boolean isAddedToMap(Annotation annotation) {
+ private boolean isAddedToMap(@Nullable Annotation annotation) {
return annotation != null && annotation.getId() != -1 && annotationsArray.indexOfKey(annotation.getId()) > -1;
}
- private void logNonAdded(Annotation annotation) {
+ private void logNonAdded(@NonNull Annotation annotation) {
Logger.w(TAG, String.format(
"Attempting to update non-added %s with value %s", annotation.getClass().getCanonicalName(), annotation)
);
@@ -378,7 +386,7 @@ class AnnotationManager {
// Click event
//
- boolean onTap(PointF tapPoint) {
+ boolean onTap(@NonNull PointF tapPoint) {
MarkerHit markerHit = getMarkerHitFromTouchArea(tapPoint);
long markerId = new MarkerHitResolver(mapboxMap).execute(markerHit);
if (markerId != NO_ANNOTATION_ID) {
@@ -440,11 +448,11 @@ class AnnotationManager {
return true;
}
- private boolean onClickMarker(Marker marker) {
+ private boolean onClickMarker(@NonNull Marker marker) {
return onMarkerClickListener != null && onMarkerClickListener.onMarkerClick(marker);
}
- private void toggleMarkerSelectionState(Marker marker) {
+ private void toggleMarkerSelectionState(@NonNull Marker marker) {
if (!selectedMarkers.contains(marker)) {
selectMarker(marker);
} else {
@@ -460,7 +468,8 @@ class AnnotationManager {
this.shapeAnnotations = shapeAnnotations;
}
- public Annotation execute(ShapeAnnotationHit shapeHit) {
+ @Nullable
+ public Annotation execute(@NonNull ShapeAnnotationHit shapeHit) {
Annotation foundAnnotation = null;
List<Annotation> annotations = shapeAnnotations.obtainAllIn(shapeHit.tapPoint);
if (annotations.size() > 0) {
@@ -472,18 +481,24 @@ class AnnotationManager {
private static class MarkerHitResolver {
+ @NonNull
private final MarkerViewManager markerViewManager;
+ @NonNull
private final Projection projection;
private final int minimalTouchSize;
+ @Nullable
private View view;
private Bitmap bitmap;
private int bitmapWidth;
private int bitmapHeight;
private PointF markerLocation;
+ @NonNull
private Rect hitRectView = new Rect();
+ @NonNull
private RectF hitRectMarker = new RectF();
+ @NonNull
private RectF highestSurfaceIntersection = new RectF();
private long closestMarkerId = NO_ANNOTATION_ID;
@@ -494,7 +509,7 @@ class AnnotationManager {
this.minimalTouchSize = (int) (32 * Mapbox.getApplicationContext().getResources().getDisplayMetrics().density);
}
- public long execute(MarkerHit markerHit) {
+ public long execute(@NonNull MarkerHit markerHit) {
resolveForMarkers(markerHit);
return closestMarkerId;
}
@@ -509,7 +524,7 @@ class AnnotationManager {
}
}
- private void resolveForMarkerView(MarkerHit markerHit, MarkerView markerView) {
+ private void resolveForMarkerView(@NonNull MarkerHit markerHit, @NonNull MarkerView markerView) {
view = markerViewManager.getView(markerView);
if (view != null) {
view.getHitRect(hitRectView);
@@ -518,7 +533,7 @@ class AnnotationManager {
}
}
- private void resolveForMarker(MarkerHit markerHit, Marker marker) {
+ private void resolveForMarker(@NonNull MarkerHit markerHit, Marker marker) {
markerLocation = projection.toScreenLocation(marker.getPosition());
bitmap = marker.getIcon().getBitmap();
@@ -540,7 +555,7 @@ class AnnotationManager {
hitTestMarker(markerHit, marker, hitRectMarker);
}
- private void hitTestMarker(MarkerHit markerHit, Marker marker, RectF hitRectMarker) {
+ private void hitTestMarker(@NonNull MarkerHit markerHit, @NonNull Marker marker, @NonNull RectF hitRectMarker) {
if (hitRectMarker.contains(markerHit.getTapPointX(), markerHit.getTapPointY())) {
hitRectMarker.intersect(markerHit.tapRect);
if (isRectangleHighestSurfaceIntersection(hitRectMarker)) {
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AttributionDialogManager.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AttributionDialogManager.java
index 5cba2109e2..f849dc7f15 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AttributionDialogManager.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AttributionDialogManager.java
@@ -8,6 +8,7 @@ import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Toast;
@@ -40,7 +41,9 @@ public class AttributionDialogManager implements View.OnClickListener, DialogInt
private static final String MAP_FEEDBACK_URL = "https://www.mapbox.com/map-feedback";
private static final String MAP_FEEDBACK_LOCATION_FORMAT = MAP_FEEDBACK_URL + "/#/%f/%f/%d";
+ @NonNull
private final Context context;
+ @NonNull
private final MapboxMap mapboxMap;
private Set<Attribution> attributionSet;
@@ -51,7 +54,7 @@ public class AttributionDialogManager implements View.OnClickListener, DialogInt
// Called when someone presses the attribution icon on the map
@Override
- public void onClick(View view) {
+ public void onClick(@NonNull View view) {
attributionSet = new AttributionBuilder(mapboxMap, view.getContext()).build();
boolean isActivityFinishing = false;
@@ -66,7 +69,7 @@ public class AttributionDialogManager implements View.OnClickListener, DialogInt
}
}
- protected void showAttributionDialog(String[] attributionTitles) {
+ protected void showAttributionDialog(@NonNull String[] attributionTitles) {
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle(R.string.mapbox_attributionsDialogTitle);
builder.setAdapter(new ArrayAdapter<>(context, R.layout.mapbox_attribution_list_item, attributionTitles), this);
@@ -101,7 +104,7 @@ public class AttributionDialogManager implements View.OnClickListener, DialogInt
builder.setMessage(R.string.mapbox_attributionTelemetryMessage);
builder.setPositiveButton(R.string.mapbox_attributionTelemetryPositive, new DialogInterface.OnClickListener() {
@Override
- public void onClick(DialogInterface dialog, int which) {
+ public void onClick(@NonNull DialogInterface dialog, int which) {
TelemetryDefinition telemetry = Mapbox.getTelemetry();
if (telemetry != null) {
telemetry.setUserTelemetryRequestState(true);
@@ -111,14 +114,14 @@ public class AttributionDialogManager implements View.OnClickListener, DialogInt
});
builder.setNeutralButton(R.string.mapbox_attributionTelemetryNeutral, new DialogInterface.OnClickListener() {
@Override
- public void onClick(DialogInterface dialog, int which) {
+ public void onClick(@NonNull DialogInterface dialog, int which) {
showWebPage(context.getResources().getString(R.string.mapbox_telemetryLink));
dialog.cancel();
}
});
builder.setNegativeButton(R.string.mapbox_attributionTelemetryNegative, new DialogInterface.OnClickListener() {
@Override
- public void onClick(DialogInterface dialog, int which) {
+ public void onClick(@NonNull DialogInterface dialog, int which) {
TelemetryDefinition telemetry = Mapbox.getTelemetry();
if (telemetry != null) {
telemetry.setUserTelemetryRequestState(false);
@@ -138,7 +141,8 @@ public class AttributionDialogManager implements View.OnClickListener, DialogInt
showWebPage(url);
}
- private String buildMapFeedbackMapUrl(CameraPosition cameraPosition) {
+ @NonNull
+ private String buildMapFeedbackMapUrl(@Nullable CameraPosition cameraPosition) {
// appends current location to the map feedback url if available
return cameraPosition != null ? String.format(Locale.getDefault(),
MAP_FEEDBACK_LOCATION_FORMAT, cameraPosition.target.getLongitude(), cameraPosition.target.getLatitude(),
@@ -160,6 +164,7 @@ public class AttributionDialogManager implements View.OnClickListener, DialogInt
private static class AttributionBuilder {
private final MapboxMap mapboxMap;
+ @NonNull
private final WeakReference<Context> context;
AttributionBuilder(MapboxMap mapboxMap, Context context) {
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/CameraChangeDispatcher.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/CameraChangeDispatcher.java
index a87a290fd7..3f969df022 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/CameraChangeDispatcher.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/CameraChangeDispatcher.java
@@ -203,7 +203,7 @@ class CameraChangeDispatcher implements MapboxMap.OnCameraMoveStartedListener, M
}
@Override
- public void handleMessage(Message msg) {
+ public void handleMessage(@NonNull Message msg) {
CameraChangeDispatcher dispatcher = dispatcherWeakReference.get();
if (dispatcher != null) {
switch (msg.what) {
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/FocalPointChangeListener.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/FocalPointChangeListener.java
index aec9a848b7..c5c0a15ac6 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/FocalPointChangeListener.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/FocalPointChangeListener.java
@@ -1,11 +1,12 @@
package com.mapbox.mapboxsdk.maps;
import android.graphics.PointF;
+import android.support.annotation.NonNull;
/**
* Interface definition of a callback that is invoked when the focal point will change.
*/
public interface FocalPointChangeListener {
- void onFocalPointChanged(PointF pointF);
+ void onFocalPointChanged(@NonNull PointF pointF);
}
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 80ffa973e7..7aca93fe2e 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
@@ -2,6 +2,7 @@ package com.mapbox.mapboxsdk.maps;
import android.graphics.Bitmap;
+import android.support.annotation.NonNull;
import com.mapbox.mapboxsdk.Mapbox;
import com.mapbox.mapboxsdk.annotations.Icon;
import com.mapbox.mapboxsdk.annotations.IconFactory;
@@ -37,7 +38,7 @@ class IconManager {
loadIcon(IconFactory.recreate(IconFactory.ICON_MARKERVIEW_ID, IconFactory.ICON_MARKERVIEW_BITMAP));
}
- Icon loadIconForMarker(Marker marker) {
+ Icon loadIconForMarker(@NonNull Marker marker) {
Icon icon = marker.getIcon();
if (icon == null) {
// TODO replace with anchor implementation, we are faking an anchor by adding extra pixels and diving height by 2
@@ -50,14 +51,14 @@ class IconManager {
return icon;
}
- void loadIconForMarkerView(MarkerView marker) {
+ void loadIconForMarkerView(@NonNull MarkerView marker) {
Icon icon = marker.getIcon();
Bitmap bitmap = icon.getBitmap();
updateHighestIconSize(bitmap);
addIcon(icon, false);
}
- int getTopOffsetPixelsForIcon(Icon icon) {
+ int getTopOffsetPixelsForIcon(@NonNull Icon icon) {
return (int) (nativeMapView.getTopOffsetPixelsForAnnotationSymbol(icon.getId()) * nativeMapView.getPixelRatio());
}
@@ -77,11 +78,11 @@ class IconManager {
return icon;
}
- private void addIcon(Icon icon) {
+ private void addIcon(@NonNull Icon icon) {
addIcon(icon, true);
}
- private void addIcon(Icon icon, boolean addIconToMap) {
+ private void addIcon(@NonNull Icon icon, boolean addIconToMap) {
if (!iconMap.keySet().contains(icon)) {
iconMap.put(icon, 1);
if (addIconToMap) {
@@ -125,7 +126,7 @@ class IconManager {
}
}
- void ensureIconLoaded(Marker marker, MapboxMap mapboxMap) {
+ void ensureIconLoaded(@NonNull Marker marker, @NonNull MapboxMap mapboxMap) {
Icon icon = marker.getIcon();
if (icon == null) {
icon = loadDefaultIconForMarker(marker);
@@ -134,7 +135,7 @@ class IconManager {
setTopOffsetPixels(marker, mapboxMap, icon);
}
- private void setTopOffsetPixels(Marker marker, MapboxMap mapboxMap, Icon icon) {
+ private void setTopOffsetPixels(Marker marker, @NonNull MapboxMap mapboxMap, @NonNull Icon icon) {
// this seems to be a costly operation according to the profiler so I'm trying to save some calls
Marker previousMarker = marker.getId() != -1 ? (Marker) mapboxMap.getAnnotation(marker.getId()) : null;
if (previousMarker == null || previousMarker.getIcon() == null || previousMarker.getIcon() != marker.getIcon()) {
@@ -142,7 +143,7 @@ class IconManager {
}
}
- void iconCleanup(Icon icon) {
+ void iconCleanup(@NonNull Icon icon) {
Integer refCounter = iconMap.get(icon);
if (refCounter != null) {
refCounter--;
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 af207204d9..434244a7c1 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
@@ -23,11 +23,15 @@ class InfoWindowManager {
private final List<InfoWindow> infoWindows = new ArrayList<>();
+ @Nullable
private MapboxMap.InfoWindowAdapter infoWindowAdapter;
private boolean allowConcurrentMultipleInfoWindows;
+ @Nullable
private MapboxMap.OnInfoWindowClickListener onInfoWindowClickListener;
+ @Nullable
private MapboxMap.OnInfoWindowLongClickListener onInfoWindowLongClickListener;
+ @Nullable
private MapboxMap.OnInfoWindowCloseListener onInfoWindowCloseListener;
void update() {
@@ -42,6 +46,7 @@ class InfoWindowManager {
this.infoWindowAdapter = infoWindowAdapter;
}
+ @Nullable
MapboxMap.InfoWindowAdapter getInfoWindowAdapter() {
return infoWindowAdapter;
}
@@ -54,7 +59,7 @@ class InfoWindowManager {
return allowConcurrentMultipleInfoWindows;
}
- boolean isInfoWindowValidForMarker(Marker marker) {
+ boolean isInfoWindowValidForMarker(@Nullable Marker marker) {
return marker != null && (!TextUtils.isEmpty(marker.getTitle()) || !TextUtils.isEmpty(marker.getSnippet()));
}
@@ -62,6 +67,7 @@ class InfoWindowManager {
onInfoWindowClickListener = listener;
}
+ @Nullable
MapboxMap.OnInfoWindowClickListener getOnInfoWindowClickListener() {
return onInfoWindowClickListener;
}
@@ -70,6 +76,7 @@ class InfoWindowManager {
onInfoWindowLongClickListener = listener;
}
+ @Nullable
MapboxMap.OnInfoWindowLongClickListener getOnInfoWindowLongClickListener() {
return onInfoWindowLongClickListener;
}
@@ -78,6 +85,7 @@ class InfoWindowManager {
onInfoWindowCloseListener = listener;
}
+ @Nullable
MapboxMap.OnInfoWindowCloseListener getOnInfoWindowCloseListener() {
return onInfoWindowCloseListener;
}
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapFragment.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapFragment.java
index d6057e28f8..f89b280c4c 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapFragment.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapFragment.java
@@ -51,6 +51,7 @@ public final class MapFragment extends Fragment implements OnMapReadyCallback {
* @param mapboxMapOptions The configuration options to be used.
* @return MapFragment instantiated.
*/
+ @NonNull
public static MapFragment newInstance(@Nullable MapboxMapOptions mapboxMapOptions) {
MapFragment mapFragment = new MapFragment();
mapFragment.setArguments(MapFragmentUtils.createFragmentArgs(mapboxMapOptions));
@@ -65,7 +66,7 @@ public final class MapFragment extends Fragment implements OnMapReadyCallback {
* @param savedInstanceState The saved instance state for the map fragment.
*/
@Override
- public void onInflate(Context context, AttributeSet attrs, Bundle savedInstanceState) {
+ public void onInflate(@NonNull Context context, AttributeSet attrs, Bundle savedInstanceState) {
super.onInflate(context, attrs, savedInstanceState);
setArguments(MapFragmentUtils.createFragmentArgs(MapboxMapOptions.createFromAttributes(context, attrs)));
}
@@ -92,7 +93,7 @@ public final class MapFragment extends Fragment implements OnMapReadyCallback {
* @return The view created
*/
@Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
+ public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
Context context = inflater.getContext();
map = new MapView(context, MapFragmentUtils.resolveArgs(context, getArguments()));
@@ -227,6 +228,6 @@ public final class MapFragment extends Fragment implements OnMapReadyCallback {
*
* @param mapView The created mapview
*/
- void onMapViewReady(MapView mapView);
+ void onMapViewReady(@NonNull MapView mapView);
}
}
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 711896e45e..ea211e7246 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
@@ -6,6 +6,7 @@ import android.animation.ValueAnimator;
import android.content.Context;
import android.graphics.PointF;
import android.os.Handler;
+import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.view.InputDevice;
import android.view.MotionEvent;
@@ -81,6 +82,7 @@ final class MapGestureDetector {
/**
* User-set focal point.
*/
+ @Nullable
private PointF focalPoint;
private AndroidGesturesManager gesturesManager;
@@ -94,9 +96,10 @@ final class MapGestureDetector {
* Cancels scheduled velocity animations if user doesn't lift fingers within
* {@link MapboxConstants#SCHEDULED_ANIMATION_TIMEOUT}
*/
+ @NonNull
private Handler animationsTimeoutHandler = new Handler();
- MapGestureDetector(Context context, Transform transform, Projection projection, UiSettings uiSettings,
+ MapGestureDetector(@Nullable Context context, Transform transform, Projection projection, UiSettings uiSettings,
AnnotationManager annotationManager, CameraChangeDispatcher cameraChangeDispatcher) {
this.annotationManager = annotationManager;
this.transform = transform;
@@ -115,7 +118,7 @@ final class MapGestureDetector {
}
}
- private void initializeGestureListeners(Context context, boolean attachDefaultListeners) {
+ private void initializeGestureListeners(@NonNull Context context, boolean attachDefaultListeners) {
if (attachDefaultListeners) {
StandardGestureListener standardGestureListener = new StandardGestureListener();
MoveGestureListener moveGestureListener = new MoveGestureListener();
@@ -137,7 +140,7 @@ final class MapGestureDetector {
}
}
- private void initializeGesturesManager(AndroidGesturesManager androidGesturesManager,
+ private void initializeGesturesManager(@NonNull AndroidGesturesManager androidGesturesManager,
boolean setDefaultMutuallyExclusives) {
if (setDefaultMutuallyExclusives) {
Set<Integer> shoveScaleSet = new HashSet<>();
@@ -167,7 +170,7 @@ final class MapGestureDetector {
*
* @param focalPoint the center point for gestures
*/
- void setFocalPoint(PointF focalPoint) {
+ void setFocalPoint(@Nullable PointF focalPoint) {
if (focalPoint == null) {
// resetting focal point,
if (uiSettings.getFocalPoint() != null) {
@@ -202,7 +205,7 @@ final class MapGestureDetector {
* @param motionEvent the MotionEvent
* @return True if touch event is handled
*/
- boolean onTouchEvent(MotionEvent motionEvent) {
+ boolean onTouchEvent(@Nullable MotionEvent motionEvent) {
// Framework can return null motion events in edge cases #9432
if (motionEvent == null) {
return false;
@@ -253,7 +256,7 @@ final class MapGestureDetector {
dispatchCameraIdle();
}
- private void cancelAnimator(Animator animator) {
+ private void cancelAnimator(@Nullable Animator animator) {
if (animator != null && animator.isStarted()) {
animator.cancel();
}
@@ -262,6 +265,7 @@ final class MapGestureDetector {
/**
* Posted on main thread with {@link #animationsTimeoutHandler}. Cancels all scheduled animators if needed.
*/
+ @NonNull
private Runnable cancelAnimatorsRunnable = new Runnable() {
@Override
public void run() {
@@ -436,7 +440,7 @@ final class MapGestureDetector {
private final class MoveGestureListener extends MoveGestureDetector.SimpleOnMoveGestureListener {
@Override
- public boolean onMoveBegin(MoveGestureDetector detector) {
+ public boolean onMoveBegin(@NonNull MoveGestureDetector detector) {
if (!uiSettings.isScrollGesturesEnabled()) {
return false;
}
@@ -448,7 +452,7 @@ final class MapGestureDetector {
}
@Override
- public boolean onMove(MoveGestureDetector detector, float distanceX, float distanceY) {
+ public boolean onMove(@NonNull MoveGestureDetector detector, float distanceX, float distanceY) {
// first move event is often delivered with no displacement
if (distanceX != 0 || distanceY != 0) {
// dispatching camera start event only when the movement actually occurred
@@ -464,7 +468,7 @@ final class MapGestureDetector {
}
@Override
- public void onMoveEnd(MoveGestureDetector detector, float velocityX, float velocityY) {
+ public void onMoveEnd(@NonNull MoveGestureDetector detector, float velocityX, float velocityY) {
dispatchCameraIdle();
notifyOnMoveEndListeners(detector);
}
@@ -474,6 +478,7 @@ final class MapGestureDetector {
private final float minimumVelocity;
+ @Nullable
private PointF scaleFocalPoint;
private boolean quickZoom;
@@ -482,7 +487,7 @@ final class MapGestureDetector {
}
@Override
- public boolean onScaleBegin(StandardScaleGestureDetector detector) {
+ public boolean onScaleBegin(@NonNull StandardScaleGestureDetector detector) {
if (!uiSettings.isZoomGesturesEnabled()) {
return false;
}
@@ -515,7 +520,7 @@ final class MapGestureDetector {
}
@Override
- public boolean onScale(StandardScaleGestureDetector detector) {
+ public boolean onScale(@NonNull StandardScaleGestureDetector detector) {
// dispatching camera start event only when the movement actually occurred
cameraChangeDispatcher.onCameraMoveStarted(CameraChangeDispatcher.REASON_API_GESTURE);
@@ -531,7 +536,7 @@ final class MapGestureDetector {
}
@Override
- public void onScaleEnd(StandardScaleGestureDetector detector, float velocityX, float velocityY) {
+ public void onScaleEnd(@NonNull StandardScaleGestureDetector detector, float velocityX, float velocityY) {
if (quickZoom) {
//if quickzoom, re-enabling move gesture detector
gesturesManager.getMoveGestureDetector().setEnabled(true);
@@ -561,7 +566,7 @@ final class MapGestureDetector {
scheduleAnimator(scaleAnimator);
}
- private void setScaleFocalPoint(StandardScaleGestureDetector detector) {
+ private void setScaleFocalPoint(@NonNull StandardScaleGestureDetector detector) {
if (focalPoint != null) {
// around user provided focal point
scaleFocalPoint = focalPoint;
@@ -597,6 +602,7 @@ final class MapGestureDetector {
}
private final class RotateGestureListener extends RotateGestureDetector.SimpleOnRotateGestureListener {
+ @Nullable
private PointF rotateFocalPoint;
private final float minimumScaleSpanWhenRotating;
private final float minimumAngularVelocity;
@@ -610,7 +616,7 @@ final class MapGestureDetector {
}
@Override
- public boolean onRotateBegin(RotateGestureDetector detector) {
+ public boolean onRotateBegin(@NonNull RotateGestureDetector detector) {
if (!uiSettings.isRotateGesturesEnabled()) {
return false;
}
@@ -635,7 +641,7 @@ final class MapGestureDetector {
}
@Override
- public boolean onRotate(RotateGestureDetector detector, float rotationDegreesSinceLast,
+ public boolean onRotate(@NonNull RotateGestureDetector detector, float rotationDegreesSinceLast,
float rotationDegreesSinceFirst) {
// dispatching camera start event only when the movement actually occurred
cameraChangeDispatcher.onCameraMoveStarted(CameraChangeDispatcher.REASON_API_GESTURE);
@@ -654,7 +660,8 @@ final class MapGestureDetector {
}
@Override
- public void onRotateEnd(RotateGestureDetector detector, float velocityX, float velocityY, float angularVelocity) {
+ public void onRotateEnd(@NonNull RotateGestureDetector detector, float velocityX, float velocityY,
+ float angularVelocity) {
if (uiSettings.isIncreaseScaleThresholdWhenRotating()) {
// resetting default scale threshold values
gesturesManager.getStandardScaleGestureDetector().setSpanSinceStartThreshold(defaultSpanSinceStartThreshold);
@@ -683,7 +690,7 @@ final class MapGestureDetector {
scheduleAnimator(rotateAnimator);
}
- private void setRotateFocalPoint(RotateGestureDetector detector) {
+ private void setRotateFocalPoint(@NonNull RotateGestureDetector detector) {
if (focalPoint != null) {
// User provided focal point
rotateFocalPoint = focalPoint;
@@ -699,7 +706,7 @@ final class MapGestureDetector {
animator.setInterpolator(new DecelerateInterpolator());
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
- public void onAnimationUpdate(ValueAnimator animation) {
+ public void onAnimationUpdate(@NonNull ValueAnimator animation) {
transform.setBearing(
transform.getRawBearing() + (float) animation.getAnimatedValue(),
rotateFocalPoint.x, rotateFocalPoint.y,
@@ -733,7 +740,7 @@ final class MapGestureDetector {
private final class ShoveGestureListener extends ShoveGestureDetector.SimpleOnShoveGestureListener {
@Override
- public boolean onShoveBegin(ShoveGestureDetector detector) {
+ public boolean onShoveBegin(@NonNull ShoveGestureDetector detector) {
if (!uiSettings.isTiltGesturesEnabled()) {
return false;
}
@@ -751,7 +758,8 @@ final class MapGestureDetector {
}
@Override
- public boolean onShove(ShoveGestureDetector detector, float deltaPixelsSinceLast, float deltaPixelsSinceStart) {
+ public boolean onShove(@NonNull ShoveGestureDetector detector, float deltaPixelsSinceLast,
+ float deltaPixelsSinceStart) {
// dispatching camera start event only when the movement actually occurred
cameraChangeDispatcher.onCameraMoveStarted(CameraChangeDispatcher.REASON_API_GESTURE);
@@ -769,7 +777,7 @@ final class MapGestureDetector {
}
@Override
- public void onShoveEnd(ShoveGestureDetector detector, float velocityX, float velocityY) {
+ public void onShoveEnd(@NonNull ShoveGestureDetector detector, float velocityX, float velocityY) {
dispatchCameraIdle();
// re-enabling move gesture
@@ -781,7 +789,7 @@ final class MapGestureDetector {
private final class TapGestureListener implements MultiFingerTapGestureDetector.OnMultiFingerTapGestureListener {
@Override
- public boolean onMultiFingerTap(MultiFingerTapGestureDetector detector, int pointersCount) {
+ public boolean onMultiFingerTap(@NonNull MultiFingerTapGestureDetector detector, int pointersCount) {
if (!uiSettings.isZoomGesturesEnabled() || pointersCount != 2) {
return false;
}
@@ -807,15 +815,15 @@ final class MapGestureDetector {
}
}
- private Animator createScaleAnimator(double currentZoom, double zoomAddition, final PointF animationFocalPoint,
- long animationTime) {
+ private Animator createScaleAnimator(double currentZoom, double zoomAddition,
+ @NonNull final PointF animationFocalPoint, long animationTime) {
ValueAnimator animator = ValueAnimator.ofFloat((float) currentZoom, (float) (currentZoom + zoomAddition));
animator.setDuration(animationTime);
animator.setInterpolator(new DecelerateInterpolator());
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
- public void onAnimationUpdate(ValueAnimator animation) {
+ public void onAnimationUpdate(@NonNull ValueAnimator animation) {
transform.setZoom((Float) animation.getAnimatedValue(), animationFocalPoint);
}
});
@@ -848,7 +856,7 @@ final class MapGestureDetector {
* @param runImmediately if true, animation will be started right away, otherwise it will wait until
* {@link MotionEvent#ACTION_UP} is registered.
*/
- void zoomInAnimated(PointF zoomFocalPoint, boolean runImmediately) {
+ void zoomInAnimated(@NonNull PointF zoomFocalPoint, boolean runImmediately) {
zoomAnimated(true, zoomFocalPoint, runImmediately);
}
@@ -859,11 +867,11 @@ final class MapGestureDetector {
* @param runImmediately if true, animation will be started right away, otherwise it will wait until
* {@link MotionEvent#ACTION_UP} is registered.
*/
- void zoomOutAnimated(PointF zoomFocalPoint, boolean runImmediately) {
+ void zoomOutAnimated(@NonNull PointF zoomFocalPoint, boolean runImmediately) {
zoomAnimated(false, zoomFocalPoint, runImmediately);
}
- private void zoomAnimated(boolean zoomIn, PointF zoomFocalPoint, boolean runImmediately) {
+ private void zoomAnimated(boolean zoomIn, @NonNull PointF zoomFocalPoint, boolean runImmediately) {
//canceling here as well, because when using a button it will not be canceled automatically by onDown()
cancelAnimator(scaleAnimator);
@@ -901,7 +909,7 @@ final class MapGestureDetector {
&& (!uiSettings.isTiltGesturesEnabled() || !gesturesManager.getShoveGestureDetector().isInProgress());
}
- private void sendTelemetryEvent(String eventType, PointF focalPoint) {
+ private void sendTelemetryEvent(String eventType, @NonNull PointF focalPoint) {
TelemetryDefinition telemetry = Mapbox.getTelemetry();
if (telemetry != null) {
CameraPosition cameraPosition = transform.getCameraPosition();
@@ -919,7 +927,7 @@ final class MapGestureDetector {
return mapZoom >= MapboxConstants.MINIMUM_ZOOM && mapZoom <= MapboxConstants.MAXIMUM_ZOOM;
}
- void notifyOnMapClickListeners(PointF tapPoint) {
+ void notifyOnMapClickListeners(@NonNull PointF tapPoint) {
// deprecated API
if (onMapClickListener != null) {
onMapClickListener.onMapClick(projection.fromScreenLocation(tapPoint));
@@ -931,7 +939,7 @@ final class MapGestureDetector {
}
}
- void notifyOnMapLongClickListeners(PointF longClickPoint) {
+ void notifyOnMapLongClickListeners(@NonNull PointF longClickPoint) {
// deprecated API
if (onMapLongClickListener != null) {
onMapLongClickListener.onMapLongClick(projection.fromScreenLocation(longClickPoint));
@@ -967,73 +975,73 @@ final class MapGestureDetector {
}
}
- void notifyOnMoveBeginListeners(MoveGestureDetector detector) {
+ void notifyOnMoveBeginListeners(@NonNull MoveGestureDetector detector) {
for (MapboxMap.OnMoveListener listener : onMoveListenerList) {
listener.onMoveBegin(detector);
}
}
- void notifyOnMoveListeners(MoveGestureDetector detector) {
+ void notifyOnMoveListeners(@NonNull MoveGestureDetector detector) {
for (MapboxMap.OnMoveListener listener : onMoveListenerList) {
listener.onMove(detector);
}
}
- void notifyOnMoveEndListeners(MoveGestureDetector detector) {
+ void notifyOnMoveEndListeners(@NonNull MoveGestureDetector detector) {
for (MapboxMap.OnMoveListener listener : onMoveListenerList) {
listener.onMoveEnd(detector);
}
}
- void notifyOnRotateBeginListeners(RotateGestureDetector detector) {
+ void notifyOnRotateBeginListeners(@NonNull RotateGestureDetector detector) {
for (MapboxMap.OnRotateListener listener : onRotateListenerList) {
listener.onRotateBegin(detector);
}
}
- void notifyOnRotateListeners(RotateGestureDetector detector) {
+ void notifyOnRotateListeners(@NonNull RotateGestureDetector detector) {
for (MapboxMap.OnRotateListener listener : onRotateListenerList) {
listener.onRotate(detector);
}
}
- void notifyOnRotateEndListeners(RotateGestureDetector detector) {
+ void notifyOnRotateEndListeners(@NonNull RotateGestureDetector detector) {
for (MapboxMap.OnRotateListener listener : onRotateListenerList) {
listener.onRotateEnd(detector);
}
}
- void notifyOnScaleBeginListeners(StandardScaleGestureDetector detector) {
+ void notifyOnScaleBeginListeners(@NonNull StandardScaleGestureDetector detector) {
for (MapboxMap.OnScaleListener listener : onScaleListenerList) {
listener.onScaleBegin(detector);
}
}
- void notifyOnScaleListeners(StandardScaleGestureDetector detector) {
+ void notifyOnScaleListeners(@NonNull StandardScaleGestureDetector detector) {
for (MapboxMap.OnScaleListener listener : onScaleListenerList) {
listener.onScale(detector);
}
}
- void notifyOnScaleEndListeners(StandardScaleGestureDetector detector) {
+ void notifyOnScaleEndListeners(@NonNull StandardScaleGestureDetector detector) {
for (MapboxMap.OnScaleListener listener : onScaleListenerList) {
listener.onScaleEnd(detector);
}
}
- void notifyOnShoveBeginListeners(ShoveGestureDetector detector) {
+ void notifyOnShoveBeginListeners(@NonNull ShoveGestureDetector detector) {
for (MapboxMap.OnShoveListener listener : onShoveListenerList) {
listener.onShoveBegin(detector);
}
}
- void notifyOnShoveListeners(ShoveGestureDetector detector) {
+ void notifyOnShoveListeners(@NonNull ShoveGestureDetector detector) {
for (MapboxMap.OnShoveListener listener : onShoveListenerList) {
listener.onShove(detector);
}
}
- void notifyOnShoveEndListeners(ShoveGestureDetector detector) {
+ void notifyOnShoveEndListeners(@NonNull ShoveGestureDetector detector) {
for (MapboxMap.OnShoveListener listener : onShoveListenerList) {
listener.onShoveEnd(detector);
}
@@ -1123,8 +1131,8 @@ final class MapGestureDetector {
return gesturesManager;
}
- void setGesturesManager(Context context, AndroidGesturesManager gesturesManager, boolean attachDefaultListeners,
- boolean setDefaultMutuallyExclusives) {
+ void setGesturesManager(@NonNull Context context, @NonNull AndroidGesturesManager gesturesManager,
+ boolean attachDefaultListeners, boolean setDefaultMutuallyExclusives) {
initializeGesturesManager(gesturesManager, setDefaultMutuallyExclusives);
initializeGestureListeners(context, attachDefaultListeners);
}
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapKeyListener.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapKeyListener.java
index 08110ff326..afb80027d9 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapKeyListener.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapKeyListener.java
@@ -4,6 +4,7 @@ import android.graphics.PointF;
import android.os.Handler;
import android.os.Looper;
import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.ViewConfiguration;
@@ -23,6 +24,7 @@ final class MapKeyListener {
private final UiSettings uiSettings;
private final MapGestureDetector mapGestureDetector;
+ @Nullable
private TrackballLongPressTimeOut currentTrackballLongPressTimeOut;
MapKeyListener(Transform transform, UiSettings uiSettings, MapGestureDetector mapGestureDetector) {
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 1c92b3fe0b..bd44807033 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
@@ -80,7 +80,9 @@ public class MapView extends FrameLayout implements NativeMapView.ViewCallback {
private final CopyOnWriteArrayList<OnMapChangedListener> onMapChangedListeners = new CopyOnWriteArrayList<>();
private final MapChangeReceiver mapChangeReceiver = new MapChangeReceiver();
+ @Nullable
private NativeMapView nativeMapView;
+ @Nullable
private MapboxMap mapboxMap;
private MapboxMapOptions mapboxMapOptions;
private MapRenderer mapRenderer;
@@ -92,9 +94,12 @@ public class MapView extends FrameLayout implements NativeMapView.ViewCallback {
private ImageView attrView;
private ImageView logoView;
+ @Nullable
private MapGestureDetector mapGestureDetector;
+ @Nullable
private MapKeyListener mapKeyListener;
private MapZoomButtonController mapZoomButtonController;
+ @Nullable
private Bundle savedInstanceState;
@UiThread
@@ -231,7 +236,7 @@ public class MapView extends FrameLayout implements NativeMapView.ViewCallback {
};
}
- private MapboxMap.OnCompassAnimationListener createCompassAnimationListener(final CameraChangeDispatcher
+ private MapboxMap.OnCompassAnimationListener createCompassAnimationListener(@NonNull final CameraChangeDispatcher
cameraChangeDispatcher) {
return new MapboxMap.OnCompassAnimationListener() {
@Override
@@ -247,7 +252,7 @@ public class MapView extends FrameLayout implements NativeMapView.ViewCallback {
};
}
- private OnClickListener createCompassClickListener(final CameraChangeDispatcher cameraChangeDispatcher) {
+ private OnClickListener createCompassClickListener(@NonNull final CameraChangeDispatcher cameraChangeDispatcher) {
return new OnClickListener() {
@Override
public void onClick(View v) {
@@ -460,7 +465,7 @@ public class MapView extends FrameLayout implements NativeMapView.ViewCallback {
}
@Override
- public boolean onTouchEvent(MotionEvent event) {
+ public boolean onTouchEvent(@NonNull MotionEvent event) {
if (!isMapInitialized() || !isZoomButtonControllerInitialized() || !isGestureDetectorInitialized()) {
return super.onTouchEvent(event);
}
@@ -472,7 +477,7 @@ public class MapView extends FrameLayout implements NativeMapView.ViewCallback {
}
@Override
- public boolean onKeyDown(int keyCode, KeyEvent event) {
+ public boolean onKeyDown(int keyCode, @NonNull KeyEvent event) {
return mapKeyListener.onKeyDown(keyCode, event) || super.onKeyDown(keyCode, event);
}
@@ -482,17 +487,17 @@ public class MapView extends FrameLayout implements NativeMapView.ViewCallback {
}
@Override
- public boolean onKeyUp(int keyCode, KeyEvent event) {
+ public boolean onKeyUp(int keyCode, @NonNull KeyEvent event) {
return mapKeyListener.onKeyUp(keyCode, event) || super.onKeyUp(keyCode, event);
}
@Override
- public boolean onTrackballEvent(MotionEvent event) {
+ public boolean onTrackballEvent(@NonNull MotionEvent event) {
return mapKeyListener.onTrackballEvent(event) || super.onTrackballEvent(event);
}
@Override
- public boolean onGenericMotionEvent(MotionEvent event) {
+ public boolean onGenericMotionEvent(@NonNull MotionEvent event) {
if (!isGestureDetectorInitialized()) {
return super.onGenericMotionEvent(event);
}
@@ -500,7 +505,7 @@ public class MapView extends FrameLayout implements NativeMapView.ViewCallback {
}
@Override
- public boolean onHoverEvent(MotionEvent event) {
+ public boolean onHoverEvent(@NonNull MotionEvent event) {
if (!isZoomButtonControllerInitialized()) {
return super.onHoverEvent(event);
}
@@ -590,9 +595,9 @@ public class MapView extends FrameLayout implements NativeMapView.ViewCallback {
}
}
- private void setOfflineRegionDefinition(String styleUrl, LatLng cameraTarget, double minZoom, double maxZoom) {
+ private void setOfflineRegionDefinition(@NonNull String styleUrl, LatLng latLng, double minZoom, double maxZoom) {
CameraPosition cameraPosition = new CameraPosition.Builder()
- .target(cameraTarget)
+ .target(latLng)
.zoom(minZoom)
.build();
setStyleUrl(styleUrl);
@@ -678,6 +683,7 @@ public class MapView extends FrameLayout implements NativeMapView.ViewCallback {
// ViewCallback
//
+ @Nullable
@Override
public Bitmap getViewContent() {
return BitmapUtils.createBitmapFromView(this);
@@ -1117,6 +1123,7 @@ public class MapView extends FrameLayout implements NativeMapView.ViewCallback {
return mapGestureDetector != null;
}
+ @Nullable
MapboxMap getMapboxMap() {
return mapboxMap;
}
@@ -1658,10 +1665,11 @@ public class MapView extends FrameLayout implements NativeMapView.ViewCallback {
*/
private static class AttributionClickListener implements OnClickListener {
+ @NonNull
private final AttributionDialogManager defaultDialogManager;
private UiSettings uiSettings;
- private AttributionClickListener(Context context, MapboxMap mapboxMap) {
+ private AttributionClickListener(@NonNull Context context, @NonNull MapboxMap mapboxMap) {
this.defaultDialogManager = new AttributionDialogManager(context, mapboxMap);
this.uiSettings = mapboxMap.getUiSettings();
}
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 c1392be731..ba6339f2fb 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
@@ -77,6 +77,7 @@ public final class MapboxMap {
private final OnGesturesManagerInteractionListener onGesturesManagerInteractionListener;
private LocationComponent locationComponent;
+ @Nullable
private MapboxMap.OnFpsChangedListener onFpsChangedListener;
MapboxMap(NativeMapView map, Transform transform, UiSettings ui, Projection projection,
@@ -686,7 +687,7 @@ public final class MapboxMap {
* @param update The change that should be applied to the camera.
* @see com.mapbox.mapboxsdk.camera.CameraUpdateFactory for a set of updates.
*/
- public final void easeCamera(CameraUpdate update) {
+ public final void easeCamera(@NonNull CameraUpdate update) {
easeCamera(update, MapboxConstants.ANIMATION_DURATION);
}
@@ -1064,7 +1065,7 @@ public final class MapboxMap {
* @param style The bundled style.
* @see Style
*/
- public void setStyle(@Style.StyleUrl String style) {
+ public void setStyle(@NonNull @Style.StyleUrl String style) {
setStyleUrl(style);
}
@@ -1080,7 +1081,7 @@ public final class MapboxMap {
* @param callback The callback to be invoked when the style has finished loading
* @see Style
*/
- public void setStyle(@Style.StyleUrl String style, @Nullable OnStyleLoadedListener callback) {
+ public void setStyle(@NonNull @Style.StyleUrl String style, @Nullable OnStyleLoadedListener callback) {
setStyleUrl(style, callback);
}
@@ -1759,7 +1760,7 @@ public final class MapboxMap {
*/
@NonNull
@Deprecated
- public CameraPosition getCameraForGeometry(Geometry geometry, double bearing, int[] padding) {
+ public CameraPosition getCameraForGeometry(@NonNull Geometry geometry, double bearing, @NonNull int[] padding) {
return getCameraForGeometry(geometry, padding, bearing, transform.getTilt());
}
@@ -2429,7 +2430,7 @@ public final class MapboxMap {
*
* @param position The CameraPosition at the end of the last camera change.
*/
- void onCameraChange(CameraPosition position);
+ void onCameraChange(@NonNull CameraPosition position);
}
/**
@@ -2711,6 +2712,7 @@ public final class MapboxMap {
private Context context;
private final Class<U> persistentClass;
+ @NonNull
private final Pools.SimplePool<View> viewReusePool;
/**
@@ -2794,6 +2796,7 @@ public final class MapboxMap {
*
* @return the pool associated to this adapter
*/
+ @NonNull
public final Pools.SimplePool<View> getViewReusePool() {
return viewReusePool;
}
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 3fac981fe5..f1d1c1715d 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
@@ -143,6 +143,7 @@ public class MapboxMapOptions implements Parcelable {
* @param attrs Attributeset containing configuration
* @return the MapboxMapOptions created from attributes
*/
+ @NonNull
public static MapboxMapOptions createFromAttributes(@NonNull Context context, @Nullable AttributeSet attrs) {
MapboxMapOptions mapboxMapOptions = new MapboxMapOptions();
float pxlRatio = context.getResources().getDisplayMetrics().density;
@@ -250,6 +251,7 @@ public class MapboxMapOptions implements Parcelable {
* @param apiBaseUrl The base of our API endpoint
* @return This
*/
+ @NonNull
public MapboxMapOptions apiBaseUrl(String apiBaseUrl) {
this.apiBaseUrl = apiBaseUrl;
return this;
@@ -261,6 +263,7 @@ public class MapboxMapOptions implements Parcelable {
* @param cameraPosition Inital camera position
* @return This
*/
+ @NonNull
public MapboxMapOptions camera(CameraPosition cameraPosition) {
this.cameraPosition = cameraPosition;
return this;
@@ -272,6 +275,7 @@ public class MapboxMapOptions implements Parcelable {
* @param styleUrl Url to be used to load a styleUrl
* @return This
*/
+ @NonNull
public MapboxMapOptions styleUrl(String styleUrl) {
this.styleUrl = styleUrl;
return this;
@@ -283,6 +287,7 @@ public class MapboxMapOptions implements Parcelable {
* @param styleJson json to used as style
* @return This
*/
+ @NonNull
public MapboxMapOptions styleJson(String styleJson) {
this.styleJson = styleJson;
return this;
@@ -294,6 +299,7 @@ public class MapboxMapOptions implements Parcelable {
* @param enabled True is debug is enabled
* @return This
*/
+ @NonNull
public MapboxMapOptions debugActive(boolean enabled) {
debugActive = enabled;
return this;
@@ -305,6 +311,7 @@ public class MapboxMapOptions implements Parcelable {
* @param minZoom Zoom level to be used
* @return This
*/
+ @NonNull
public MapboxMapOptions minZoomPreference(double minZoom) {
this.minZoom = minZoom;
return this;
@@ -316,6 +323,7 @@ public class MapboxMapOptions implements Parcelable {
* @param maxZoom Zoom level to be used
* @return This
*/
+ @NonNull
public MapboxMapOptions maxZoomPreference(double maxZoom) {
this.maxZoom = maxZoom;
return this;
@@ -327,6 +335,7 @@ public class MapboxMapOptions implements Parcelable {
* @param enabled True and mapbox_compass_icon is shown
* @return This
*/
+ @NonNull
public MapboxMapOptions compassEnabled(boolean enabled) {
compassEnabled = enabled;
return this;
@@ -338,6 +347,7 @@ public class MapboxMapOptions implements Parcelable {
* @param gravity Android SDK Gravity.
* @return This
*/
+ @NonNull
public MapboxMapOptions compassGravity(int gravity) {
compassGravity = gravity;
return this;
@@ -349,6 +359,7 @@ public class MapboxMapOptions implements Parcelable {
* @param margins 4 long array for LTRB margins
* @return This
*/
+ @NonNull
public MapboxMapOptions compassMargins(int[] margins) {
compassMargins = margins;
return this;
@@ -363,6 +374,7 @@ public class MapboxMapOptions implements Parcelable {
* @param compassFadeWhenFacingNorth true is mapbox_compass_icon fades to invisble
* @return This
*/
+ @NonNull
public MapboxMapOptions compassFadesWhenFacingNorth(boolean compassFadeWhenFacingNorth) {
this.fadeCompassFacingNorth = compassFadeWhenFacingNorth;
return this;
@@ -377,6 +389,7 @@ public class MapboxMapOptions implements Parcelable {
* @param compass the drawable to show as image compass
* @return This
*/
+ @NonNull
public MapboxMapOptions compassImage(Drawable compass) {
this.compassImage = compass;
return this;
@@ -388,6 +401,7 @@ public class MapboxMapOptions implements Parcelable {
* @param enabled True and logo is shown
* @return This
*/
+ @NonNull
public MapboxMapOptions logoEnabled(boolean enabled) {
logoEnabled = enabled;
return this;
@@ -399,6 +413,7 @@ public class MapboxMapOptions implements Parcelable {
* @param gravity Android SDK Gravity.
* @return This
*/
+ @NonNull
public MapboxMapOptions logoGravity(int gravity) {
logoGravity = gravity;
return this;
@@ -410,6 +425,7 @@ public class MapboxMapOptions implements Parcelable {
* @param margins 4 long array for LTRB margins
* @return This
*/
+ @NonNull
public MapboxMapOptions logoMargins(int[] margins) {
logoMargins = margins;
return this;
@@ -421,6 +437,7 @@ public class MapboxMapOptions implements Parcelable {
* @param enabled True and attribution is shown
* @return This
*/
+ @NonNull
public MapboxMapOptions attributionEnabled(boolean enabled) {
attributionEnabled = enabled;
return this;
@@ -432,6 +449,7 @@ public class MapboxMapOptions implements Parcelable {
* @param gravity Android SDK Gravity.
* @return This
*/
+ @NonNull
public MapboxMapOptions attributionGravity(int gravity) {
attributionGravity = gravity;
return this;
@@ -443,6 +461,7 @@ public class MapboxMapOptions implements Parcelable {
* @param margins 4 long array for LTRB margins
* @return This
*/
+ @NonNull
public MapboxMapOptions attributionMargins(int[] margins) {
attributionMargins = margins;
return this;
@@ -454,6 +473,7 @@ public class MapboxMapOptions implements Parcelable {
* @param color integer resembling a color
* @return This
*/
+ @NonNull
public MapboxMapOptions attributionTintColor(@ColorInt int color) {
attributionTintColor = color;
return this;
@@ -465,6 +485,7 @@ public class MapboxMapOptions implements Parcelable {
* @param enabled True and gesture will be enabled
* @return This
*/
+ @NonNull
public MapboxMapOptions rotateGesturesEnabled(boolean enabled) {
rotateGesturesEnabled = enabled;
return this;
@@ -476,6 +497,7 @@ public class MapboxMapOptions implements Parcelable {
* @param enabled True and gesture will be enabled
* @return This
*/
+ @NonNull
public MapboxMapOptions scrollGesturesEnabled(boolean enabled) {
scrollGesturesEnabled = enabled;
return this;
@@ -487,6 +509,7 @@ public class MapboxMapOptions implements Parcelable {
* @param enabled True and gesture will be enabled
* @return This
*/
+ @NonNull
public MapboxMapOptions tiltGesturesEnabled(boolean enabled) {
tiltGesturesEnabled = enabled;
return this;
@@ -498,6 +521,7 @@ public class MapboxMapOptions implements Parcelable {
* @param enabled True and gesture will be enabled
* @return This
*/
+ @NonNull
public MapboxMapOptions zoomControlsEnabled(boolean enabled) {
zoomControlsEnabled = enabled;
return this;
@@ -509,6 +533,7 @@ public class MapboxMapOptions implements Parcelable {
* @param enabled True and gesture will be enabled
* @return This
*/
+ @NonNull
public MapboxMapOptions zoomGesturesEnabled(boolean enabled) {
zoomGesturesEnabled = enabled;
return this;
@@ -520,6 +545,7 @@ public class MapboxMapOptions implements Parcelable {
* @param enabled True and gesture will be enabled
* @return This
*/
+ @NonNull
public MapboxMapOptions doubleTapGesturesEnabled(boolean enabled) {
doubleTapGesturesEnabled = enabled;
return this;
@@ -538,11 +564,13 @@ public class MapboxMapOptions implements Parcelable {
* @param textureMode True to enable texture mode
* @return This
*/
+ @NonNull
public MapboxMapOptions textureMode(boolean textureMode) {
this.textureMode = textureMode;
return this;
}
+ @NonNull
public MapboxMapOptions translucentTextureSurface(boolean translucentTextureSurface) {
this.translucentTextureSurface = translucentTextureSurface;
return this;
@@ -554,6 +582,7 @@ public class MapboxMapOptions implements Parcelable {
* @param loadColor the color to show during map creation
* @return This
*/
+ @NonNull
public MapboxMapOptions foregroundLoadColor(@ColorInt int loadColor) {
this.foregroundLoadColor = loadColor;
return this;
@@ -567,6 +596,7 @@ public class MapboxMapOptions implements Parcelable {
* @param enable true to enable
* @return This
*/
+ @NonNull
public MapboxMapOptions setPrefetchesTiles(boolean enable) {
this.prefetchesTiles = enable;
return this;
@@ -582,6 +612,7 @@ public class MapboxMapOptions implements Parcelable {
* @param crossSourceCollisions true to enable, false to disable
* @return This
*/
+ @NonNull
public MapboxMapOptions crossSourceCollisions(boolean crossSourceCollisions) {
this.crossSourceCollisions = crossSourceCollisions;
return this;
@@ -597,6 +628,7 @@ public class MapboxMapOptions implements Parcelable {
* @param fontFamily font family for local ideograph generation.
* @return This
*/
+ @NonNull
public MapboxMapOptions localIdeographFontFamily(String fontFamily) {
this.localIdeographFontFamily = fontFamily;
return this;
@@ -609,6 +641,7 @@ public class MapboxMapOptions implements Parcelable {
* @param pixelRatio the custom pixel ratio of the map under construction
* @return This
*/
+ @NonNull
public MapboxMapOptions pixelRatio(float pixelRatio) {
this.pixelRatio = pixelRatio;
return this;
@@ -919,7 +952,7 @@ public class MapboxMapOptions implements Parcelable {
}
public static final Parcelable.Creator<MapboxMapOptions> CREATOR = new Parcelable.Creator<MapboxMapOptions>() {
- public MapboxMapOptions createFromParcel(Parcel in) {
+ public MapboxMapOptions createFromParcel(@NonNull Parcel in) {
return new MapboxMapOptions(in);
}
@@ -934,7 +967,7 @@ public class MapboxMapOptions implements Parcelable {
}
@Override
- public void writeToParcel(Parcel dest, int flags) {
+ public void writeToParcel(@NonNull Parcel dest, int flags) {
dest.writeParcelable(cameraPosition, flags);
dest.writeByte((byte) (debugActive ? 1 : 0));
@@ -978,7 +1011,7 @@ public class MapboxMapOptions implements Parcelable {
}
@Override
- public boolean equals(Object o) {
+ public boolean equals(@Nullable Object o) {
if (this == o) {
return true;
}
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MarkerContainer.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MarkerContainer.java
index 2c2f07a112..8b9ff78aa3 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MarkerContainer.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MarkerContainer.java
@@ -48,6 +48,7 @@ class MarkerContainer implements Markers {
return marker;
}
+ @NonNull
@Override
public List<Marker> addBy(@NonNull List<? extends BaseMarkerOptions> markerOptionsList, @NonNull MapboxMap
mapboxMap) {
@@ -82,6 +83,7 @@ class MarkerContainer implements Markers {
annotations.setValueAt(annotations.indexOfKey(updatedMarker.getId()), updatedMarker);
}
+ @NonNull
@Override
public List<Marker> obtainAll() {
List<Marker> markers = new ArrayList<>();
@@ -137,6 +139,7 @@ class MarkerContainer implements Markers {
return marker;
}
+ @NonNull
@Override
public List<MarkerView> addViewsBy(@NonNull List<? extends BaseMarkerViewOptions> markerViewOptions, @NonNull
MapboxMap mapboxMap) {
@@ -160,6 +163,7 @@ class MarkerContainer implements Markers {
return markers;
}
+ @NonNull
@Override
public List<MarkerView> obtainViewsIn(@NonNull RectF rectangle) {
float pixelRatio = nativeMapView.getPixelRatio();
@@ -210,12 +214,13 @@ class MarkerContainer implements Markers {
return marker;
}
- private void ensureIconLoaded(Marker marker, MapboxMap mapboxMap) {
+ private void ensureIconLoaded(Marker marker, @NonNull MapboxMap mapboxMap) {
if (!(marker instanceof MarkerView)) {
iconManager.ensureIconLoaded(marker, mapboxMap);
}
}
+ @NonNull
private List<Annotation> obtainAnnotations() {
List<Annotation> annotations = new ArrayList<>();
for (int i = 0; i < this.annotations.size(); i++) {
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Markers.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Markers.java
index d646e0ac49..d85f388d09 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Markers.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Markers.java
@@ -25,6 +25,7 @@ interface Markers {
List<Marker> obtainAll();
+ @NonNull
List<Marker> obtainAllIn(@NonNull RectF rectangle);
MarkerView addViewBy(@NonNull BaseMarkerViewOptions markerOptions, @NonNull MapboxMap mapboxMap,
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java
index 48c571ee98..1ce1f4ba38 100755
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java
@@ -50,18 +50,23 @@ final class NativeMapView {
private static final String TAG = "Mbgl-NativeMapView";
//Hold a reference to prevent it from being GC'd as long as it's used on the native side
+ @NonNull
private final FileSource fileSource;
// Used to schedule work on the MapRenderer Thread
+ @NonNull
private final MapRenderer mapRenderer;
// Used to validate if methods are called from the correct thread
+ @NonNull
private final Thread thread;
// Used for view callbacks
+ @NonNull
private ViewCallback viewCallback;
// Used for map change callbacks
+ @NonNull
private StateCallback stateCallback;
// Device density
@@ -87,15 +92,16 @@ final class NativeMapView {
// Constructors
//
- public NativeMapView(final Context context, final boolean crossSourceCollisions, final ViewCallback viewCallback,
- final StateCallback stateCallback, final MapRenderer mapRenderer) {
- this(context, context.getResources().getDisplayMetrics().density, crossSourceCollisions, viewCallback,
- stateCallback, mapRenderer);
+ public NativeMapView(@NonNull final Context context, final boolean crossSourceCollisions,
+ @NonNull final ViewCallback viewCallback, @NonNull final StateCallback stateCallback,
+ @NonNull final MapRenderer mapRenderer) {
+ this(context, context.getResources().getDisplayMetrics().density,
+ crossSourceCollisions, viewCallback, stateCallback, mapRenderer);
}
- public NativeMapView(final Context context, final float pixelRatio, final boolean crossSourceCollisions,
- final ViewCallback viewCallback, final StateCallback stateCallback,
- final MapRenderer mapRenderer) {
+ public NativeMapView(@NonNull final Context context, final float pixelRatio, final boolean crossSourceCollisions,
+ @NonNull final ViewCallback viewCallback, @NonNull final StateCallback stateCallback,
+ @NonNull final MapRenderer mapRenderer) {
this.mapRenderer = mapRenderer;
this.viewCallback = viewCallback;
this.fileSource = FileSource.getInstance(context);
@@ -243,14 +249,14 @@ final class NativeMapView {
nativeMoveBy(dx / pixelRatio, dy / pixelRatio, duration);
}
- public void setLatLng(LatLng latLng) {
+ public void setLatLng(@NonNull LatLng latLng) {
if (checkState("setLatLng")) {
return;
}
setLatLng(latLng, 0);
}
- public void setLatLng(LatLng latLng, long duration) {
+ public void setLatLng(@NonNull LatLng latLng, long duration) {
if (checkState("setLatLng")) {
return;
}
@@ -316,7 +322,7 @@ final class NativeMapView {
nativeSetPitch(pitch, duration);
}
- public void setZoom(double zoom, PointF focalPoint, long duration) {
+ public void setZoom(double zoom, @NonNull PointF focalPoint, long duration) {
if (checkState("setZoom")) {
return;
}
@@ -441,7 +447,8 @@ final class NativeMapView {
return nativeAddMarkers(markers)[0];
}
- public long[] addMarkers(List<Marker> markers) {
+ @NonNull
+ public long[] addMarkers(@NonNull List<Marker> markers) {
if (checkState("addMarkers")) {
return new long[] {};
}
@@ -456,7 +463,8 @@ final class NativeMapView {
return nativeAddPolylines(polylines)[0];
}
- public long[] addPolylines(List<Polyline> polylines) {
+ @NonNull
+ public long[] addPolylines(@NonNull List<Polyline> polylines) {
if (checkState("addPolylines")) {
return new long[] {};
}
@@ -471,14 +479,15 @@ final class NativeMapView {
return nativeAddPolygons(polygons)[0];
}
- public long[] addPolygons(List<Polygon> polygons) {
+ @NonNull
+ public long[] addPolygons(@NonNull List<Polygon> polygons) {
if (checkState("addPolygons")) {
return new long[] {};
}
return nativeAddPolygons(polygons.toArray(new Polygon[polygons.size()]));
}
- public void updateMarker(Marker marker) {
+ public void updateMarker(@NonNull Marker marker) {
if (checkState("updateMarker")) {
return;
}
@@ -487,14 +496,14 @@ final class NativeMapView {
nativeUpdateMarker(marker.getId(), position.getLatitude(), position.getLongitude(), icon.getId());
}
- public void updatePolygon(Polygon polygon) {
+ public void updatePolygon(@NonNull Polygon polygon) {
if (checkState("updatePolygon")) {
return;
}
nativeUpdatePolygon(polygon.getId(), polygon);
}
- public void updatePolyline(Polyline polyline) {
+ public void updatePolyline(@NonNull Polyline polyline) {
if (checkState("updatePolyline")) {
return;
}
@@ -516,6 +525,7 @@ final class NativeMapView {
nativeRemoveAnnotations(ids);
}
+ @NonNull
public long[] queryPointAnnotations(RectF rect) {
if (checkState("queryPointAnnotations")) {
return new long[] {};
@@ -523,6 +533,7 @@ final class NativeMapView {
return nativeQueryPointAnnotations(rect);
}
+ @NonNull
public long[] queryShapeAnnotations(RectF rectF) {
if (checkState("queryShapeAnnotations")) {
return new long[] {};
@@ -600,14 +611,14 @@ final class NativeMapView {
return nativeGetMetersPerPixelAtLatitude(lat, getZoom()) / pixelRatio;
}
- public ProjectedMeters projectedMetersForLatLng(LatLng latLng) {
+ public ProjectedMeters projectedMetersForLatLng(@NonNull LatLng latLng) {
if (checkState("projectedMetersForLatLng")) {
return null;
}
return nativeProjectedMetersForLatLng(latLng.getLatitude(), latLng.getLongitude());
}
- public LatLng latLngForProjectedMeters(ProjectedMeters projectedMeters) {
+ public LatLng latLngForProjectedMeters(@NonNull ProjectedMeters projectedMeters) {
if (checkState("latLngForProjectedMeters")) {
return new LatLng();
}
@@ -615,7 +626,8 @@ final class NativeMapView {
projectedMeters.getEasting()).wrap();
}
- public PointF pixelForLatLng(LatLng latLng) {
+ @NonNull
+ public PointF pixelForLatLng(@NonNull LatLng latLng) {
if (checkState("pixelForLatLng")) {
return new PointF();
}
@@ -624,7 +636,7 @@ final class NativeMapView {
return pointF;
}
- public LatLng latLngForPixel(PointF pixel) {
+ public LatLng latLngForPixel(@NonNull PointF pixel) {
if (checkState("latLngForPixel")) {
return new LatLng();
}
@@ -638,14 +650,14 @@ final class NativeMapView {
return nativeGetTopOffsetPixelsForAnnotationSymbol(symbolName);
}
- public void jumpTo(double angle, LatLng center, double pitch, double zoom) {
+ public void jumpTo(double angle, @NonNull LatLng center, double pitch, double zoom) {
if (checkState("jumpTo")) {
return;
}
nativeJumpTo(angle, center.getLatitude(), center.getLongitude(), pitch, zoom);
}
- public void easeTo(double angle, LatLng center, long duration, double pitch, double zoom,
+ public void easeTo(double angle, @NonNull LatLng center, long duration, double pitch, double zoom,
boolean easingInterpolator) {
if (checkState("easeTo")) {
return;
@@ -654,13 +666,14 @@ final class NativeMapView {
easingInterpolator);
}
- public void flyTo(double angle, LatLng center, long duration, double pitch, double zoom) {
+ public void flyTo(double angle, @NonNull LatLng center, long duration, double pitch, double zoom) {
if (checkState("flyTo")) {
return;
}
nativeFlyTo(angle, center.getLatitude(), center.getLongitude(), duration, pitch, zoom);
}
+ @NonNull
public CameraPosition getCameraPosition() {
if (checkState("getCameraValues")) {
return new CameraPosition.Builder().build();
@@ -1007,7 +1020,7 @@ final class NativeMapView {
}
@Keep
- protected void onSnapshotReady(Bitmap mapContent) {
+ protected void onSnapshotReady(@Nullable Bitmap mapContent) {
if (checkState("OnSnapshotReady")) {
return;
}
@@ -1038,12 +1051,14 @@ final class NativeMapView {
@Keep
private native void nativeSetStyleUrl(String url);
+ @NonNull
@Keep
private native String nativeGetStyleUrl();
@Keep
private native void nativeSetStyleJson(String newStyleJson);
+ @NonNull
@Keep
private native String nativeGetStyleJson();
@@ -1062,13 +1077,16 @@ final class NativeMapView {
@Keep
private native void nativeSetLatLng(double latitude, double longitude, long duration);
+ @NonNull
@Keep
private native LatLng nativeGetLatLng();
+ @NonNull
@Keep
private native CameraPosition nativeGetCameraForLatLngBounds(
LatLngBounds latLngBounds, double top, double left, double bottom, double right, double bearing, double tilt);
+ @NonNull
@Keep
private native CameraPosition nativeGetCameraForGeometry(
Geometry geometry, double top, double left, double bottom, double right, double bearing, double tilt);
@@ -1124,21 +1142,26 @@ final class NativeMapView {
@Keep
private native void nativeUpdateMarker(long markerId, double lat, double lon, String iconId);
+ @NonNull
@Keep
private native long[] nativeAddMarkers(Marker[] markers);
+ @NonNull
@Keep
private native long[] nativeAddPolylines(Polyline[] polylines);
+ @NonNull
@Keep
private native long[] nativeAddPolygons(Polygon[] polygons);
@Keep
private native void nativeRemoveAnnotations(long[] id);
+ @NonNull
@Keep
private native long[] nativeQueryPointAnnotations(RectF rect);
+ @NonNull
@Keep
private native long[] nativeQueryShapeAnnotations(RectF rect);
@@ -1173,15 +1196,19 @@ final class NativeMapView {
@Keep
private native double nativeGetMetersPerPixelAtLatitude(double lat, double zoom);
+ @NonNull
@Keep
private native ProjectedMeters nativeProjectedMetersForLatLng(double latitude, double longitude);
+ @NonNull
@Keep
private native LatLng nativeLatLngForProjectedMeters(double northing, double easting);
+ @NonNull
@Keep
private native PointF nativePixelForLatLng(double lat, double lon);
+ @NonNull
@Keep
private native LatLng nativeLatLngForPixel(float x, float y);
@@ -1200,6 +1227,7 @@ final class NativeMapView {
private native void nativeFlyTo(double angle, double latitude, double longitude,
long duration, double pitch, double zoom);
+ @NonNull
@Keep
private native CameraPosition nativeGetCameraPosition();
@@ -1215,9 +1243,11 @@ final class NativeMapView {
@Keep
private native void nativeSetTransitionDelay(long delay);
+ @NonNull
@Keep
private native Layer[] nativeGetLayers();
+ @NonNull
@Keep
private native Layer nativeGetLayer(String layerId);
@@ -1230,18 +1260,22 @@ final class NativeMapView {
@Keep
private native void nativeAddLayerAt(long layerPtr, int index) throws CannotAddLayerException;
+ @NonNull
@Keep
private native Layer nativeRemoveLayerById(String layerId);
@Keep
private native void nativeRemoveLayer(long layerId);
+ @NonNull
@Keep
private native Layer nativeRemoveLayerAt(int index);
+ @NonNull
@Keep
private native Source[] nativeGetSources();
+ @NonNull
@Keep
private native Source nativeGetSource(String sourceId);
@@ -1260,6 +1294,7 @@ final class NativeMapView {
@Keep
private native void nativeRemoveImage(String name);
+ @NonNull
@Keep
private native Bitmap nativeGetImage(String name);
@@ -1272,17 +1307,20 @@ final class NativeMapView {
@Keep
private native void nativeTakeSnapshot();
+ @NonNull
@Keep
private native Feature[] nativeQueryRenderedFeaturesForPoint(float x, float y,
String[] layerIds,
Object[] filter);
+ @NonNull
@Keep
private native Feature[] nativeQueryRenderedFeaturesForBox(float left, float top,
float right, float bottom,
String[] layerIds,
Object[] filter);
+ @NonNull
@Keep
private native Light nativeGetLight();
@@ -1339,7 +1377,7 @@ final class NativeMapView {
nativeTakeSnapshot();
}
- public void setOnFpsChangedListener(final MapboxMap.OnFpsChangedListener listener) {
+ public void setOnFpsChangedListener(@NonNull final MapboxMap.OnFpsChangedListener listener) {
final Handler handler = new Handler();
mapRenderer.queueEvent(new Runnable() {
@@ -1377,6 +1415,7 @@ final class NativeMapView {
this.sdf = sdf;
}
+ @NonNull
@Override
protected List<Image> doInBackground(HashMap<String, Bitmap>... params) {
HashMap<String, Bitmap> bitmapHashMap = params[0];
@@ -1406,7 +1445,7 @@ final class NativeMapView {
}
@Override
- protected void onPostExecute(List<Image> images) {
+ protected void onPostExecute(@NonNull List<Image> images) {
super.onPostExecute(images);
if (nativeMapView != null && !nativeMapView.checkState("nativeAddImages")) {
nativeMapView.nativeAddImages(images.toArray(new Image[images.size()]));
@@ -1419,6 +1458,7 @@ final class NativeMapView {
int getHeight();
+ @Nullable
Bitmap getViewContent();
}
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/PolygonContainer.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/PolygonContainer.java
index 016862bddc..2cdcc052fb 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/PolygonContainer.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/PolygonContainer.java
@@ -36,6 +36,7 @@ class PolygonContainer implements Polygons {
return polygon;
}
+ @NonNull
@Override
public List<Polygon> addBy(@NonNull List<PolygonOptions> polygonOptionsList, @NonNull MapboxMap mapboxMap) {
int count = polygonOptionsList.size();
@@ -62,11 +63,12 @@ class PolygonContainer implements Polygons {
}
@Override
- public void update(Polygon polygon) {
+ public void update(@NonNull Polygon polygon) {
nativeMapView.updatePolygon(polygon);
annotations.setValueAt(annotations.indexOfKey(polygon.getId()), polygon);
}
+ @NonNull
@Override
public List<Polygon> obtainAll() {
List<Polygon> polygons = new ArrayList<>();
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/PolylineContainer.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/PolylineContainer.java
index 303b25fb55..ed0ceceb1f 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/PolylineContainer.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/PolylineContainer.java
@@ -36,6 +36,7 @@ class PolylineContainer implements Polylines {
return polyline;
}
+ @NonNull
@Override
public List<Polyline> addBy(@NonNull List<PolylineOptions> polylineOptionsList, @NonNull MapboxMap mapboxMap) {
int count = polylineOptionsList.size();
@@ -61,11 +62,12 @@ class PolylineContainer implements Polylines {
}
@Override
- public void update(Polyline polyline) {
+ public void update(@NonNull Polyline polyline) {
nativeMapView.updatePolyline(polyline);
annotations.setValueAt(annotations.indexOfKey(polyline.getId()), polyline);
}
+ @NonNull
@Override
public List<Polyline> obtainAll() {
List<Polyline> polylines = new ArrayList<>();
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Projection.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Projection.java
index 3ecf7354c4..8e3092ae1d 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Projection.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Projection.java
@@ -21,6 +21,7 @@ import java.util.List;
*/
public class Projection {
+ @NonNull
private final NativeMapView nativeMapView;
private int[] contentPadding;
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/ShapeAnnotationContainer.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/ShapeAnnotationContainer.java
index 6ded2f32fb..d04860a345 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/ShapeAnnotationContainer.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/ShapeAnnotationContainer.java
@@ -1,6 +1,7 @@
package com.mapbox.mapboxsdk.maps;
import android.graphics.RectF;
+import android.support.annotation.NonNull;
import android.support.v4.util.LongSparseArray;
import com.mapbox.mapboxsdk.annotations.Annotation;
@@ -18,13 +19,15 @@ class ShapeAnnotationContainer implements ShapeAnnotations {
this.annotations = annotations;
}
+ @NonNull
@Override
- public List<Annotation> obtainAllIn(RectF rectangle) {
+ public List<Annotation> obtainAllIn(@NonNull RectF rectangle) {
RectF rect = nativeMapView.getDensityDependantRectangle(rectangle);
long[] annotationIds = nativeMapView.queryShapeAnnotations(rect);
return getAnnotationsFromIds(annotationIds);
}
+ @NonNull
private List<Annotation> getAnnotationsFromIds(long[] annotationIds) {
List<Annotation> shapeAnnotations = new ArrayList<>();
for (long annotationId : annotationIds) {
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/SupportMapFragment.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/SupportMapFragment.java
index 0e54002a17..cda59380a9 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/SupportMapFragment.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/SupportMapFragment.java
@@ -51,6 +51,7 @@ public class SupportMapFragment extends Fragment implements OnMapReadyCallback {
* @param mapboxMapOptions The configuration options to be used.
* @return MapFragment created.
*/
+ @NonNull
public static SupportMapFragment newInstance(@Nullable MapboxMapOptions mapboxMapOptions) {
SupportMapFragment mapFragment = new SupportMapFragment();
mapFragment.setArguments(MapFragmentUtils.createFragmentArgs(mapboxMapOptions));
@@ -78,7 +79,7 @@ public class SupportMapFragment extends Fragment implements OnMapReadyCallback {
* @param savedInstanceState The saved instance state for the map fragment.
*/
@Override
- public void onInflate(Context context, AttributeSet attrs, Bundle savedInstanceState) {
+ public void onInflate(@NonNull Context context, AttributeSet attrs, Bundle savedInstanceState) {
super.onInflate(context, attrs, savedInstanceState);
setArguments(MapFragmentUtils.createFragmentArgs(MapboxMapOptions.createFromAttributes(context, attrs)));
}
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/TelemetryDefinition.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/TelemetryDefinition.java
index 3918c67129..ae1b210a00 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/TelemetryDefinition.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/TelemetryDefinition.java
@@ -1,5 +1,6 @@
package com.mapbox.mapboxsdk.maps;
+import android.support.annotation.NonNull;
import com.mapbox.mapboxsdk.offline.OfflineRegionDefinition;
/**
@@ -20,7 +21,7 @@ public interface TelemetryDefinition {
* @param longitude the longitude value of the gesture focal point
* @param zoom current zoom of the map
*/
- void onGestureInteraction(String eventType, double latitude, double longitude, double zoom);
+ void onGestureInteraction(@NonNull String eventType, double latitude, double longitude, double zoom);
/**
* Set the end-user selected state to participate or opt-out in telemetry collection.
@@ -45,5 +46,5 @@ public interface TelemetryDefinition {
*
* @param offlineDefinition the offline region definition
*/
- void onCreateOfflineRegion(OfflineRegionDefinition offlineDefinition);
+ void onCreateOfflineRegion(@NonNull OfflineRegionDefinition offlineDefinition);
}
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java
index 3c039d3de2..14f5495a5b 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java
@@ -31,9 +31,12 @@ final class Transform implements MapView.OnMapChangedListener {
private final MarkerViewManager markerViewManager;
private final Handler handler = new Handler();
+ @Nullable
private CameraPosition cameraPosition;
+ @Nullable
private MapboxMap.CancelableCallback cameraCancelableCallback;
+ @Nullable
private MapboxMap.OnCameraChangeListener onCameraChangeListener;
private CameraChangeDispatcher cameraChangeDispatcher;
@@ -58,6 +61,7 @@ final class Transform implements MapView.OnMapChangedListener {
// Camera API
//
+ @Nullable
@UiThread
public final CameraPosition getCameraPosition() {
if (cameraPosition == null) {
@@ -92,7 +96,8 @@ final class Transform implements MapView.OnMapChangedListener {
}
@UiThread
- final void moveCamera(MapboxMap mapboxMap, CameraUpdate update, final MapboxMap.CancelableCallback callback) {
+ final void moveCamera(@NonNull MapboxMap mapboxMap, @NonNull CameraUpdate update,
+ @Nullable final MapboxMap.CancelableCallback callback) {
CameraPosition cameraPosition = update.getCameraPosition(mapboxMap);
if (isValidCameraPosition(cameraPosition)) {
cancelTransitions();
@@ -112,8 +117,9 @@ final class Transform implements MapView.OnMapChangedListener {
}
@UiThread
- final void easeCamera(MapboxMap mapboxMap, CameraUpdate update, int durationMs, boolean easingInterpolator,
- final MapboxMap.CancelableCallback callback, boolean isDismissable) {
+ final void easeCamera(@NonNull MapboxMap mapboxMap, @NonNull CameraUpdate update, int durationMs,
+ boolean easingInterpolator, @Nullable final MapboxMap.CancelableCallback callback,
+ boolean isDismissable) {
CameraPosition cameraPosition = update.getCameraPosition(mapboxMap);
if (isValidCameraPosition(cameraPosition)) {
cancelTransitions();
@@ -129,8 +135,8 @@ final class Transform implements MapView.OnMapChangedListener {
}
@UiThread
- final void animateCamera(MapboxMap mapboxMap, CameraUpdate update, int durationMs,
- final MapboxMap.CancelableCallback callback) {
+ final void animateCamera(@NonNull MapboxMap mapboxMap, @NonNull CameraUpdate update, int durationMs,
+ @Nullable final MapboxMap.CancelableCallback callback) {
CameraPosition cameraPosition = update.getCameraPosition(mapboxMap);
if (isValidCameraPosition(cameraPosition)) {
cancelTransitions();
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 32fc0589d1..f49481b50a 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
@@ -30,15 +30,21 @@ import com.mapbox.mapboxsdk.utils.ColorUtils;
*/
public final class UiSettings {
+ @NonNull
private final FocalPointChangeListener focalPointChangeListener;
+ @NonNull
private final Projection projection;
+ @NonNull
private final CompassView compassView;
private final int[] compassMargins = new int[4];
+ @NonNull
private final ImageView attributionsView;
private final int[] attributionsMargins = new int[4];
+ @Nullable
private AttributionDialogManager attributionDialogManager;
+ @NonNull
private final View logoView;
private final int[] logoMargins = new int[4];
@@ -65,6 +71,7 @@ public final class UiSettings {
private boolean deselectMarkersOnTap = true;
+ @Nullable
private PointF userProvidedFocalPoint;
UiSettings(@NonNull Projection projection, @NonNull FocalPointChangeListener listener,
@@ -87,7 +94,7 @@ public final class UiSettings {
initialiseZoomControl(context);
}
- void onSaveInstanceState(Bundle outState) {
+ void onSaveInstanceState(@NonNull Bundle outState) {
saveGestures(outState);
saveCompass(outState);
saveLogo(outState);
@@ -144,7 +151,7 @@ public final class UiSettings {
savedInstanceState.getBoolean(MapboxConstants.STATE_INCREASE_SCALE_THRESHOLD));
}
- private void initialiseCompass(MapboxMapOptions options, Resources resources) {
+ private void initialiseCompass(MapboxMapOptions options, @NonNull Resources resources) {
setCompassEnabled(options.getCompassEnabled());
setCompassGravity(options.getCompassGravity());
int[] compassMargins = options.getCompassMargins();
@@ -185,13 +192,13 @@ public final class UiSettings {
compassView.getContext(), savedInstanceState.getByteArray(MapboxConstants.STATE_COMPASS_IMAGE_BITMAP)));
}
- private void initialiseLogo(MapboxMapOptions options, Resources resources) {
+ private void initialiseLogo(MapboxMapOptions options, @NonNull Resources resources) {
setLogoEnabled(options.getLogoEnabled());
setLogoGravity(options.getLogoGravity());
setLogoMargins(resources, options.getLogoMargins());
}
- private void setLogoMargins(Resources resources, int[] logoMargins) {
+ private void setLogoMargins(@NonNull Resources resources, @Nullable int[] logoMargins) {
if (logoMargins != null) {
setLogoMargins(logoMargins[0], logoMargins[1], logoMargins[2], logoMargins[3]);
} else {
@@ -219,7 +226,7 @@ public final class UiSettings {
savedInstanceState.getInt(MapboxConstants.STATE_LOGO_MARGIN_BOTTOM));
}
- private void initialiseAttribution(Context context, MapboxMapOptions options) {
+ private void initialiseAttribution(@NonNull Context context, MapboxMapOptions options) {
setAttributionEnabled(options.getAttributionEnabled());
setAttributionGravity(options.getAttributionGravity());
setAttributionMargins(context, options.getAttributionMargins());
@@ -228,7 +235,7 @@ public final class UiSettings {
? attributionTintColor : ColorUtils.getPrimaryColor(context));
}
- private void setAttributionMargins(Context context, int[] attributionMargins) {
+ private void setAttributionMargins(@NonNull Context context, @Nullable int[] attributionMargins) {
if (attributionMargins != null) {
setAttributionMargins(attributionMargins[0], attributionMargins[1],
attributionMargins[2], attributionMargins[3]);
@@ -544,7 +551,7 @@ public final class UiSettings {
*
* @param attributionDialogManager the manager class used for showing attribution
*/
- public void setAttributionDialogManager(@NonNull AttributionDialogManager attributionDialogManager) {
+ public void setAttributionDialogManager(@Nullable AttributionDialogManager attributionDialogManager) {
this.attributionDialogManager = attributionDialogManager;
}
@@ -553,7 +560,7 @@ public final class UiSettings {
*
* @return the active manager class used for showing attribution
*/
- @NonNull
+ @Nullable
public AttributionDialogManager getAttributionDialogManager() {
return attributionDialogManager;
}
@@ -975,6 +982,7 @@ public final class UiSettings {
*
* @return The focal point
*/
+ @Nullable
public PointF getFocalPoint() {
return userProvidedFocalPoint;
}
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/MapRenderer.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/MapRenderer.java
index 492f653dae..0c529aa464 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/MapRenderer.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/MapRenderer.java
@@ -4,6 +4,7 @@ import android.content.Context;
import android.support.annotation.CallSuper;
import android.support.annotation.Keep;
+import android.support.annotation.NonNull;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.storage.FileSource;
@@ -25,7 +26,7 @@ public abstract class MapRenderer implements MapRendererScheduler {
private MapboxMap.OnFpsChangedListener onFpsChangedListener;
- public MapRenderer(Context context, String localIdeographFontFamily) {
+ public MapRenderer(@NonNull Context context, String localIdeographFontFamily) {
FileSource fileSource = FileSource.getInstance(context);
float pixelRatio = context.getResources().getDisplayMetrics().density;
String programCacheDir = FileSource.getInternalCachePath(context);
@@ -64,7 +65,7 @@ public abstract class MapRenderer implements MapRendererScheduler {
}
@CallSuper
- protected void onSurfaceChanged(GL10 gl, int width, int height) {
+ protected void onSurfaceChanged(@NonNull GL10 gl, int width, int height) {
gl.glViewport(0, 0, width, height);
nativeOnSurfaceChanged(width, height);
}
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/MapRendererScheduler.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/MapRendererScheduler.java
index fd12cceee6..80403b575a 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/MapRendererScheduler.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/MapRendererScheduler.java
@@ -1,6 +1,7 @@
package com.mapbox.mapboxsdk.maps.renderer;
import android.support.annotation.Keep;
+import android.support.annotation.NonNull;
/**
* Can be used to schedule work on the map renderer
@@ -12,6 +13,6 @@ public interface MapRendererScheduler {
void requestRender();
@Keep
- void queueEvent(Runnable runnable);
+ void queueEvent(@NonNull Runnable runnable);
}
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/egl/EGLConfigChooser.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/egl/EGLConfigChooser.java
index 65db8241cf..178911b0ac 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/egl/EGLConfigChooser.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/egl/EGLConfigChooser.java
@@ -67,7 +67,7 @@ public class EGLConfigChooser implements GLSurfaceView.EGLConfigChooser {
}
@Override
- public EGLConfig chooseConfig(EGL10 egl, EGLDisplay display) {
+ public EGLConfig chooseConfig(@NonNull EGL10 egl, EGLDisplay display) {
int[] configAttribs = getConfigAttributes();
// Determine number of possible configurations
@@ -90,6 +90,7 @@ public class EGLConfigChooser implements GLSurfaceView.EGLConfigChooser {
return config;
}
+ @NonNull
private int[] getNumberOfConfigurations(EGL10 egl, EGLDisplay display, int[] configAttributes) {
int[] numConfigs = new int[1];
if (!egl.eglChooseConfig(display, configAttributes, null, 0, numConfigs)) {
@@ -101,6 +102,7 @@ public class EGLConfigChooser implements GLSurfaceView.EGLConfigChooser {
return numConfigs;
}
+ @NonNull
private EGLConfig[] getPossibleConfigurations(EGL10 egl, EGLDisplay display,
int[] configAttributes, int[] numConfigs) {
EGLConfig[] configs = new EGLConfig[numConfigs[0]];
@@ -139,7 +141,7 @@ public class EGLConfigChooser implements GLSurfaceView.EGLConfigChooser {
}
}
- private EGLConfig chooseBestMatchConfig(EGL10 egl, EGLDisplay display, EGLConfig[] configs) {
+ private EGLConfig chooseBestMatchConfig(@NonNull EGL10 egl, EGLDisplay display, EGLConfig[] configs) {
class Config implements Comparable<Config> {
private final BufferFormat bufferFormat;
private final DepthStencilFormat depthStencilFormat;
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/glsurfaceview/GLSurfaceViewMapRenderer.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/glsurfaceview/GLSurfaceViewMapRenderer.java
index ed0bed0ac0..584c9dcf57 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/glsurfaceview/GLSurfaceViewMapRenderer.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/glsurfaceview/GLSurfaceViewMapRenderer.java
@@ -3,6 +3,7 @@ package com.mapbox.mapboxsdk.maps.renderer.glsurfaceview;
import android.content.Context;
import android.opengl.GLSurfaceView;
+import android.support.annotation.NonNull;
import com.mapbox.mapboxsdk.maps.renderer.MapRenderer;
import com.mapbox.mapboxsdk.maps.renderer.egl.EGLConfigChooser;
@@ -19,6 +20,7 @@ import static android.opengl.GLSurfaceView.RENDERMODE_WHEN_DIRTY;
*/
public class GLSurfaceViewMapRenderer extends MapRenderer implements GLSurfaceView.Renderer {
+ @NonNull
private final GLSurfaceView glSurfaceView;
public GLSurfaceViewMapRenderer(Context context,
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/textureview/TextureViewRenderThread.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/textureview/TextureViewRenderThread.java
index 8f4f1c852c..165b15a512 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/textureview/TextureViewRenderThread.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/textureview/TextureViewRenderThread.java
@@ -2,6 +2,7 @@ package com.mapbox.mapboxsdk.maps.renderer.textureview;
import android.graphics.SurfaceTexture;
import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
import android.support.annotation.UiThread;
import android.view.TextureView;
import com.mapbox.mapboxsdk.log.Logger;
@@ -26,7 +27,9 @@ class TextureViewRenderThread extends Thread implements TextureView.SurfaceTextu
private static final String TAG = "Mbgl-TextureViewRenderThread";
+ @NonNull
private final TextureViewMapRenderer mapRenderer;
+ @NonNull
private final EGLHolder eglHolder;
// Lock used for synchronization
@@ -34,6 +37,7 @@ class TextureViewRenderThread extends Thread implements TextureView.SurfaceTextu
// Guarded by lock
private final ArrayList<Runnable> eventQueue = new ArrayList<>();
+ @Nullable
private SurfaceTexture surface;
private int width;
private int height;
@@ -118,7 +122,7 @@ class TextureViewRenderThread extends Thread implements TextureView.SurfaceTextu
/**
* May be called from any thread
*/
- void queueEvent(Runnable runnable) {
+ void queueEvent(@NonNull Runnable runnable) {
if (runnable == null) {
throw new IllegalArgumentException("runnable must not be null");
}
@@ -328,6 +332,7 @@ class TextureViewRenderThread extends Thread implements TextureView.SurfaceTextu
private boolean translucentSurface;
private EGL10 egl;
+ @Nullable
private EGLConfig eglConfig;
private EGLDisplay eglDisplay = EGL10.EGL_NO_DISPLAY;
private EGLContext eglContext = EGL10.EGL_NO_CONTEXT;
@@ -370,6 +375,7 @@ class TextureViewRenderThread extends Thread implements TextureView.SurfaceTextu
}
}
+ @NonNull
GL10 createGL() {
return (GL10) eglContext.getGL();
}
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/CompassView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/CompassView.java
index fb2c70cb73..a7eecfd958 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/CompassView.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/CompassView.java
@@ -4,6 +4,7 @@ import android.annotation.SuppressLint;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
import android.support.v4.view.ViewCompat;
import android.support.v4.view.ViewPropertyAnimatorCompat;
import android.support.v4.view.ViewPropertyAnimatorListenerAdapter;
@@ -32,21 +33,22 @@ public final class CompassView extends ImageView implements Runnable {
private float rotation = 0.0f;
private boolean fadeCompassViewFacingNorth = true;
+ @Nullable
private ViewPropertyAnimatorCompat fadeAnimator;
private MapboxMap.OnCompassAnimationListener compassAnimationListener;
private boolean isAnimating = false;
- public CompassView(Context context) {
+ public CompassView(@NonNull Context context) {
super(context);
initialize(context);
}
- public CompassView(Context context, AttributeSet attrs) {
+ public CompassView(@NonNull Context context, AttributeSet attrs) {
super(context, attrs);
initialize(context);
}
- public CompassView(Context context, AttributeSet attrs, int defStyleAttr) {
+ public CompassView(@NonNull Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
initialize(context);
}