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/Image.java3
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java26
-rwxr-xr-xplatform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java89
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/MapRenderer.java2
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/MapRendererRunnable.java3
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/MapRendererScheduler.java4
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/glsurfaceview/GLSurfaceViewMapRenderer.java3
7 files changed, 121 insertions, 9 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Image.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Image.java
index 80f1271266..a261c2f4b1 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Image.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Image.java
@@ -1,5 +1,8 @@
package com.mapbox.mapboxsdk.maps;
+import android.support.annotation.Keep;
+
+@Keep
class Image {
private final byte[] buffer;
private final float pixelRatio;
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 64ad0d29b3..0719412b4c 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
@@ -15,6 +15,7 @@ import android.support.v4.util.Pools;
import android.text.TextUtils;
import android.view.View;
import android.view.ViewGroup;
+
import com.mapbox.android.gestures.AndroidGesturesManager;
import com.mapbox.android.gestures.MoveGestureDetector;
import com.mapbox.android.gestures.RotateGestureDetector;
@@ -44,11 +45,12 @@ import com.mapbox.mapboxsdk.style.expressions.Expression;
import com.mapbox.mapboxsdk.style.layers.Layer;
import com.mapbox.mapboxsdk.style.light.Light;
import com.mapbox.mapboxsdk.style.sources.Source;
-import timber.log.Timber;
import java.util.HashMap;
import java.util.List;
+import timber.log.Timber;
+
/**
* The general class to interact with in the Android Mapbox SDK. It exposes the entry point for all
* methods related to the MapView. You cannot instantiate {@link MapboxMap} object directly, rather,
@@ -827,7 +829,7 @@ public final class MapboxMap {
public final void animateCamera(@NonNull final CameraUpdate update, final int durationMs,
@Nullable final MapboxMap.CancelableCallback callback) {
if (durationMs <= 0) {
- throw new IllegalArgumentException("Null duration passed into animageCamera");
+ throw new IllegalArgumentException("Null duration passed into animateCamera");
}
transform.animateCamera(MapboxMap.this, update, durationMs, callback);
@@ -1138,7 +1140,9 @@ public final class MapboxMap {
* @param markerOptions A marker options object that defines how to render the marker
* @return The {@code Marker} that was added to the map
* @deprecated Use a {@link com.mapbox.mapboxsdk.style.layers.SymbolLayer} instead. An example of converting Android
- * SDK views to be used as a symbol see https://github.com/mapbox/mapbox-gl-native/blob/68f32bc104422207c64da8d90e8411b138d87f04/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/SymbolGeneratorActivity.java
+ * SDK views to be used as a symbol see https://github
+ * .com/mapbox/mapbox-gl-native/blob/68f32bc104422207c64da8d90e8411b138d87f04/platform/android
+ * /MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/SymbolGeneratorActivity.java
*/
@NonNull
@Deprecated
@@ -1157,7 +1161,9 @@ public final class MapboxMap {
* @param onMarkerViewAddedListener Callback invoked when the View has been added to the map
* @return The {@code Marker} that was added to the map
* @deprecated Use a {@link com.mapbox.mapboxsdk.style.layers.SymbolLayer} instead. An example of converting Android
- * SDK views to be used as a symbol see https://github.com/mapbox/mapbox-gl-native/blob/68f32bc104422207c64da8d90e8411b138d87f04/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/SymbolGeneratorActivity.java
+ * SDK views to be used as a symbol see https://github
+ * .com/mapbox/mapbox-gl-native/blob/68f32bc104422207c64da8d90e8411b138d87f04/platform/android
+ * /MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/SymbolGeneratorActivity.java
*/
@Deprecated
@NonNull
@@ -1176,7 +1182,9 @@ public final class MapboxMap {
* @param markerViewOptions A list of markerView options objects that defines how to render the markers
* @return A list of the {@code MarkerView}s that were added to the map
* @deprecated Use a {@link com.mapbox.mapboxsdk.style.layers.SymbolLayer} instead. An example of converting Android
- * SDK views to be used as a symbol see https://github.com/mapbox/mapbox-gl-native/blob/68f32bc104422207c64da8d90e8411b138d87f04/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/SymbolGeneratorActivity.java
+ * SDK views to be used as a symbol see https://github
+ * .com/mapbox/mapbox-gl-native/blob/68f32bc104422207c64da8d90e8411b138d87f04/platform/android
+ * /MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/SymbolGeneratorActivity.java
*/
@NonNull
@Deprecated
@@ -1191,7 +1199,9 @@ public final class MapboxMap {
* @param rect the rectangular area on the map to query for markerViews
* @return A list of the markerViews that were found in the rectangle
* @deprecated Use a {@link com.mapbox.mapboxsdk.style.layers.SymbolLayer} instead. An example of converting Android
- * SDK views to be used as a symbol see https://github.com/mapbox/mapbox-gl-native/blob/68f32bc104422207c64da8d90e8411b138d87f04/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/SymbolGeneratorActivity.java
+ * SDK views to be used as a symbol see https://github
+ * .com/mapbox/mapbox-gl-native/blob/68f32bc104422207c64da8d90e8411b138d87f04/platform/android
+ * /MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/SymbolGeneratorActivity.java
*/
@NonNull
@Deprecated
@@ -2625,7 +2635,9 @@ public final class MapboxMap {
*
* @param <U> the instance type of MarkerView
* @deprecated Use a {@link com.mapbox.mapboxsdk.style.layers.SymbolLayer} instead. An example of converting Android
- * SDK views to be used as a symbol see https://github.com/mapbox/mapbox-gl-native/blob/68f32bc104422207c64da8d90e8411b138d87f04/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/SymbolGeneratorActivity.java
+ * SDK views to be used as a symbol see https://github
+ * .com/mapbox/mapbox-gl-native/blob/68f32bc104422207c64da8d90e8411b138d87f04/platform/android
+ * /MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/SymbolGeneratorActivity.java
*/
@Deprecated
public abstract static class MarkerViewAdapter<U extends MarkerView> {
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 31910b206e..dcd6e54cbe 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
@@ -7,6 +7,7 @@ import android.graphics.RectF;
import android.os.AsyncTask;
import android.os.Handler;
import android.support.annotation.IntRange;
+import android.support.annotation.Keep;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.text.TextUtils;
@@ -64,6 +65,7 @@ final class NativeMapView {
private boolean destroyed = false;
// Holds the pointer to JNI NativeMapView
+ @Keep
long nativePtr = 0;
// Listener invoked to return a bitmap of the map
@@ -894,6 +896,7 @@ final class NativeMapView {
// Callbacks
//
+ @Keep
protected void onMapChanged(int rawChange) {
for (MapView.OnMapChangedListener onMapChangedListener : onMapChangedListeners) {
try {
@@ -904,6 +907,7 @@ final class NativeMapView {
}
}
+ @Keep
protected void onSnapshotReady(Bitmap mapContent) {
if (checkState("OnSnapshotReady")) {
return;
@@ -919,188 +923,273 @@ final class NativeMapView {
// JNI methods
//
+ @Keep
private native void nativeInitialize(NativeMapView nativeMapView,
FileSource fileSource,
MapRenderer mapRenderer,
float pixelRatio);
+ @Keep
private native void nativeDestroy();
+ @Keep
private native void nativeResizeView(int width, int height);
+ @Keep
private native void nativeSetStyleUrl(String url);
+ @Keep
private native String nativeGetStyleUrl();
+ @Keep
private native void nativeSetStyleJson(String newStyleJson);
+ @Keep
private native String nativeGetStyleJson();
+ @Keep
private native void nativeSetLatLngBounds(LatLngBounds latLngBounds);
+ @Keep
private native void nativeCancelTransitions();
+ @Keep
private native void nativeSetGestureInProgress(boolean inProgress);
+ @Keep
private native void nativeMoveBy(double dx, double dy, long duration);
+ @Keep
private native void nativeSetLatLng(double latitude, double longitude, long duration);
+ @Keep
private native LatLng nativeGetLatLng();
+ @Keep
private native CameraPosition nativeGetCameraForLatLngBounds(
LatLngBounds latLngBounds, double top, double left, double bottom, double right, double bearing, double tilt);
+ @Keep
private native CameraPosition nativeGetCameraForGeometry(
Geometry geometry, double top, double left, double bottom, double right, double bearing, double tilt);
+ @Keep
private native void nativeResetPosition();
+ @Keep
private native double nativeGetPitch();
+ @Keep
private native void nativeSetPitch(double pitch, long duration);
+ @Keep
private native void nativeSetZoom(double zoom, double cx, double cy, long duration);
+ @Keep
private native double nativeGetZoom();
+ @Keep
private native void nativeResetZoom();
+ @Keep
private native void nativeSetMinZoom(double zoom);
+ @Keep
private native double nativeGetMinZoom();
+ @Keep
private native void nativeSetMaxZoom(double zoom);
+ @Keep
private native double nativeGetMaxZoom();
+ @Keep
private native void nativeRotateBy(double sx, double sy, double ex, double ey, long duration);
+ @Keep
private native void nativeSetContentPadding(double top, double left, double bottom, double right);
+ @Keep
private native void nativeSetBearing(double degrees, long duration);
+ @Keep
private native void nativeSetBearingXY(double degrees, double fx, double fy, long duration);
+ @Keep
private native double nativeGetBearing();
+ @Keep
private native void nativeResetNorth();
+ @Keep
private native void nativeUpdateMarker(long markerId, double lat, double lon, String iconId);
+ @Keep
private native long[] nativeAddMarkers(Marker[] markers);
+ @Keep
private native long[] nativeAddPolylines(Polyline[] polylines);
+ @Keep
private native long[] nativeAddPolygons(Polygon[] polygons);
+ @Keep
private native void nativeRemoveAnnotations(long[] id);
+ @Keep
private native long[] nativeQueryPointAnnotations(RectF rect);
+ @Keep
private native long[] nativeQueryShapeAnnotations(RectF rect);
+ @Keep
private native void nativeAddAnnotationIcon(String symbol, int width, int height, float scale, byte[] pixels);
+ @Keep
private native void nativeRemoveAnnotationIcon(String symbol);
+ @Keep
private native void nativeSetVisibleCoordinateBounds(LatLng[] coordinates, RectF padding,
double direction, long duration);
+ @Keep
private native void nativeOnLowMemory();
+ @Keep
private native void nativeSetDebug(boolean debug);
+ @Keep
private native void nativeCycleDebugOptions();
+ @Keep
private native boolean nativeGetDebug();
+ @Keep
private native boolean nativeIsFullyLoaded();
+ @Keep
private native void nativeSetReachability(boolean status);
+ @Keep
private native double nativeGetMetersPerPixelAtLatitude(double lat, double zoom);
+ @Keep
private native ProjectedMeters nativeProjectedMetersForLatLng(double latitude, double longitude);
+ @Keep
private native LatLng nativeLatLngForProjectedMeters(double northing, double easting);
+ @Keep
private native PointF nativePixelForLatLng(double lat, double lon);
+ @Keep
private native LatLng nativeLatLngForPixel(float x, float y);
+ @Keep
private native double nativeGetTopOffsetPixelsForAnnotationSymbol(String symbolName);
+ @Keep
private native void nativeJumpTo(double angle, double latitude, double longitude, double pitch, double zoom);
+ @Keep
private native void nativeEaseTo(double angle, double latitude, double longitude,
long duration, double pitch, double zoom,
boolean easingInterpolator);
+ @Keep
private native void nativeFlyTo(double angle, double latitude, double longitude,
long duration, double pitch, double zoom);
+ @Keep
private native CameraPosition nativeGetCameraPosition();
+ @Keep
private native long nativeGetTransitionDuration();
+ @Keep
private native void nativeSetTransitionDuration(long duration);
+ @Keep
private native long nativeGetTransitionDelay();
+ @Keep
private native void nativeSetTransitionDelay(long delay);
+ @Keep
private native Layer[] nativeGetLayers();
+ @Keep
private native Layer nativeGetLayer(String layerId);
+ @Keep
private native void nativeAddLayer(long layerPtr, String before) throws CannotAddLayerException;
+ @Keep
private native void nativeAddLayerAbove(long layerPtr, String above) throws CannotAddLayerException;
+ @Keep
private native void nativeAddLayerAt(long layerPtr, int index) throws CannotAddLayerException;
+ @Keep
private native Layer nativeRemoveLayerById(String layerId);
+ @Keep
private native void nativeRemoveLayer(long layerId);
+ @Keep
private native Layer nativeRemoveLayerAt(int index);
+ @Keep
private native Source[] nativeGetSources();
+ @Keep
private native Source nativeGetSource(String sourceId);
+ @Keep
private native void nativeAddSource(Source source, long sourcePtr) throws CannotAddSourceException;
+ @Keep
private native void nativeRemoveSource(Source source, long sourcePtr);
+ @Keep
private native void nativeAddImage(String name, Bitmap bitmap, float pixelRatio, boolean sdf);
+ @Keep
private native void nativeAddImages(Image[] images);
+ @Keep
private native void nativeRemoveImage(String name);
+ @Keep
private native Bitmap nativeGetImage(String name);
+ @Keep
private native void nativeUpdatePolygon(long polygonId, Polygon polygon);
+ @Keep
private native void nativeUpdatePolyline(long polylineId, Polyline polyline);
+ @Keep
private native void nativeTakeSnapshot();
+ @Keep
private native Feature[] nativeQueryRenderedFeaturesForPoint(float x, float y,
String[] layerIds,
Object[] filter);
+ @Keep
private native Feature[] nativeQueryRenderedFeaturesForBox(float left, float top,
float right, float bottom,
String[] layerIds,
Object[] filter);
+ @Keep
private native Light nativeGetLight();
+ @Keep
private native void nativeSetPrefetchesTiles(boolean enable);
+ @Keep
private native boolean nativeGetPrefetchesTiles();
int getWidth() {
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 fcee5bd179..b05a8a407f 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
@@ -2,6 +2,7 @@ package com.mapbox.mapboxsdk.maps.renderer;
import android.content.Context;
import android.support.annotation.CallSuper;
+import android.support.annotation.Keep;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.storage.FileSource;
@@ -16,6 +17,7 @@ import javax.microedition.khronos.opengles.GL10;
* render on the one end and acts as a scheduler to request work to
* be performed on the GL thread on the other.
*/
+@Keep
public abstract class MapRenderer implements MapRendererScheduler {
// Holds the pointer to the native peer after initialisation
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/MapRendererRunnable.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/MapRendererRunnable.java
index 28246fe578..2ec82ea202 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/MapRendererRunnable.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/MapRendererRunnable.java
@@ -1,9 +1,12 @@
package com.mapbox.mapboxsdk.maps.renderer;
+import android.support.annotation.Keep;
+
/**
* Peer class for {@link Runnable}s to be scheduled on the {@link MapRenderer} thread.
* The actual work is performed in the native peer.
*/
+@Keep
class MapRendererRunnable implements Runnable {
// Holds the pointer to the native peer after initialisation
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 7ad4f124d8..fd12cceee6 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,13 +1,17 @@
package com.mapbox.mapboxsdk.maps.renderer;
+import android.support.annotation.Keep;
+
/**
* Can be used to schedule work on the map renderer
* thread or request a render.
*/
public interface MapRendererScheduler {
+ @Keep
void requestRender();
+ @Keep
void queueEvent(Runnable runnable);
}
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 7bc56475c0..b0667751bb 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
@@ -77,5 +77,4 @@ public class GLSurfaceViewMapRenderer extends MapRenderer implements GLSurfaceVi
glSurfaceView.queueEvent(runnable);
}
-
-}
+} \ No newline at end of file