diff --git a/platform/android/MapboxGLAndroidSDK/build.gradle b/platform/android/MapboxGLAndroidSDK/build.gradle index 9454ee777..e71fc5f10 100644 --- a/platform/android/MapboxGLAndroidSDK/build.gradle +++ b/platform/android/MapboxGLAndroidSDK/build.gradle @@ -13,6 +13,7 @@ dependencies { implementation dependenciesList.supportFragmentV4 implementation dependenciesList.okhttp3 implementation dependenciesList.gmsLocation + implementation dependenciesList.timber testImplementation dependenciesList.junit testImplementation dependenciesList.mockito diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/MapStrictModeException.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/MapStrictModeException.java index 5bfddabf9..acedcbed6 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/MapStrictModeException.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/MapStrictModeException.java @@ -1,6 +1,6 @@ package com.mapbox.mapboxsdk; -class MapStrictModeException extends RuntimeException { +public class MapStrictModeException extends RuntimeException { MapStrictModeException(String message) { super(String.format("Map detected an error that would fail silently otherwise: %s", message)); } diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/Mapbox.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/Mapbox.java index ce009c265..200a1dc69 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/Mapbox.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/Mapbox.java @@ -8,6 +8,7 @@ import androidx.annotation.Keep; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.UiThread; +import timber.log.Timber; import com.mapbox.mapboxsdk.constants.MapboxConstants; import com.mapbox.mapboxsdk.exceptions.MapboxConfigurationException; @@ -92,6 +93,7 @@ public final class Mapbox { ThreadUtils.init(context); ThreadUtils.checkThread(TAG); if (INSTANCE == null) { + Timber.plant(new Timber.DebugTree()); Context appContext = context.getApplicationContext(); FileSource.initializeFileDirsPaths(appContext); INSTANCE = new Mapbox(appContext, apiKey); diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/exceptions/MapboxConfigurationException.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/exceptions/MapboxConfigurationException.java index 88fc1b871..f58f57bda 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/exceptions/MapboxConfigurationException.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/exceptions/MapboxConfigurationException.java @@ -1,5 +1,7 @@ package com.mapbox.mapboxsdk.exceptions; +import com.mapbox.mapboxsdk.WellKnownTileServer; + import android.content.Context; import androidx.annotation.NonNull; @@ -8,10 +10,10 @@ import androidx.annotation.NonNull; * A MapboxConfigurationException is thrown by MapboxMap when the SDK hasn't been properly initialised. *
* This occurs either when {@link com.mapbox.mapboxsdk.Mapbox} is not correctly initialised or the provided apiKey - * through {@link com.mapbox.mapboxsdk.Mapbox#getInstance(Context, String)} isn't valid. + * through {@link com.mapbox.mapboxsdk.Mapbox#getInstance(Context, String, WellKnownTileServer)} isn't valid. *
* - * @see com.mapbox.mapboxsdk.Mapbox#getInstance(Context, String) + * @see com.mapbox.mapboxsdk.Mapbox#getInstance(Context, String, WellKnownTileServer) */ public class MapboxConfigurationException extends RuntimeException { @@ -19,8 +21,8 @@ public class MapboxConfigurationException extends RuntimeException { * Creates a Mapbox configuration exception thrown by MapboxMap when the SDK hasn't been properly initialised. */ public MapboxConfigurationException() { - super("\nUsing MapView requires calling Mapbox.getInstance(Context context, String apiKey) before " - + "inflating or creating the view."); + super("\nUsing MapView requires calling Mapbox.getInstance(Context context, String apiKey, " + + "WellKnownTileServer wellKnownTileServer) before inflating or creating the view."); } /** 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 85c736605..fe8804b62 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 @@ -18,11 +18,13 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.UiThread; import androidx.collection.LongSparseArray; +import timber.log.Timber; import com.mapbox.android.gestures.AndroidGesturesManager; import com.mapbox.mapboxsdk.MapStrictMode; import com.mapbox.mapboxsdk.Mapbox; import com.mapbox.mapboxsdk.R; +import com.mapbox.mapboxsdk.WellKnownTileServer; import com.mapbox.mapboxsdk.annotations.Annotation; import com.mapbox.mapboxsdk.constants.MapboxConstants; import com.mapbox.mapboxsdk.exceptions.MapboxConfigurationException; @@ -99,24 +101,28 @@ public class MapView extends FrameLayout implements NativeMapView.ViewCallback { @UiThread public MapView(@NonNull Context context) { super(context); + Timber.d("MapView constructed with context"); initialize(context, MapboxMapOptions.createFromAttributes(context)); } @UiThread public MapView(@NonNull Context context, @Nullable AttributeSet attrs) { super(context, attrs); + Timber.d("MapView constructed with context and attribute set"); initialize(context, MapboxMapOptions.createFromAttributes(context, attrs)); } @UiThread public MapView(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); + Timber.d( "MapView constructed with context, attributeSet and defStyleAttr"); initialize(context, MapboxMapOptions.createFromAttributes(context, attrs)); } @UiThread public MapView(@NonNull Context context, @Nullable MapboxMapOptions options) { super(context); + Timber.d("MapView constructed with context and MapboxMapOptions"); initialize(context, options == null ? MapboxMapOptions.createFromAttributes(context) : options); } @@ -160,18 +166,18 @@ public class MapView extends FrameLayout implements NativeMapView.ViewCallback { Polylines polylines = new PolylineContainer(nativeMapView, annotationsArray); ShapeAnnotations shapeAnnotations = new ShapeAnnotationContainer(nativeMapView, annotationsArray); AnnotationManager annotationManager = new AnnotationManager(this, annotationsArray, iconManager, - annotations, markers, polygons, polylines, shapeAnnotations); + annotations, markers, polygons, polylines, shapeAnnotations); Transform transform = new Transform(this, nativeMapView, cameraDispatcher); // MapboxMap List