├── .editorconfig ├── .github ├── CODEOWNERS ├── PULL_REQUEST_TEMPLATE.md └── stale.yml ├── .gitignore ├── .gitmodules ├── CHANGELOG.md ├── CODE-OF-CONDUCT.md ├── LICENSE.md ├── Makefile ├── MapboxGLAndroidSDK ├── .gitignore ├── build.gradle ├── gradle.properties ├── lint.xml ├── proguard-rules.pro └── src │ ├── main │ ├── AndroidManifest.xml │ ├── assets │ │ └── sdk_versions │ │ │ └── com.mapbox.mapboxsdk │ ├── cpp │ │ └── custom_layer.hpp │ ├── java │ │ ├── com │ │ │ └── mapbox │ │ │ │ └── mapboxsdk │ │ │ │ ├── AccountsManager.java │ │ │ │ ├── LibraryLoader.java │ │ │ │ ├── LibraryLoaderProvider.java │ │ │ │ ├── MapStrictMode.java │ │ │ │ ├── MapStrictModeException.java │ │ │ │ ├── Mapbox.java │ │ │ │ ├── ModuleProvider.java │ │ │ │ ├── ModuleProviderImpl.java │ │ │ │ ├── annotations │ │ │ │ ├── Annotation.java │ │ │ │ ├── ArrowDirection.java │ │ │ │ ├── BaseMarkerOptions.java │ │ │ │ ├── BasePointCollection.java │ │ │ │ ├── Bubble.java │ │ │ │ ├── BubbleLayout.java │ │ │ │ ├── BubblePopupHelper.java │ │ │ │ ├── Icon.java │ │ │ │ ├── IconFactory.java │ │ │ │ ├── InfoWindow.java │ │ │ │ ├── Marker.java │ │ │ │ ├── MarkerOptions.java │ │ │ │ ├── Polygon.java │ │ │ │ ├── PolygonOptions.java │ │ │ │ ├── Polyline.java │ │ │ │ ├── PolylineOptions.java │ │ │ │ └── package-info.java │ │ │ │ ├── attribution │ │ │ │ ├── Attribution.java │ │ │ │ ├── AttributionLayout.java │ │ │ │ ├── AttributionMeasure.java │ │ │ │ ├── AttributionParser.java │ │ │ │ └── package-info.java │ │ │ │ ├── camera │ │ │ │ ├── CameraPosition.java │ │ │ │ ├── CameraUpdate.java │ │ │ │ ├── CameraUpdateFactory.java │ │ │ │ └── package-info.java │ │ │ │ ├── constants │ │ │ │ ├── GeometryConstants.java │ │ │ │ ├── MapboxConstants.java │ │ │ │ ├── TelemetryConstants.java │ │ │ │ └── package-info.java │ │ │ │ ├── exceptions │ │ │ │ ├── CalledFromWorkerThreadException.java │ │ │ │ ├── ConversionException.java │ │ │ │ ├── IconBitmapChangedException.java │ │ │ │ ├── InvalidLatLngBoundsException.java │ │ │ │ ├── InvalidMarkerPositionException.java │ │ │ │ ├── MapboxConfigurationException.java │ │ │ │ ├── MapboxLifecycleException.java │ │ │ │ ├── TooManyIconsException.java │ │ │ │ └── package-info.java │ │ │ │ ├── geometry │ │ │ │ ├── LatLng.java │ │ │ │ ├── LatLngBounds.java │ │ │ │ ├── LatLngBoundsZoom.java │ │ │ │ ├── LatLngQuad.java │ │ │ │ ├── LatLngSpan.java │ │ │ │ ├── ProjectedMeters.java │ │ │ │ ├── VisibleRegion.java │ │ │ │ └── package-info.java │ │ │ │ ├── http │ │ │ │ ├── HttpIdentifier.java │ │ │ │ ├── HttpLogger.java │ │ │ │ ├── HttpRequest.java │ │ │ │ ├── HttpRequestUrl.java │ │ │ │ ├── HttpResponder.java │ │ │ │ ├── LocalRequestTask.java │ │ │ │ ├── NativeHttpRequest.java │ │ │ │ └── package-info.java │ │ │ │ ├── location │ │ │ │ ├── AnimatorListenerHolder.java │ │ │ │ ├── CompassEngine.java │ │ │ │ ├── CompassListener.java │ │ │ │ ├── IndicatorLocationLayerRenderer.java │ │ │ │ ├── LatLngEvaluator.java │ │ │ │ ├── LayerBitmapProvider.java │ │ │ │ ├── LayerFeatureProvider.java │ │ │ │ ├── LayerSourceProvider.java │ │ │ │ ├── LocationAnimatorCoordinator.java │ │ │ │ ├── LocationCameraController.java │ │ │ │ ├── LocationComponent.java │ │ │ │ ├── LocationComponentActivationOptions.java │ │ │ │ ├── LocationComponentCompassEngine.java │ │ │ │ ├── LocationComponentConstants.java │ │ │ │ ├── LocationComponentNotInitializedException.java │ │ │ │ ├── LocationComponentOptions.java │ │ │ │ ├── LocationComponentPositionManager.java │ │ │ │ ├── LocationIndicatorLayer.java │ │ │ │ ├── LocationLayerController.java │ │ │ │ ├── LocationLayerRenderer.java │ │ │ │ ├── LocationPropertyFactory.java │ │ │ │ ├── LocationUpdate.java │ │ │ │ ├── MapboxAnimator.java │ │ │ │ ├── MapboxAnimatorListener.java │ │ │ │ ├── MapboxAnimatorProvider.java │ │ │ │ ├── MapboxAnimatorSetProvider.java │ │ │ │ ├── MapboxCameraAnimatorAdapter.java │ │ │ │ ├── MapboxFloatAnimator.java │ │ │ │ ├── MapboxLatLngAnimator.java │ │ │ │ ├── MapboxPaddingAnimator.java │ │ │ │ ├── OnCameraMoveInvalidateListener.java │ │ │ │ ├── OnCameraTrackingChangedListener.java │ │ │ │ ├── OnIndicatorPositionChangedListener.java │ │ │ │ ├── OnLocationCameraTransitionListener.java │ │ │ │ ├── OnLocationClickListener.java │ │ │ │ ├── OnLocationLongClickListener.java │ │ │ │ ├── OnLocationStaleListener.java │ │ │ │ ├── OnRenderModeChangedListener.java │ │ │ │ ├── PaddingEvaluator.java │ │ │ │ ├── PulsingLocationCircleAnimator.java │ │ │ │ ├── StaleStateManager.java │ │ │ │ ├── SymbolLocationLayerRenderer.java │ │ │ │ ├── Utils.java │ │ │ │ ├── modes │ │ │ │ │ ├── CameraMode.java │ │ │ │ │ ├── RenderMode.java │ │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ │ ├── log │ │ │ │ ├── Logger.java │ │ │ │ ├── LoggerDefinition.java │ │ │ │ └── package-info.java │ │ │ │ ├── maps │ │ │ │ ├── AnnotationContainer.java │ │ │ │ ├── AnnotationManager.java │ │ │ │ ├── Annotations.java │ │ │ │ ├── AttributionDialogManager.java │ │ │ │ ├── CameraChangeDispatcher.java │ │ │ │ ├── FocalPointChangeListener.java │ │ │ │ ├── GlyphsRasterizationMode.java │ │ │ │ ├── IconManager.java │ │ │ │ ├── Image.java │ │ │ │ ├── ImageContent.java │ │ │ │ ├── ImageStretches.java │ │ │ │ ├── InfoWindowManager.java │ │ │ │ ├── MapChangeReceiver.java │ │ │ │ ├── MapFragment.java │ │ │ │ ├── MapGestureDetector.java │ │ │ │ ├── MapKeyListener.java │ │ │ │ ├── MapView.java │ │ │ │ ├── MapboxMap.java │ │ │ │ ├── MapboxMapOptions.java │ │ │ │ ├── MarkerContainer.java │ │ │ │ ├── Markers.java │ │ │ │ ├── NativeMap.java │ │ │ │ ├── NativeMapView.java │ │ │ │ ├── ObservableEvent.java │ │ │ │ ├── Observer.java │ │ │ │ ├── OnMapReadyCallback.java │ │ │ │ ├── PolygonContainer.java │ │ │ │ ├── Polygons.java │ │ │ │ ├── PolylineContainer.java │ │ │ │ ├── Polylines.java │ │ │ │ ├── Projection.java │ │ │ │ ├── ShapeAnnotationContainer.java │ │ │ │ ├── ShapeAnnotations.java │ │ │ │ ├── Style.java │ │ │ │ ├── SupportMapFragment.java │ │ │ │ ├── TelemetryDefinition.java │ │ │ │ ├── Transform.java │ │ │ │ ├── UiSettings.java │ │ │ │ ├── Value.java │ │ │ │ ├── package-info.java │ │ │ │ ├── renderer │ │ │ │ │ ├── MapRenderer.java │ │ │ │ │ ├── MapRendererRunnable.java │ │ │ │ │ ├── MapRendererScheduler.java │ │ │ │ │ ├── egl │ │ │ │ │ │ ├── EGLConfigChooser.java │ │ │ │ │ │ ├── EGLContextFactory.java │ │ │ │ │ │ ├── EGLLogWrapper.java │ │ │ │ │ │ ├── EGLWindowSurfaceFactory.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── glsurfaceview │ │ │ │ │ │ ├── GLSurfaceViewMapRenderer.java │ │ │ │ │ │ ├── MapboxGLSurfaceView.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── package-info.java │ │ │ │ │ └── textureview │ │ │ │ │ │ ├── TextureViewMapRenderer.java │ │ │ │ │ │ ├── TextureViewRenderThread.java │ │ │ │ │ │ └── package-info.java │ │ │ │ └── widgets │ │ │ │ │ ├── CompassView.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── module │ │ │ │ ├── http │ │ │ │ │ ├── HttpRequestImpl.java │ │ │ │ │ ├── HttpRequestUtil.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── loader │ │ │ │ │ ├── LibraryLoaderProviderImpl.java │ │ │ │ │ └── package-info.java │ │ │ │ └── telemetry │ │ │ │ │ ├── MapBaseEvent.java │ │ │ │ │ ├── MapEventFactory.java │ │ │ │ │ ├── MapLoadEvent.java │ │ │ │ │ ├── OfflineDownloadEndEvent.java │ │ │ │ │ ├── OfflineDownloadStartEvent.java │ │ │ │ │ ├── PerformanceEvent.java │ │ │ │ │ ├── PhoneState.java │ │ │ │ │ ├── TelemetryImpl.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── net │ │ │ │ ├── ConnectivityListener.java │ │ │ │ ├── ConnectivityReceiver.java │ │ │ │ ├── NativeConnectivityListener.java │ │ │ │ └── package-info.java │ │ │ │ ├── offline │ │ │ │ ├── CacheAreaDefinition.java │ │ │ │ ├── OfflineGeometryRegionDefinition.java │ │ │ │ ├── OfflineManager.java │ │ │ │ ├── OfflineRegion.java │ │ │ │ ├── OfflineRegionDefinition.java │ │ │ │ ├── OfflineRegionError.java │ │ │ │ ├── OfflineRegionStatus.java │ │ │ │ ├── OfflineTilePyramidRegionDefinition.java │ │ │ │ └── package-info.java │ │ │ │ ├── package-info.java │ │ │ │ ├── snapshotter │ │ │ │ ├── MapSnaphotUtil.java │ │ │ │ ├── MapSnapshot.java │ │ │ │ ├── MapSnapshotter.java │ │ │ │ └── package-info.java │ │ │ │ ├── storage │ │ │ │ ├── FileSource.java │ │ │ │ ├── Resource.java │ │ │ │ └── package-info.java │ │ │ │ ├── style │ │ │ │ ├── expressions │ │ │ │ │ ├── Expression.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── layers │ │ │ │ │ ├── BackgroundLayer.java │ │ │ │ │ ├── CannotAddLayerException.java │ │ │ │ │ ├── CircleLayer.java │ │ │ │ │ ├── CustomLayer.java │ │ │ │ │ ├── FillExtrusionLayer.java │ │ │ │ │ ├── FillLayer.java │ │ │ │ │ ├── HeatmapLayer.java │ │ │ │ │ ├── HillshadeLayer.java │ │ │ │ │ ├── Layer.java │ │ │ │ │ ├── LayoutPropertyValue.java │ │ │ │ │ ├── LineLayer.java │ │ │ │ │ ├── PaintPropertyValue.java │ │ │ │ │ ├── Property.java │ │ │ │ │ ├── PropertyFactory.java │ │ │ │ │ ├── PropertyValue.java │ │ │ │ │ ├── RasterLayer.java │ │ │ │ │ ├── SymbolLayer.java │ │ │ │ │ ├── TransitionOptions.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── light │ │ │ │ │ ├── Light.java │ │ │ │ │ ├── Position.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── sources │ │ │ │ │ ├── CannotAddSourceException.java │ │ │ │ │ ├── CustomGeometrySource.java │ │ │ │ │ ├── CustomGeometrySourceOptions.java │ │ │ │ │ ├── GeoJsonOptions.java │ │ │ │ │ ├── GeoJsonSource.java │ │ │ │ │ ├── GeometryTileProvider.java │ │ │ │ │ ├── ImageSource.java │ │ │ │ │ ├── RasterDemSource.java │ │ │ │ │ ├── RasterSource.java │ │ │ │ │ ├── Source.java │ │ │ │ │ ├── TileSet.java │ │ │ │ │ ├── UnknownSource.java │ │ │ │ │ ├── VectorSource.java │ │ │ │ │ └── package-info.java │ │ │ │ └── types │ │ │ │ │ ├── Formatted.java │ │ │ │ │ ├── FormattedSection.java │ │ │ │ │ └── package-info.java │ │ │ │ └── utils │ │ │ │ ├── AnimatorUtils.java │ │ │ │ ├── BitmapUtils.java │ │ │ │ ├── ColorUtils.java │ │ │ │ ├── Compare.java │ │ │ │ ├── FileUtils.java │ │ │ │ ├── FontUtils.java │ │ │ │ ├── MapFragmentUtils.java │ │ │ │ ├── MathUtils.java │ │ │ │ ├── StringUtils.java │ │ │ │ ├── ThreadUtils.java │ │ │ │ └── package-info.java │ │ └── overview.html │ ├── res-public │ │ └── values │ │ │ └── public.xml │ └── res │ │ ├── drawable-hdpi │ │ ├── mapbox_compass_icon.png │ │ ├── mapbox_logo_helmet.png │ │ ├── mapbox_logo_icon.png │ │ ├── mapbox_marker_icon_default.png │ │ ├── mapbox_markerview_icon_default.png │ │ ├── mapbox_mylocation_icon_bearing.png │ │ └── mapbox_mylocation_icon_default.png │ │ ├── drawable-mdpi │ │ ├── mapbox_compass_icon.png │ │ ├── mapbox_logo_helmet.png │ │ ├── mapbox_logo_icon.png │ │ ├── mapbox_marker_icon_default.png │ │ ├── mapbox_markerview_icon_default.png │ │ ├── mapbox_mylocation_icon_bearing.png │ │ └── mapbox_mylocation_icon_default.png │ │ ├── drawable-xhdpi │ │ ├── mapbox_compass_icon.png │ │ ├── mapbox_logo_helmet.png │ │ ├── mapbox_logo_icon.png │ │ ├── mapbox_marker_icon_default.png │ │ ├── mapbox_markerview_icon_default.png │ │ ├── mapbox_mylocation_icon_bearing.png │ │ └── mapbox_mylocation_icon_default.png │ │ ├── drawable-xxhdpi │ │ ├── mapbox_compass_icon.png │ │ ├── mapbox_logo_helmet.png │ │ ├── mapbox_logo_icon.png │ │ ├── mapbox_marker_icon_default.png │ │ ├── mapbox_markerview_icon_default.png │ │ ├── mapbox_mylocation_icon_bearing.png │ │ └── mapbox_mylocation_icon_default.png │ │ ├── drawable-xxxhdpi │ │ ├── mapbox_compass_icon.png │ │ ├── mapbox_logo_helmet.png │ │ ├── mapbox_logo_icon.png │ │ ├── mapbox_marker_icon_default.png │ │ ├── mapbox_markerview_icon_default.png │ │ ├── mapbox_mylocation_icon_bearing.png │ │ └── mapbox_mylocation_icon_default.png │ │ ├── drawable │ │ ├── mapbox_info_bg_selector.xml │ │ ├── mapbox_info_icon_default.xml │ │ ├── mapbox_info_icon_selected.xml │ │ ├── mapbox_mylocation_bg_shape.xml │ │ ├── mapbox_popup_window_transparent.xml │ │ ├── mapbox_rounded_corner.xml │ │ ├── mapbox_user_bearing_icon.xml │ │ ├── mapbox_user_icon.xml │ │ ├── mapbox_user_icon_shadow.xml │ │ ├── mapbox_user_icon_stale.xml │ │ ├── mapbox_user_puck_icon.xml │ │ └── mapbox_user_stroke_icon.xml │ │ ├── layout │ │ ├── mapbox_attribution_list_item.xml │ │ ├── mapbox_infowindow_content.xml │ │ └── mapbox_view_image_marker.xml │ │ ├── values-bg │ │ └── strings.xml │ │ ├── values-ca │ │ └── strings.xml │ │ ├── values-cs │ │ └── strings.xml │ │ ├── values-es │ │ └── strings.xml │ │ ├── values-fr │ │ └── strings.xml │ │ ├── values-gl │ │ └── strings.xml │ │ ├── values-he │ │ └── strings.xml │ │ ├── values-hu │ │ └── strings.xml │ │ ├── values-iw │ │ └── strings.xml │ │ ├── values-ko │ │ └── strings.xml │ │ ├── values-lt │ │ └── strings.xml │ │ ├── values-nl │ │ └── strings.xml │ │ ├── values-pl │ │ └── strings.xml │ │ ├── values-pt-rPT │ │ └── strings.xml │ │ ├── values-ru │ │ └── strings.xml │ │ ├── values-sv │ │ └── strings.xml │ │ ├── values-uk │ │ └── strings.xml │ │ ├── values-vi │ │ └── strings.xml │ │ ├── values-zh-rCN │ │ └── strings.xml │ │ ├── values-zh-rHK │ │ └── strings.xml │ │ ├── values-zh-rTW │ │ └── strings.xml │ │ └── values │ │ ├── attrs.xml │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml │ └── test │ ├── java │ └── com │ │ └── mapbox │ │ └── mapboxsdk │ │ ├── AccountsManagerTest.java │ │ ├── MapboxInjector.java │ │ ├── MapboxTest.java │ │ ├── annotations │ │ ├── AnnotationTest.java │ │ ├── IconTest.java │ │ ├── InfoWindowTest.java │ │ ├── MarkerTest.java │ │ ├── PolygonTest.java │ │ └── PolylineTest.java │ │ ├── attribution │ │ └── AttributionParseTest.java │ │ ├── camera │ │ └── CameraPositionTest.java │ │ ├── constants │ │ └── AppConstant.java │ │ ├── geometry │ │ ├── LatLngBoundsTest.java │ │ ├── LatLngSpanTest.java │ │ ├── LatLngTest.java │ │ ├── ProjectedMetersTest.java │ │ └── VisibleRegionTest.java │ │ ├── location │ │ ├── CompassEngineTest.java │ │ ├── IndicatorLocationLayerRendererTest.kt │ │ ├── LocationAnimatorCoordinatorTest.kt │ │ ├── LocationCameraControllerTest.java │ │ ├── LocationComponentActivationOptionsTest.java │ │ ├── LocationComponentOptionsTest.java │ │ ├── LocationComponentPositionManagerTest.kt │ │ ├── LocationComponentTest.kt │ │ ├── LocationLayerControllerTest.java │ │ ├── MapboxAnimatorTest.kt │ │ └── UtilsTest.java │ │ ├── log │ │ └── LoggerTest.kt │ │ ├── maps │ │ ├── AnnotationManagerTest.java │ │ ├── AttributionDialogManagerTest.java │ │ ├── MapChangeReceiverTest.java │ │ ├── MapTouchListenersTest.java │ │ ├── MapboxMapOptionsAttrsTest.kt │ │ ├── MapboxMapOptionsTest.java │ │ ├── MapboxMapTest.kt │ │ ├── StyleBuilderTest.kt │ │ ├── StyleTest.kt │ │ ├── TransformTest.kt │ │ └── UiSettingsTest.java │ │ ├── module │ │ ├── http │ │ │ ├── HttpRequestUrlTest.kt │ │ │ └── HttpRequestUtilTest.kt │ │ └── telemetry │ │ │ ├── MapEventFactoryTest.java │ │ │ └── SchemaTest.java │ │ ├── style │ │ └── expressions │ │ │ └── ExpressionTest.java │ │ ├── telemetry │ │ └── HttpTransportTest.java │ │ └── utils │ │ ├── ColorUtilsTest.kt │ │ └── MockParcel.java │ └── resources │ └── mockito-extensions │ └── org.mockito.plugins.MockMaker ├── MapboxGLAndroidSDKLint ├── .gitignore ├── build.gradle └── src │ ├── main │ └── java │ │ └── com │ │ └── mapbox │ │ └── mapboxsdk │ │ └── lint │ │ ├── KeepDetector.kt │ │ └── MapboxIssueRegistry.kt │ └── test │ └── java │ └── com │ └── mapbox │ └── mapboxsdk │ └── lint │ └── KeepDetectorTest.kt ├── MapboxGLAndroidSDKTestApp ├── .gitignore ├── README.md ├── build.gradle ├── lint-baseline-local.xml ├── lint │ └── lint-baseline-ci.xml ├── proguard-rules.pro └── src │ ├── androidTest │ ├── AndroidManifest.xml │ ├── assets │ │ └── streets.json │ └── java │ │ └── com │ │ └── mapbox │ │ └── mapboxsdk │ │ ├── AppCenter.kt │ │ ├── InstrumentationApplication.kt │ │ ├── InstrumentationRunner.kt │ │ ├── camera │ │ └── CameraUpdateFactoryTest.kt │ │ ├── integration │ │ ├── BaseIntegrationTest.kt │ │ ├── FragmentBackStackTest.kt │ │ ├── GLSurfaceViewReopenTest.kt │ │ ├── GLSurfaceViewReuseTest.kt │ │ ├── OrientationChangeTest.kt │ │ ├── QueryRenderedFeaturesBoxCountTest.kt │ │ ├── TextureViewReopenTest.kt │ │ ├── TextureViewReuseTest.kt │ │ └── ViewPagerScrollTest.kt │ │ ├── location │ │ ├── LocationComponentTest.kt │ │ ├── LocationIndicatorLayerTest.java │ │ ├── LocationLayerControllerTest.kt │ │ └── utils │ │ │ ├── LocationComponentAction.kt │ │ │ ├── MapboxLocationTestingUtils.kt │ │ │ └── StyleChangeIdlingResource.kt │ │ ├── maps │ │ ├── BaseAppCenterLayerTest.kt │ │ ├── BaseLayerTest.kt │ │ ├── GesturesUiTestUtils.kt │ │ ├── IconManagerResolver.java │ │ ├── MapGestureDetectorTest.kt │ │ ├── MapboxMapTest.java │ │ ├── MapboxTest.java │ │ ├── NativeMapViewTest.kt │ │ ├── TransformTest.kt │ │ └── VisibleRegionTest.kt │ │ ├── offline │ │ └── OfflineDownloadTest.kt │ │ ├── snapshotter │ │ └── MapSnapshotterTest.kt │ │ ├── testapp │ │ ├── action │ │ │ ├── MapboxMapAction.java │ │ │ ├── OrientationAction.java │ │ │ └── WaitAction.java │ │ ├── activity │ │ │ ├── BaseAppCenterTest.java │ │ │ ├── BaseTest.java │ │ │ ├── EspressoAppCenterTest.java │ │ │ ├── EspressoTest.java │ │ │ └── activity.junit.ejs │ │ ├── annotations │ │ │ ├── IconTest.java │ │ │ ├── MarkerTest.java │ │ │ ├── PolygonTest.java │ │ │ └── PolylineTest.java │ │ ├── camera │ │ │ ├── CameraAnimateTest.java │ │ │ ├── CameraEaseTest.java │ │ │ ├── CameraForTest.java │ │ │ ├── CameraMoveTest.java │ │ │ └── CameraTest.java │ │ ├── fragment │ │ │ └── MapDialogFragmentTest.kt │ │ ├── geometry │ │ │ ├── GeoJsonConversionTest.java │ │ │ └── LatLngBoundsTest.java │ │ ├── maps │ │ │ ├── ImageMissingTest.kt │ │ │ ├── RemoveUnusedImagesTest.kt │ │ │ ├── RenderViewGetterTest.kt │ │ │ ├── ScreenCoordinateConversion.kt │ │ │ ├── StyleLoadTest.kt │ │ │ └── widgets │ │ │ │ ├── AttributionTest.java │ │ │ │ ├── CompassViewTest.java │ │ │ │ └── LogoTest.java │ │ ├── offline │ │ │ ├── CacheTest.kt │ │ │ ├── OfflineManagerTest.kt │ │ │ └── OfflineUtilsTest.java │ │ ├── render │ │ │ └── RenderTest.java │ │ ├── storage │ │ │ ├── FileSourceMapTest.kt │ │ │ ├── FileSourceStandaloneTest.kt │ │ │ └── FileSourceTestUtils.kt │ │ ├── string │ │ │ └── UppperLowerCaseTest.java │ │ ├── style │ │ │ ├── BackgroundLayerTest.java │ │ │ ├── CircleLayerTest.java │ │ │ ├── CustomGeometrySourceTest.kt │ │ │ ├── ExpressionTest.java │ │ │ ├── FillExtrusionLayerTest.java │ │ │ ├── FillLayerTest.java │ │ │ ├── GeoJsonSourceTests.java │ │ │ ├── HeatmapLayerTest.java │ │ │ ├── HillshadeLayerTest.java │ │ │ ├── ImageTest.kt │ │ │ ├── LightTest.java │ │ │ ├── LineLayerTest.java │ │ │ ├── RasterLayerTest.java │ │ │ ├── RuntimeStyleTests.java │ │ │ ├── RuntimeStyleTimingTests.java │ │ │ ├── StyleLoaderTest.java │ │ │ └── SymbolLayerTest.java │ │ └── utils │ │ │ ├── SnapshotterIdlingResource.java │ │ │ ├── TestConstants.java │ │ │ └── TestingAsyncUtils.kt │ │ └── utils │ │ └── FontUtilsTest.java │ └── main │ ├── AndroidManifest.xml │ ├── assets │ ├── Roboto-Medium.ttf │ ├── Roboto-Regular.ttf │ ├── commercial-24.png │ ├── dog-park-24.png │ ├── earthquakes.geojson │ ├── fill_color_style.json │ ├── fill_filter_style.json │ ├── fonts │ │ ├── DIN Offc Pro Bold,Arial Unicode MS Bold │ │ │ └── 0-255.pbf │ │ ├── DIN Offc Pro Italic,Arial Unicode MS Regular │ │ │ └── 0-255.pbf │ │ ├── DIN Offc Pro Medium,Arial Unicode MS Regular │ │ │ └── 0-255.pbf │ │ └── DIN Offc Pro Regular,Arial Unicode MS Regular │ │ │ ├── 0-255.pbf │ │ │ └── 8192-8447.pbf │ ├── heavy_style.json │ ├── line_filter_style.json │ ├── london-underground-24.png │ ├── numeric_filter_style.json │ ├── offline_test.db │ ├── points-sf.geojson │ ├── points.geojson │ ├── small_line.geojson │ ├── small_poly.geojson │ ├── streets.json │ ├── stretchable_image.geojson │ └── town-hall-24.png │ ├── cpp │ ├── CMakeLists.txt │ └── example_custom_layer.cpp │ ├── java │ └── com │ │ └── mapbox │ │ └── mapboxsdk │ │ └── testapp │ │ ├── MapboxApplication.java │ │ ├── activity │ │ ├── FeatureOverviewActivity.java │ │ ├── annotation │ │ │ ├── AnimatedSymbolLayerActivity.java │ │ │ ├── BulkMarkerActivity.java │ │ │ ├── DynamicMarkerChangeActivity.java │ │ │ ├── PolygonActivity.java │ │ │ ├── PolylineActivity.java │ │ │ └── PressForMarkerActivity.java │ │ ├── camera │ │ │ ├── CameraAnimationTypeActivity.java │ │ │ ├── CameraAnimatorActivity.java │ │ │ ├── CameraPositionActivity.java │ │ │ ├── GestureDetectorActivity.java │ │ │ ├── LatLngBoundsActivity.kt │ │ │ ├── ManualZoomActivity.java │ │ │ ├── MaxMinZoomActivity.java │ │ │ └── ScrollByActivity.java │ │ ├── customlayer │ │ │ └── CustomLayerActivity.java │ │ ├── espresso │ │ │ ├── DeviceIndependentTestActivity.java │ │ │ ├── EspressoTestActivity.java │ │ │ └── PixelTestActivity.kt │ │ ├── feature │ │ │ ├── QueryRenderedFeaturesBoxCountActivity.java │ │ │ ├── QueryRenderedFeaturesBoxHighlightActivity.java │ │ │ ├── QueryRenderedFeaturesBoxSymbolCountActivity.java │ │ │ ├── QueryRenderedFeaturesPropertiesActivity.java │ │ │ └── QuerySourceFeaturesActivity.java │ │ ├── fragment │ │ │ ├── FragmentBackStackActivity.kt │ │ │ ├── MapFragmentActivity.java │ │ │ ├── MultiMapActivity.java │ │ │ ├── NestedViewPagerActivity.kt │ │ │ ├── SupportMapFragmentActivity.java │ │ │ └── ViewPagerActivity.kt │ │ ├── imagegenerator │ │ │ ├── PrintActivity.java │ │ │ └── SnapshotActivity.kt │ │ ├── infowindow │ │ │ ├── DynamicInfoWindowAdapterActivity.java │ │ │ ├── InfoWindowActivity.java │ │ │ └── InfoWindowAdapterActivity.java │ │ ├── location │ │ │ ├── BasicLocationPulsingCircleActivity.java │ │ │ ├── CustomizedLocationPulsingCircleActivity.java │ │ │ ├── LocationComponentActivationActivity.java │ │ │ ├── LocationFragmentActivity.kt │ │ │ ├── LocationMapChangeActivity.java │ │ │ ├── LocationModesActivity.java │ │ │ ├── ManualLocationUpdatesActivity.java │ │ │ └── Utils.java │ │ ├── maplayout │ │ │ ├── BottomSheetActivity.java │ │ │ ├── DebugModeActivity.java │ │ │ ├── DoubleMapActivity.java │ │ │ ├── GLSurfaceRecyclerViewActivity.kt │ │ │ ├── LatLngBoundsForCameraActivity.java │ │ │ ├── LocalGlyphActivity.java │ │ │ ├── MapChangeActivity.java │ │ │ ├── MapInDialogActivity.java │ │ │ ├── MapPaddingActivity.java │ │ │ ├── OverlayMapActivity.kt │ │ │ ├── SimpleMapActivity.java │ │ │ ├── TextureRecyclerViewActivity.kt │ │ │ └── VisibilityChangeActivity.java │ │ ├── offline │ │ │ ├── ChangeResourcesCachePathActivity.kt │ │ │ ├── DeleteRegionActivity.java │ │ │ ├── DownloadRegionActivity.kt │ │ │ ├── MergeOfflineRegionsActivity.kt │ │ │ ├── OfflineActivity.java │ │ │ ├── PrefetchAmbientCacheActivity.kt │ │ │ └── UpdateMetadataActivity.java │ │ ├── render │ │ │ ├── RenderTestActivity.java │ │ │ ├── RenderTestDefinition.java │ │ │ ├── RenderTestSnapshotter.java │ │ │ └── RenderTestStyleDefinition.java │ │ ├── snapshot │ │ │ ├── MapSnapshotterActivity.java │ │ │ ├── MapSnapshotterBitMapOverlayActivity.java │ │ │ ├── MapSnapshotterHeatMapActivity.java │ │ │ ├── MapSnapshotterLocalStyleActivity.java │ │ │ └── MapSnapshotterReuseActivity.java │ │ ├── storage │ │ │ ├── CacheManagementActivity.kt │ │ │ └── UrlTransformActivity.java │ │ ├── style │ │ │ ├── AnimatedImageSourceActivity.java │ │ │ ├── BuildingFillExtrusionActivity.java │ │ │ ├── CircleLayerActivity.java │ │ │ ├── CollectionUpdateOnStyleChange.kt │ │ │ ├── CustomSpriteActivity.java │ │ │ ├── DataDrivenStyleActivity.java │ │ │ ├── DistanceExpressionActivity.kt │ │ │ ├── DraggableMarkerActivity.kt │ │ │ ├── FillExtrusionActivity.java │ │ │ ├── FillExtrusionStyleTestActivity.java │ │ │ ├── GeoJsonClusteringActivity.java │ │ │ ├── GradientLineActivity.java │ │ │ ├── GridSourceActivity.java │ │ │ ├── HeatmapLayerActivity.java │ │ │ ├── HillshadeLayerActivity.java │ │ │ ├── ImageInLabelActivity.java │ │ │ ├── NoStyleActivity.kt │ │ │ ├── RealTimeGeoJsonActivity.java │ │ │ ├── RuntimeStyleActivity.java │ │ │ ├── RuntimeStyleTimingTestActivity.java │ │ │ ├── StretchableImageActivity.java │ │ │ ├── StyleFileActivity.java │ │ │ ├── SymbolGeneratorActivity.java │ │ │ ├── SymbolLayerActivity.java │ │ │ └── ZoomFunctionSymbolLayerActivity.java │ │ ├── telemetry │ │ │ └── PerformanceMeasurementActivity.java │ │ ├── textureview │ │ │ ├── TextureViewAnimationActivity.java │ │ │ ├── TextureViewDebugModeActivity.java │ │ │ ├── TextureViewResizeActivity.java │ │ │ └── TextureViewTransparentBackgroundActivity.java │ │ └── turf │ │ │ ├── MapSnapshotterWithinExpression.kt │ │ │ ├── PhysicalUnitCircleActivity.kt │ │ │ └── WithinExpressionActivity.kt │ │ ├── adapter │ │ ├── FeatureAdapter.java │ │ └── FeatureSectionAdapter.java │ │ ├── model │ │ ├── activity │ │ │ └── Feature.java │ │ ├── annotations │ │ │ ├── CityStateMarker.java │ │ │ ├── CityStateMarkerOptions.java │ │ │ ├── CountryMarker.java │ │ │ └── CountryMarkerOptions.java │ │ ├── customlayer │ │ │ └── ExampleCustomLayer.java │ │ └── other │ │ │ ├── OfflineDownloadRegionDialog.java │ │ │ └── OfflineListRegionsDialog.java │ │ ├── utils │ │ ├── FileUtils.kt │ │ ├── FontCache.java │ │ ├── GeoParseUtil.java │ │ ├── IconUtils.java │ │ ├── IdleZoomListener.java │ │ ├── ItemClickSupport.java │ │ ├── NavUtils.java │ │ ├── OfflineUtils.java │ │ ├── ResourceUtils.java │ │ ├── TileLoadingMeasurementUtils.java │ │ ├── TimberLogger.java │ │ ├── TimingLogger.java │ │ ├── TokenUtils.java │ │ └── ViewToBitmapUtil.java │ │ └── view │ │ ├── LockableBottomSheetBehavior.java │ │ └── MapViewPager.java │ └── res │ ├── animator │ ├── scale_down.xml │ └── scale_up.xml │ ├── drawable-hdpi │ ├── ic_android.png │ ├── ic_android_2.png │ ├── ic_launcher_round.png │ ├── icon.png │ ├── icon_burned.png │ ├── popup.png │ └── popup_debug.png │ ├── drawable-mdpi │ ├── ic_android.png │ ├── ic_android_2.png │ ├── ic_launcher_round.png │ ├── icon.png │ ├── icon_burned.png │ ├── southeast_radar_0.png │ ├── southeast_radar_1.png │ ├── southeast_radar_2.png │ └── southeast_radar_3.png │ ├── drawable-xhdpi │ ├── ic_android.png │ ├── ic_android_2.png │ ├── ic_launcher_round.png │ ├── icon.png │ └── icon_burned.png │ ├── drawable-xxhdpi │ ├── ic_android.png │ ├── ic_android_2.png │ ├── ic_launcher_round.png │ ├── ic_us.png │ ├── icon.png │ └── icon_burned.png │ ├── drawable-xxxhdpi │ ├── ic_android.png │ ├── ic_android_2.png │ ├── ic_car_top.png │ ├── ic_launcher_round.png │ ├── ic_taxi_top.png │ ├── icon.png │ ├── icon_burned.png │ └── water.jpg │ ├── drawable │ ├── custom_user_arrow.xml │ ├── custom_user_icon.xml │ ├── custom_user_puck_icon.xml │ ├── ic_ab_back.xml │ ├── ic_add.xml │ ├── ic_add_a_photo_black.xml │ ├── ic_add_white.xml │ ├── ic_airplanemode_active_black.xml │ ├── ic_animate_coordinates.xml │ ├── ic_arrow_downward.xml │ ├── ic_arrow_upward.xml │ ├── ic_check_box.xml │ ├── ic_delete.xml │ ├── ic_directions_bus_black.xml │ ├── ic_directions_car_black.xml │ ├── ic_directions_run_black.xml │ ├── ic_droppin.xml │ ├── ic_hearing_black_24dp.xml │ ├── ic_input.xml │ ├── ic_layers.xml │ ├── ic_layers_clear.xml │ ├── ic_location_city.xml │ ├── ic_location_disabled.xml │ ├── ic_my_location.xml │ ├── ic_paint.xml │ ├── ic_pause_black_24dp.xml │ ├── ic_play_arrow_black_24dp.xml │ ├── ic_print.xml │ ├── ic_refresh.xml │ ├── ic_stars.xml │ ├── line_divider.xml │ └── mapbox_user_icon_shadow_0px_test.xml │ ├── layout │ ├── activity_add_sprite.xml │ ├── activity_animated_image_source.xml │ ├── activity_animated_marker.xml │ ├── activity_backstack_fragment.xml │ ├── activity_bottom_sheet.xml │ ├── activity_building_layer.xml │ ├── activity_cache_management.xml │ ├── activity_camera_animation_types.xml │ ├── activity_camera_animator.xml │ ├── activity_camera_position.xml │ ├── activity_camera_test.xml │ ├── activity_change_resources_cache_path.xml │ ├── activity_circle_layer.xml │ ├── activity_collection_update_on_style_change.xml │ ├── activity_custom_layer.xml │ ├── activity_data_driven_style.xml │ ├── activity_debug_mode.xml │ ├── activity_default.xml │ ├── activity_draggable_marker.xml │ ├── activity_dynamic_marker.xml │ ├── activity_espresso_test.xml │ ├── activity_extrusion_test.xml │ ├── activity_feature_overview.xml │ ├── activity_fill_extrusion_layer.xml │ ├── activity_geojson_clustering.xml │ ├── activity_gesture_detector.xml │ ├── activity_gradient_line.xml │ ├── activity_grid_source.xml │ ├── activity_heatmaplayer.xml │ ├── activity_hillshade_layer.xml │ ├── activity_infowindow.xml │ ├── activity_infowindow_adapter.xml │ ├── activity_latlngbounds.xml │ ├── activity_local_glyph.xml │ ├── activity_location_layer_activation_builder.xml │ ├── activity_location_layer_basic_pulsing_circle.xml │ ├── activity_location_layer_customized_pulsing_circle.xml │ ├── activity_location_layer_fragment.xml │ ├── activity_location_layer_map_change.xml │ ├── activity_location_layer_mode.xml │ ├── activity_location_manual_update.xml │ ├── activity_manual_zoom.xml │ ├── activity_map_fragment.xml │ ├── activity_map_in_dialog.xml │ ├── activity_map_padding.xml │ ├── activity_map_simple.xml │ ├── activity_map_snapshotter.xml │ ├── activity_map_snapshotter_marker.xml │ ├── activity_map_snapshotter_reuse.xml │ ├── activity_map_visibility.xml │ ├── activity_mapsnapshotter_within_expression.xml │ ├── activity_marker_bulk.xml │ ├── activity_maxmin_zoom.xml │ ├── activity_merge_offline_regions.xml │ ├── activity_metadata_update.xml │ ├── activity_multi_map.xml │ ├── activity_offline.xml │ ├── activity_offline_region_delete.xml │ ├── activity_overlay.xml │ ├── activity_physical_circle.xml │ ├── activity_pixel_test.xml │ ├── activity_polyline.xml │ ├── activity_prefetch_ambient_cache.xml │ ├── activity_press_for_marker.xml │ ├── activity_print.xml │ ├── activity_query_features_box.xml │ ├── activity_query_features_point.xml │ ├── activity_query_source_features.xml │ ├── activity_recyclerview.xml │ ├── activity_region_download.xml │ ├── activity_restricted_bounds.xml │ ├── activity_runtime_style.xml │ ├── activity_scroll_by.xml │ ├── activity_snapshot.xml │ ├── activity_stretchable_image.xml │ ├── activity_style_file.xml │ ├── activity_symbol_generator.xml │ ├── activity_symbollayer.xml │ ├── activity_textureview_animate.xml │ ├── activity_textureview_debug_mode.xml │ ├── activity_textureview_resize.xml │ ├── activity_textureview_transparent.xml │ ├── activity_viewpager.xml │ ├── activity_within_expression.xml │ ├── activity_zoom_symbol_layer.xml │ ├── dialog_camera_position.xml │ ├── drawer_navigation_drawer.xml │ ├── fragment_dialog_map.xml │ ├── fragment_double_map.xml │ ├── item_gesture_alert.xml │ ├── item_main_feature.xml │ ├── item_map_gl.xml │ ├── item_map_texture.xml │ ├── item_viewpager.xml │ ├── section_main_layout.xml │ ├── view_custom_marker.xml │ └── view_text_marker.xml │ ├── menu │ ├── menu_animator.xml │ ├── menu_bounds.xml │ ├── menu_building.xml │ ├── menu_bulk_marker.xml │ ├── menu_custom_layer.xml │ ├── menu_data_driven_style.xml │ ├── menu_debug.xml │ ├── menu_generator_symbol.xml │ ├── menu_gestures.xml │ ├── menu_infowindow.xml │ ├── menu_location_mode.xml │ ├── menu_padding.xml │ ├── menu_polygon.xml │ ├── menu_polyline.xml │ ├── menu_press_for_marker.xml │ ├── menu_pulsing_location_mode.xml │ ├── menu_runtime_style.xml │ ├── menu_symbol_layer.xml │ ├── menu_symbols.xml │ └── menu_zoom.xml │ ├── raw │ ├── amsterdam.geojson │ ├── local_style.json │ ├── no_bg_style.json │ ├── sat_style.json │ ├── test_feature_collection.geojson │ ├── test_feature_properties.geojson │ ├── test_line_gradient_feature.geojson │ ├── test_line_string_feature.geojson │ ├── test_multi_line_string_feature.geojson │ ├── test_multi_point_feature.geojson │ ├── test_multi_polygon_feature.geojson │ ├── test_point_feature.geojson │ ├── test_points_utrecht.geojson │ ├── test_polygon_feature.geojson │ ├── test_polygon_with_hole_feature.geojson │ └── tiny_countries.geojson │ ├── values-v21 │ ├── attrs.xml │ └── styles.xml │ └── values │ ├── actions.xml │ ├── arrays.xml │ ├── categories.xml │ ├── colors.xml │ ├── descriptions.xml │ ├── dimens.xml │ ├── ids.xml │ ├── strings.xml │ ├── styles.xml │ └── titles.xml ├── README.md ├── TESTS.md ├── build.gradle ├── checkstyle.xml ├── circle.yml ├── cloudformation └── ci.template.js ├── gradle.properties ├── gradle ├── android-nitpick.gradle ├── artifact-settings.gradle ├── dependencies.gradle ├── gradle-checkstyle.gradle ├── gradle-config.gradle ├── gradle-dependencies-graph.gradle ├── gradle-javadoc.gradle ├── gradle-lint.gradle ├── gradle-make.gradle ├── gradle-sdk-registry.gradle ├── gradle-update-vendor-modules.gradle ├── jacoco-report.gradle ├── ktlint.gradle ├── native-build.gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── package-lock.json ├── package.json ├── resources ├── compass.svg ├── direction-dot.svg ├── dot-arrow.svg ├── location-dot.svg └── location-static-dot.svg ├── scripts ├── exclude-activity-gen.json ├── generate-license.py ├── generate-test-code.js ├── metrics.sh ├── parse-jacoco-report.py ├── release.py ├── run-render-test.py ├── trigger-maps-documentation-deploy-steps.sh ├── update-android-docs.sh ├── upload-to-github-release.py └── validate-license.py ├── settings.gradle └── version-script /.editorconfig: -------------------------------------------------------------------------------- 1 | [*.{kt,kts}] 2 | indent_size=2 3 | insert_final_newline=false 4 | disabled_rules=no-wildcard-imports -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | @mapbox/maps-android -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | `Replace text with suggested changelog entry for this PR or add the 'skip changelog' label.` 2 | 3 | 4 | 5 | 6 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.github/stale.yml: -------------------------------------------------------------------------------- 1 | # Configuration for probot-stale - https://github.com/probot/stale 2 | 3 | exemptProjects: true 4 | exemptMilestones: true 5 | 6 | staleLabel: archived 7 | 8 | limitPerRun: 1 9 | 10 | # SEMVER-MAJOR - @tobrun 11 | exemptLabels: 12 | - SEMVER-MAJOR 13 | 14 | pulls: 15 | daysUntilStale: 60 16 | daysUntilClose: -1 17 | markComment: false 18 | closeComment: > 19 | This pull request has been automatically detected as stale because it has not had 20 | recent activity and will be archived. Thank you for your contributions. 21 | 22 | issues: 23 | daysUntilStale: 180 24 | daysUntilClose: -1 25 | markComment: false 26 | closeComment: > 27 | This issue has been automatically detected as stale because it has not had 28 | recent activity and will be archived. Thank you for your contributions. 29 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Gradle files 2 | .gradle/ 3 | 4 | # IntelliJ files 5 | .idea/ 6 | *.iml 7 | 8 | # Build files 9 | build/ 10 | .externalNativeBuild 11 | **/.cxx 12 | *.so 13 | *.apk 14 | 15 | # Local settings 16 | local.properties 17 | gradle/configuration.gradle 18 | 19 | # Token file 20 | MapboxGLAndroidSDKTestApp/src/main/res/values/developer-config.xml 21 | 22 | # Capture files 23 | captures/ 24 | 25 | # Generated test cases 26 | MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/gen/ 27 | 28 | # Generated list files from code generation 29 | /scripts/generate-style-code.list 30 | 31 | # Input files for running render tests 32 | MapboxGLAndroidSDKTestApp/src/main/assets/integration/ 33 | 34 | # Node modules 35 | node_modules -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "vendor/mapbox-events-android"] 2 | path = vendor/mapbox-events-android 3 | url = https://github.com/mapbox/mapbox-events-android.git 4 | [submodule "vendor/mapbox-java"] 5 | path = vendor/mapbox-java 6 | url = https://github.com/mapbox/mapbox-java.git 7 | [submodule "vendor/mapbox-gestures-android"] 8 | path = vendor/mapbox-gestures-android 9 | url = https://github.com/mapbox/mapbox-gestures-android.git 10 | -------------------------------------------------------------------------------- /CODE-OF-CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Code of conduct 2 | 3 | Everyone is invited to participate in Mapbox’s open source projects and public discussions: we want to create a welcoming and friendly environment. Harassment of participants or other unethical and unprofessional behavior will not be tolerated in our spaces. The [Contributor Covenant](http://contributor-covenant.org) applies to all projects under the Mapbox organization and we ask that you please read [the full text](http://contributor-covenant.org/version/1/2/0/). 4 | 5 | You can learn more about our open source philosophy on [mapbox.com](https://www.mapbox.com/about/open/). 6 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/.gitignore: -------------------------------------------------------------------------------- 1 | dependency-graph-mapbox-libraries.png 2 | src/test/resources/mobile-event* 3 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/gradle.properties: -------------------------------------------------------------------------------- 1 | VERSION_NAME=9.6.0-alpha.1 2 | 3 | # Only build native dependencies for the current ABI 4 | # See https://code.google.com/p/android/issues/detail?id=221098#c20 5 | android.buildOnlyTargetAbi=true 6 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/lint.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 7 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/assets/sdk_versions/com.mapbox.mapboxsdk: -------------------------------------------------------------------------------- 1 | MapboxGLAndroidSDK/9.6.0-alpha.1 2 | v-1 3 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/LibraryLoaderProvider.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk; 2 | 3 | /** 4 | * Injects the default library loader. 5 | */ 6 | public interface LibraryLoaderProvider { 7 | 8 | /** 9 | * Creates and returns a the default Library Loader. 10 | * 11 | * @return the default library loader 12 | */ 13 | LibraryLoader getDefaultLibraryLoader(); 14 | 15 | } 16 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/MapStrictModeException.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk; 2 | 3 | class MapStrictModeException extends RuntimeException { 4 | MapStrictModeException(String message) { 5 | super(String.format("Map detected an error that would fail silently otherwise: %s", message)); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/ModuleProviderImpl.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk; 2 | 3 | import androidx.annotation.NonNull; 4 | import androidx.annotation.Nullable; 5 | import com.mapbox.mapboxsdk.http.HttpRequest; 6 | import com.mapbox.mapboxsdk.maps.TelemetryDefinition; 7 | import com.mapbox.mapboxsdk.module.http.HttpRequestImpl; 8 | import com.mapbox.mapboxsdk.module.loader.LibraryLoaderProviderImpl; 9 | import com.mapbox.mapboxsdk.module.telemetry.TelemetryImpl; 10 | 11 | public class ModuleProviderImpl implements ModuleProvider { 12 | 13 | @Override 14 | @NonNull 15 | public HttpRequest createHttpRequest() { 16 | return new HttpRequestImpl(); 17 | } 18 | 19 | @Override 20 | @Nullable 21 | public TelemetryDefinition obtainTelemetry() { 22 | return new TelemetryImpl(); 23 | } 24 | 25 | @NonNull 26 | @Override 27 | public LibraryLoaderProvider createLibraryLoaderProvider() { 28 | return new LibraryLoaderProviderImpl(); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/ArrowDirection.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.annotations; 2 | 3 | import androidx.annotation.IntDef; 4 | 5 | import java.lang.annotation.Retention; 6 | import java.lang.annotation.RetentionPolicy; 7 | 8 | @Deprecated 9 | class ArrowDirection { 10 | @IntDef( {LEFT, RIGHT, TOP, BOTTOM}) 11 | @Retention(RetentionPolicy.SOURCE) 12 | @interface Value { 13 | } 14 | 15 | static final int LEFT = 0; 16 | static final int RIGHT = 1; 17 | static final int TOP = 2; 18 | static final int BOTTOM = 3; 19 | 20 | @Value 21 | private final int value; 22 | 23 | ArrowDirection(@Value int value) { 24 | this.value = value; 25 | } 26 | 27 | @Value 28 | public int getValue() { 29 | return value; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Contains the Mapbox Maps Android Annotation API classes. 3 | */ 4 | package com.mapbox.mapboxsdk.annotations; 5 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/attribution/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Contains the Mapbox Maps Android Attribution API classes. 3 | */ 4 | package com.mapbox.mapboxsdk.attribution; 5 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/camera/CameraUpdate.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.camera; 2 | 3 | import androidx.annotation.NonNull; 4 | import androidx.annotation.Nullable; 5 | 6 | import com.mapbox.mapboxsdk.maps.MapboxMap; 7 | 8 | /** 9 | * Interface definition for camera updates. 10 | */ 11 | public interface CameraUpdate { 12 | 13 | /** 14 | * Get the camera position from the camera update. 15 | * 16 | * @param mapboxMap Map object to build the position from 17 | * @return the camera position from the implementing camera update 18 | */ 19 | @Nullable 20 | CameraPosition getCameraPosition(@NonNull MapboxMap mapboxMap); 21 | 22 | } 23 | 24 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/camera/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Contains the Mapbox Maps Android Camera API classes. 3 | */ 4 | package com.mapbox.mapboxsdk.camera; 5 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/TelemetryConstants.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.constants; 2 | 3 | @Deprecated 4 | public class TelemetryConstants { 5 | 6 | public static final String TWO_FINGER_TAP = "TwoFingerTap"; 7 | public static final String DOUBLE_TAP = "DoubleTap"; 8 | public static final String SINGLE_TAP = "SingleTap"; 9 | public static final String PAN = "Pan"; 10 | public static final String PINCH = "Pinch"; 11 | public static final String ROTATION = "Rotation"; 12 | public static final String PITCH = "Pitch"; 13 | 14 | } 15 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Contains the Mapbox Maps Android Constant API classes. 3 | */ 4 | package com.mapbox.mapboxsdk.constants; 5 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/exceptions/CalledFromWorkerThreadException.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.exceptions; 2 | 3 | public class CalledFromWorkerThreadException extends RuntimeException { 4 | 5 | public CalledFromWorkerThreadException(String message) { 6 | super(message); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/exceptions/ConversionException.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.exceptions; 2 | 3 | /** 4 | * A ConversionException is thrown when a conversion failed to execute. 5 | */ 6 | public class ConversionException extends RuntimeException { 7 | 8 | public ConversionException(String detailMessage) { 9 | super(detailMessage); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/exceptions/IconBitmapChangedException.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.exceptions; 2 | 3 | import com.mapbox.mapboxsdk.annotations.Icon; 4 | import com.mapbox.mapboxsdk.annotations.Marker; 5 | import com.mapbox.mapboxsdk.maps.MapView; 6 | 7 | /** 8 | *

9 | * An IconBitmapChangedException is thrown by MapView when a Marker is added 10 | * that has an Icon with a Bitmap that has been modified since the creation of the Icon. 11 | *

12 | * You cannot modify a {@code Icon} after it has been added to the map in a {@code Marker} 13 | * 14 | * @see MapView 15 | * @see Icon 16 | * @see Marker 17 | */ 18 | public class IconBitmapChangedException extends RuntimeException { 19 | 20 | public IconBitmapChangedException() { 21 | super("The added Marker has an Icon with a bitmap that has been modified. An Icon cannot be modified" 22 | + "after it has been added to the map in a Marker."); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/exceptions/InvalidLatLngBoundsException.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.exceptions; 2 | 3 | /** 4 | * An InvalidLatLngBoundsException is thrown by LatLngBounds 5 | * when there aren't enough LatLng to create a bounds. 6 | */ 7 | public class InvalidLatLngBoundsException extends RuntimeException { 8 | 9 | public InvalidLatLngBoundsException(int latLngsListSize) { 10 | super("Cannot create a LatLngBounds from " + latLngsListSize + " items"); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/exceptions/InvalidMarkerPositionException.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.exceptions; 2 | 3 | /** 4 | * A InvalidMarkerPositionException is thrown when a Marker object is created with an invalid LatLng position. 5 | */ 6 | public class InvalidMarkerPositionException extends RuntimeException { 7 | 8 | /** 9 | * Creates a invalid marker position exception thrown when a Marker object is created with an invalid LatLng position. 10 | */ 11 | public InvalidMarkerPositionException() { 12 | super("Adding an invalid Marker to a Map. " 13 | + "Missing the required position field. " 14 | + "Provide a non null LatLng as position to the Marker."); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/exceptions/MapboxLifecycleException.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.exceptions; 2 | 3 | import android.content.Context; 4 | 5 | /** 6 | * A MapboxLifecycleException is thrown by MapView when it's lifecycle hasn't been properly integrated. 7 | *

8 | * This occurs either when {@link com.mapbox.mapboxsdk.Mapbox} is not correctly initialised or the provided access token 9 | * through {@link com.mapbox.mapboxsdk.Mapbox#getInstance(Context, String)} isn't valid. 10 | *

11 | * 12 | * @see com.mapbox.mapboxsdk.Mapbox#getInstance(Context, String) 13 | */ 14 | public class MapboxLifecycleException extends RuntimeException { 15 | 16 | /** 17 | * Creates a Mapbox lifecycle exception thrown by MapView when it's lifecycle hasn't been properly integrated. 18 | */ 19 | public MapboxLifecycleException() { 20 | super("MapView requires calling the correct Activity lifecycle methods: onCreate, onStart, onStop and onDestroy."); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/exceptions/TooManyIconsException.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.exceptions; 2 | 3 | import com.mapbox.mapboxsdk.annotations.IconFactory; 4 | 5 | /** 6 | *

7 | * A TooManyIconsException is thrown by IconFactory when it 8 | * cannot create a Icon because there are already too many icons created. 9 | *

10 | * You should try to reuse Icon objects whenever possible. 11 | * 12 | * @see IconFactory 13 | */ 14 | public class TooManyIconsException extends RuntimeException { 15 | 16 | public TooManyIconsException() { 17 | super("Cannot create an Icon because there are already too many. Try reusing Icon objects whenever possible."); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/exceptions/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Contains the Mapbox Maps Android Exception API classes. 3 | */ 4 | package com.mapbox.mapboxsdk.exceptions; 5 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/geometry/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Contains the Mapbox Maps Android Geometry API classes. 3 | */ 4 | package com.mapbox.mapboxsdk.geometry; 5 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/http/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Do not use this package. Internal use only. 3 | */ 4 | package com.mapbox.mapboxsdk.http; 5 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LatLngEvaluator.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.location; 2 | 3 | import android.animation.TypeEvaluator; 4 | 5 | import androidx.annotation.NonNull; 6 | import com.mapbox.mapboxsdk.geometry.LatLng; 7 | 8 | class LatLngEvaluator implements TypeEvaluator { 9 | 10 | private final LatLng latLng = new LatLng(); 11 | 12 | @NonNull 13 | @Override 14 | public LatLng evaluate(float fraction, @NonNull LatLng startValue, @NonNull LatLng endValue) { 15 | latLng.setLatitude(startValue.getLatitude() 16 | + ((endValue.getLatitude() - startValue.getLatitude()) * fraction)); 17 | latLng.setLongitude(startValue.getLongitude() 18 | + ((endValue.getLongitude() - startValue.getLongitude()) * fraction)); 19 | return latLng; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationComponentNotInitializedException.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.location; 2 | 3 | final class LocationComponentNotInitializedException extends RuntimeException { 4 | LocationComponentNotInitializedException() { 5 | super("The LocationComponent has to be activated with one of the LocationComponent#activateLocationComponent" 6 | + " overloads before any other methods are invoked."); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/MapboxAnimatorListener.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.location; 2 | 3 | import android.animation.Animator; 4 | import android.animation.AnimatorListenerAdapter; 5 | import androidx.annotation.Nullable; 6 | import com.mapbox.mapboxsdk.maps.MapboxMap; 7 | 8 | class MapboxAnimatorListener extends AnimatorListenerAdapter { 9 | 10 | @Nullable 11 | private final MapboxMap.CancelableCallback cancelableCallback; 12 | 13 | MapboxAnimatorListener(@Nullable MapboxMap.CancelableCallback cancelableCallback) { 14 | this.cancelableCallback = cancelableCallback; 15 | } 16 | 17 | @Override 18 | public void onAnimationCancel(Animator animation) { 19 | if (cancelableCallback != null) { 20 | cancelableCallback.onCancel(); 21 | } 22 | } 23 | 24 | @Override 25 | public void onAnimationEnd(Animator animation) { 26 | if (cancelableCallback != null) { 27 | cancelableCallback.onFinish(); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/MapboxCameraAnimatorAdapter.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.location; 2 | 3 | import androidx.annotation.NonNull; 4 | import androidx.annotation.Nullable; 5 | import androidx.annotation.Size; 6 | 7 | import com.mapbox.mapboxsdk.maps.MapboxMap; 8 | 9 | class MapboxCameraAnimatorAdapter extends MapboxFloatAnimator { 10 | MapboxCameraAnimatorAdapter(@NonNull @Size(min = 2) Float[] values, 11 | AnimationsValueChangeListener updateListener, 12 | @Nullable MapboxMap.CancelableCallback cancelableCallback) { 13 | super(values, updateListener, Integer.MAX_VALUE); 14 | addListener(new MapboxAnimatorListener(cancelableCallback)); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/MapboxFloatAnimator.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.location; 2 | 3 | import android.animation.FloatEvaluator; 4 | import android.animation.TypeEvaluator; 5 | 6 | import androidx.annotation.NonNull; 7 | import androidx.annotation.Size; 8 | 9 | class MapboxFloatAnimator extends MapboxAnimator { 10 | MapboxFloatAnimator(@NonNull @Size(min = 2) Float[] values, 11 | @NonNull AnimationsValueChangeListener updateListener, int maxAnimationFps) { 12 | super(values, updateListener, maxAnimationFps); 13 | } 14 | 15 | @NonNull 16 | @Override 17 | TypeEvaluator provideEvaluator() { 18 | return new FloatEvaluator(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/MapboxLatLngAnimator.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.location; 2 | 3 | import android.animation.TypeEvaluator; 4 | 5 | import androidx.annotation.NonNull; 6 | 7 | import com.mapbox.mapboxsdk.geometry.LatLng; 8 | 9 | class MapboxLatLngAnimator extends MapboxAnimator { 10 | 11 | MapboxLatLngAnimator(@NonNull LatLng[] values, @NonNull AnimationsValueChangeListener updateListener, 12 | int maxAnimationFps) { 13 | super(values, updateListener, maxAnimationFps); 14 | } 15 | 16 | @NonNull 17 | @Override 18 | TypeEvaluator provideEvaluator() { 19 | return new LatLngEvaluator(); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/MapboxPaddingAnimator.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.location; 2 | 3 | import android.animation.TypeEvaluator; 4 | import androidx.annotation.NonNull; 5 | import androidx.annotation.Nullable; 6 | import androidx.annotation.Size; 7 | import com.mapbox.mapboxsdk.maps.MapboxMap; 8 | 9 | public class MapboxPaddingAnimator extends MapboxAnimator { 10 | 11 | MapboxPaddingAnimator(@NonNull @Size(min = 2) double[][] values, 12 | @NonNull AnimationsValueChangeListener updateListener, 13 | @Nullable MapboxMap.CancelableCallback cancelableCallback) { 14 | super(values, updateListener, Integer.MAX_VALUE); 15 | addListener(new MapboxAnimatorListener(cancelableCallback)); 16 | } 17 | 18 | @NonNull 19 | @Override 20 | TypeEvaluator provideEvaluator() { 21 | return new PaddingEvaluator(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/OnCameraMoveInvalidateListener.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.location; 2 | 3 | interface OnCameraMoveInvalidateListener { 4 | 5 | void onInvalidateCameraMove(); 6 | 7 | } 8 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/OnCameraTrackingChangedListener.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.location; 2 | 3 | import com.mapbox.mapboxsdk.location.modes.CameraMode; 4 | 5 | /** 6 | * Listener that gets invoked when camera tracking state changes. 7 | */ 8 | public interface OnCameraTrackingChangedListener { 9 | /** 10 | * Invoked whenever camera tracking is broken. 11 | * This callback gets invoked just after {@link #onCameraTrackingChanged(int)}, if needed. 12 | */ 13 | void onCameraTrackingDismissed(); 14 | 15 | /** 16 | * Invoked on every {@link CameraMode} change. 17 | * 18 | * @param currentMode current active {@link CameraMode}. 19 | */ 20 | void onCameraTrackingChanged(@CameraMode.Mode int currentMode); 21 | } 22 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/OnIndicatorPositionChangedListener.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.location; 2 | 3 | import androidx.annotation.NonNull; 4 | import com.mapbox.geojson.Point; 5 | 6 | /** 7 | * Listener that gets invoked when indicator position changes. 8 | */ 9 | public interface OnIndicatorPositionChangedListener { 10 | /** 11 | * This method is called on each position change of the location indicator, including each animation frame. 12 | * 13 | * @param point indicator's position 14 | */ 15 | void onIndicatorPositionChanged(@NonNull Point point); 16 | } 17 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/OnLocationCameraTransitionListener.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.location; 2 | 3 | import com.mapbox.mapboxsdk.location.modes.CameraMode; 4 | 5 | /** 6 | * Callback for {@link CameraMode } transition state. 7 | */ 8 | public interface OnLocationCameraTransitionListener { 9 | /** 10 | * Invoked when the camera mode transition animation has been finished. 11 | * 12 | * @param cameraMode camera mode change that initiated the transition 13 | */ 14 | void onLocationCameraTransitionFinished(@CameraMode.Mode int cameraMode); 15 | 16 | /** 17 | * Invoked when the camera mode transition animation has been canceled. 18 | *

19 | * The camera mode is set regardless of the cancellation of the transition animation. 20 | * 21 | * @param cameraMode camera mode change that initiated the transition 22 | */ 23 | void onLocationCameraTransitionCanceled(@CameraMode.Mode int cameraMode); 24 | } 25 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/OnLocationClickListener.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.location; 2 | 3 | /** 4 | * The Location Component exposes an API for listening to when the user clicks on the location 5 | * layer icon visible on the map. When this event occurs, the {@link #onLocationComponentClick()} method 6 | * gets invoked. 7 | */ 8 | public interface OnLocationClickListener { 9 | 10 | /** 11 | * Called whenever user clicks on the location layer drawn on the map. 12 | */ 13 | void onLocationComponentClick(); 14 | } 15 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/OnLocationLongClickListener.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.location; 2 | 3 | /** 4 | * The Location Component exposes an API for listening to when the user long clicks on the location 5 | * layer icon visible on the map. when this event occurs, the {@link #onLocationComponentLongClick()} method 6 | * gets invoked. 7 | */ 8 | public interface OnLocationLongClickListener { 9 | 10 | /** 11 | * Called whenever user long clicks on the location layer drawn on the map. 12 | */ 13 | void onLocationComponentLongClick(); 14 | } 15 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/OnLocationStaleListener.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.location; 2 | 3 | /** 4 | * Listener that can be added as a callback when the last location update 5 | * is considered stale. 6 | *

7 | * The time from the last location update that determines if a location update 8 | * is stale or not is provided by {@link LocationComponentOptions#staleStateTimeout()}. 9 | */ 10 | public interface OnLocationStaleListener { 11 | 12 | /** 13 | * Called when the stale state changes. 14 | * @param isStale true if location is stale, false otherwise 15 | */ 16 | void onStaleStateChange(boolean isStale); 17 | } 18 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/OnRenderModeChangedListener.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.location; 2 | 3 | import com.mapbox.mapboxsdk.location.modes.RenderMode; 4 | 5 | /** 6 | * Listener that gets invoked when layer render mode changes. 7 | */ 8 | public interface OnRenderModeChangedListener { 9 | 10 | /** 11 | * Invoked on every {@link RenderMode} change. 12 | * 13 | * @param currentMode current active {@link RenderMode}. 14 | */ 15 | void onRenderModeChanged(@RenderMode.Mode int currentMode); 16 | } 17 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/PaddingEvaluator.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.location; 2 | 3 | import android.animation.TypeEvaluator; 4 | import androidx.annotation.NonNull; 5 | import androidx.annotation.Size; 6 | 7 | class PaddingEvaluator implements TypeEvaluator { 8 | private final double[] padding = new double[4]; 9 | 10 | @NonNull 11 | @Override 12 | public double[] evaluate(float fraction, @NonNull @Size(min = 4) double[] startValue, 13 | @NonNull @Size(min = 4) double[] endValue) { 14 | padding[0] = startValue[0] + (endValue[0] - startValue[0]) * fraction; 15 | padding[1] = startValue[1] + (endValue[1] - startValue[1]) * fraction; 16 | padding[2] = startValue[2] + (endValue[2] - startValue[2]) * fraction; 17 | padding[3] = startValue[3] + (endValue[3] - startValue[3]) * fraction; 18 | return padding; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/PulsingLocationCircleAnimator.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.location; 2 | 3 | /** 4 | * Manages the logic of the interpolated animation which is applied to the LocationComponent's pulsing circle 5 | */ 6 | public class PulsingLocationCircleAnimator extends MapboxFloatAnimator { 7 | 8 | /** 9 | * 10 | * @param updateListener the {@link AnimationsValueChangeListener} associated with this animator. 11 | * @param maxAnimationFps the maximum frames per second that the animator should use. Default 12 | * is the {@link LocationAnimatorCoordinator#maxAnimationFps} variable. 13 | */ 14 | public PulsingLocationCircleAnimator(AnimationsValueChangeListener updateListener, 15 | int maxAnimationFps, 16 | float circleMaxRadius) { 17 | super(new Float[]{0f, circleMaxRadius}, updateListener, maxAnimationFps); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/modes/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Contains the Mapbox Location layer component camera and render modes. 3 | */ 4 | package com.mapbox.mapboxsdk.location.modes; -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Contains the Mapbox Location layer component. 3 | */ 4 | package com.mapbox.mapboxsdk.location; -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/log/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Contains the Mapbox Maps Android Log API classes. 3 | */ 4 | package com.mapbox.mapboxsdk.log; -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Annotations.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.maps; 2 | 3 | 4 | import androidx.annotation.NonNull; 5 | 6 | import com.mapbox.mapboxsdk.annotations.Annotation; 7 | 8 | import java.util.List; 9 | 10 | /** 11 | * Interface that defines convenient methods for working with a {@link Annotation}'s collection. 12 | */ 13 | interface Annotations { 14 | Annotation obtainBy(long id); 15 | 16 | List obtainAll(); 17 | 18 | void removeBy(long id); 19 | 20 | void removeBy(@NonNull Annotation annotation); 21 | 22 | void removeBy(@NonNull List annotationList); 23 | 24 | void removeAll(); 25 | } 26 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/FocalPointChangeListener.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.maps; 2 | 3 | import android.graphics.PointF; 4 | 5 | /** 6 | * Interface definition of a callback that is invoked when the focal point will change. 7 | */ 8 | public interface FocalPointChangeListener { 9 | 10 | void onFocalPointChanged(PointF pointF); 11 | } 12 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Markers.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.maps; 2 | 3 | import android.graphics.RectF; 4 | import androidx.annotation.NonNull; 5 | 6 | import com.mapbox.mapboxsdk.annotations.BaseMarkerOptions; 7 | import com.mapbox.mapboxsdk.annotations.Marker; 8 | 9 | import java.util.List; 10 | 11 | /** 12 | * Interface that defines convenient methods for working with a {@link Marker}'s collection. 13 | */ 14 | interface Markers { 15 | Marker addBy(@NonNull BaseMarkerOptions markerOptions, @NonNull MapboxMap mapboxMap); 16 | 17 | List addBy(@NonNull List markerOptionsList, @NonNull MapboxMap mapboxMap); 18 | 19 | void update(@NonNull Marker updatedMarker, @NonNull MapboxMap mapboxMap); 20 | 21 | List obtainAll(); 22 | 23 | @NonNull 24 | List obtainAllIn(@NonNull RectF rectangle); 25 | 26 | void reload(); 27 | } 28 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Observer.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.maps; 2 | 3 | import androidx.annotation.Keep; 4 | import androidx.annotation.NonNull; 5 | 6 | import java.util.concurrent.atomic.AtomicInteger; 7 | 8 | /** 9 | * Observer interface used to subscribe for an Observable events. 10 | */ 11 | @Keep 12 | public abstract class Observer { 13 | 14 | private static AtomicInteger idCounter = new AtomicInteger(0); 15 | private final int id; 16 | 17 | public Observer() { 18 | id = idCounter.incrementAndGet(); 19 | } 20 | 21 | /** 22 | * Gets observer id 23 | * 24 | * @return observer id 25 | */ 26 | public int getId() { 27 | return id; 28 | } 29 | 30 | /** 31 | * Notifies an Observer about an Event. 32 | * 33 | * @param event an Event 34 | */ 35 | public abstract void notify(@NonNull ObservableEvent event); 36 | } 37 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/OnMapReadyCallback.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.maps; 2 | 3 | import androidx.annotation.NonNull; 4 | 5 | /** 6 | * Interface definition for a callback to be invoked when the map is ready to be used. 7 | *

8 | * Once an instance of this interface is set on a {@link MapFragment} or {@link MapView} object, 9 | * the onMapReady(MapboxMap) method is triggered when the map is ready to be used and provides an instance of 10 | * {@link MapboxMap}. 11 | *

12 | */ 13 | public interface OnMapReadyCallback { 14 | 15 | /** 16 | * Called when the map is ready to be used. 17 | * 18 | * @param mapboxMap An instance of MapboxMap associated with the {@link MapFragment} or 19 | * {@link MapView} that defines the callback. 20 | */ 21 | void onMapReady(@NonNull MapboxMap mapboxMap); 22 | } 23 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Polygons.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.maps; 2 | 3 | 4 | import androidx.annotation.NonNull; 5 | 6 | import com.mapbox.mapboxsdk.annotations.Polygon; 7 | import com.mapbox.mapboxsdk.annotations.PolygonOptions; 8 | 9 | import java.util.List; 10 | 11 | /** 12 | * Interface that defines convenient methods for working with a {@link Polygon}'s collection. 13 | */ 14 | interface Polygons { 15 | Polygon addBy(@NonNull PolygonOptions polygonOptions, @NonNull MapboxMap mapboxMap); 16 | 17 | List addBy(@NonNull List polygonOptionsList, @NonNull MapboxMap mapboxMap); 18 | 19 | void update(Polygon polygon); 20 | 21 | List obtainAll(); 22 | } 23 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Polylines.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.maps; 2 | 3 | 4 | import androidx.annotation.NonNull; 5 | 6 | import com.mapbox.mapboxsdk.annotations.Polyline; 7 | import com.mapbox.mapboxsdk.annotations.PolylineOptions; 8 | 9 | import java.util.List; 10 | 11 | /** 12 | * Interface that defines convenient methods for working with a {@link Polyline}'s collection. 13 | */ 14 | interface Polylines { 15 | Polyline addBy(@NonNull PolylineOptions polylineOptions, @NonNull MapboxMap mapboxMap); 16 | 17 | List addBy(@NonNull List polylineOptionsList, @NonNull MapboxMap mapboxMap); 18 | 19 | void update(Polyline polyline); 20 | 21 | List obtainAll(); 22 | } 23 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/ShapeAnnotations.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.maps; 2 | 3 | import android.graphics.RectF; 4 | 5 | import com.mapbox.mapboxsdk.annotations.Annotation; 6 | 7 | import java.util.List; 8 | 9 | interface ShapeAnnotations { 10 | 11 | List obtainAllIn(RectF rectF); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Contains the Mapbox Maps Android Maps API classes. 3 | */ 4 | package com.mapbox.mapboxsdk.maps; 5 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/MapRendererRunnable.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.maps.renderer; 2 | 3 | import androidx.annotation.Keep; 4 | 5 | /** 6 | * Peer class for {@link Runnable}s to be scheduled on the {@link MapRenderer} thread. 7 | * The actual work is performed in the native peer. 8 | */ 9 | @Keep 10 | class MapRendererRunnable implements Runnable { 11 | 12 | // Holds the pointer to the native peer after initialisation 13 | private final long nativePtr; 14 | 15 | /** 16 | * Constructed from the native peer constructor 17 | * 18 | * @param nativePtr the native peer's memory address 19 | */ 20 | MapRendererRunnable(long nativePtr) { 21 | this.nativePtr = nativePtr; 22 | } 23 | 24 | @Override 25 | public native void run(); 26 | 27 | @Override 28 | protected native void finalize() throws Throwable; 29 | 30 | private native void nativeInitialize(); 31 | 32 | } 33 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/MapRendererScheduler.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.maps.renderer; 2 | 3 | import androidx.annotation.Keep; 4 | 5 | /** 6 | * Can be used to schedule work on the map renderer 7 | * thread or request a render. 8 | */ 9 | public interface MapRendererScheduler { 10 | 11 | @Keep 12 | void requestRender(); 13 | 14 | @Keep 15 | void queueEvent(Runnable runnable); 16 | 17 | } 18 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/egl/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Contains the Mapbox Maps Android EGL API classes. 3 | */ 4 | package com.mapbox.mapboxsdk.maps.renderer.egl; 5 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/glsurfaceview/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Contains the Mapbox Maps Android GLSurfaceView API classes. 3 | */ 4 | package com.mapbox.mapboxsdk.maps.renderer.glsurfaceview; 5 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Contains the Mapbox Maps Android Renderer API classes. 3 | */ 4 | package com.mapbox.mapboxsdk.maps.renderer; 5 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/textureview/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Contains the Mapbox Maps Android TextureView API classes. 3 | */ 4 | package com.mapbox.mapboxsdk.maps.renderer.textureview; 5 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Contains the Mapbox Maps Android Widgets API classes. 3 | */ 4 | package com.mapbox.mapboxsdk.maps.widgets; 5 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/module/http/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Contains the Mapbox Maps Android Modular Http API classes. 3 | */ 4 | package com.mapbox.mapboxsdk.module.http; 5 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/module/loader/LibraryLoaderProviderImpl.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.module.loader; 2 | 3 | import com.mapbox.mapboxsdk.LibraryLoader; 4 | import com.mapbox.mapboxsdk.LibraryLoaderProvider; 5 | 6 | /** 7 | * Concrete implementation of a native library loader. 8 | *

9 | *

10 | */ 11 | public class LibraryLoaderProviderImpl implements LibraryLoaderProvider { 12 | 13 | /** 14 | * Creates and returns a the default Library Loader. 15 | * 16 | * @return the default library loader 17 | */ 18 | @Override 19 | public LibraryLoader getDefaultLibraryLoader() { 20 | return new SystemLibraryLoader(); 21 | } 22 | 23 | /** 24 | * Concrete implementation of a LibraryLoader using System.loadLibrary. 25 | */ 26 | private static class SystemLibraryLoader extends LibraryLoader { 27 | @Override 28 | public void load(String name) { 29 | System.loadLibrary(name); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/module/loader/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Contains the Mapbox Maps Android Modular Library Loader API classes. 3 | */ 4 | package com.mapbox.mapboxsdk.module.loader; 5 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/module/telemetry/MapBaseEvent.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.module.telemetry; 2 | 3 | import android.annotation.SuppressLint; 4 | import android.os.Parcel; 5 | 6 | import com.mapbox.android.telemetry.Event; 7 | 8 | /** 9 | * Base event class for telemetry events. 10 | */ 11 | @SuppressLint("ParcelCreator") 12 | abstract class MapBaseEvent extends Event { 13 | private final String event; 14 | private final String created; 15 | 16 | MapBaseEvent(PhoneState phoneState) { 17 | this.event = getEventName(); 18 | this.created = phoneState.getCreated(); 19 | } 20 | 21 | abstract String getEventName(); 22 | 23 | String getEvent() { 24 | return event; 25 | } 26 | 27 | String getCreated() { 28 | return created; 29 | } 30 | 31 | @Override 32 | public int describeContents() { 33 | return 0; 34 | } 35 | 36 | @Override 37 | public void writeToParcel(Parcel dest, int flags) { 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/module/telemetry/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Contains the Mapbox Maps Android Modular Telemetry API classes. 3 | */ 4 | package com.mapbox.mapboxsdk.module.telemetry; 5 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/net/ConnectivityListener.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.net; 2 | 3 | /** 4 | * Receives updates on connectivity state 5 | */ 6 | public interface ConnectivityListener { 7 | 8 | void onNetworkStateChanged(boolean connected); 9 | 10 | } 11 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/net/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Contains the Mapbox Maps Android Network API classes. 3 | */ 4 | package com.mapbox.mapboxsdk.net; 5 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Contains the Mapbox Maps Android Offline API classes. 3 | */ 4 | package com.mapbox.mapboxsdk.offline; 5 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Contains the Mapbox Maps Android API classes. 3 | */ 4 | package com.mapbox.mapboxsdk; 5 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/snapshotter/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Contains the Mapbox Maps Android Snapshotter API classes. 3 | */ 4 | package com.mapbox.mapboxsdk.snapshotter; 5 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/storage/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Contains the Mapbox Maps Android Storage API classes. 3 | */ 4 | package com.mapbox.mapboxsdk.storage; 5 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/expressions/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Contains the Mapbox Maps Android Expression API classes. 3 | */ 4 | package com.mapbox.mapboxsdk.style.expressions; 5 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/CannotAddLayerException.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.style.layers; 2 | 3 | import androidx.annotation.Keep; 4 | 5 | /** 6 | * Thrown when adding a layer to a map twice 7 | */ 8 | @Keep 9 | public class CannotAddLayerException extends RuntimeException { 10 | 11 | public CannotAddLayerException(String message) { 12 | super(message); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/CustomLayer.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.style.layers; 2 | 3 | import androidx.annotation.Keep; 4 | 5 | /** 6 | * Custom layer. 7 | *

8 | * Experimental feature. Do not use. 9 | *

10 | */ 11 | public class CustomLayer extends Layer { 12 | 13 | public CustomLayer(String id, 14 | long host) { 15 | initialize(id, host); 16 | } 17 | 18 | /** 19 | * Triggers map re-paint. 20 | * 21 | * @deprecated Use {@link MapboxMap#triggerRepaint()} instead. 22 | */ 23 | @Deprecated 24 | @Keep 25 | public void update() { 26 | } 27 | 28 | @Keep 29 | CustomLayer(long nativePtr) { 30 | super(nativePtr); 31 | } 32 | 33 | @Keep 34 | protected native void initialize(String id, long host); 35 | 36 | @Override 37 | @Keep 38 | protected native void finalize() throws Throwable; 39 | 40 | } 41 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/LayoutPropertyValue.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.style.layers; 2 | 3 | import androidx.annotation.NonNull; 4 | 5 | public class LayoutPropertyValue extends PropertyValue { 6 | 7 | public LayoutPropertyValue(@NonNull String name, T value) { 8 | super(name, value); 9 | } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/PaintPropertyValue.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.style.layers; 2 | 3 | import androidx.annotation.NonNull; 4 | 5 | public class PaintPropertyValue extends PropertyValue { 6 | 7 | public PaintPropertyValue(@NonNull String name, T value) { 8 | super(name, value); 9 | } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Contains the Mapbox Maps Android Style Layer API classes. 3 | */ 4 | package com.mapbox.mapboxsdk.style.layers; 5 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/light/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Contains the Mapbox Maps Android Style Light API classes. 3 | */ 4 | package com.mapbox.mapboxsdk.style.light; 5 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/CannotAddSourceException.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.style.sources; 2 | 3 | import androidx.annotation.Keep; 4 | 5 | /** 6 | * Thrown when adding a source to a map twice 7 | */ 8 | @Keep 9 | public class CannotAddSourceException extends RuntimeException { 10 | 11 | public CannotAddSourceException(String message) { 12 | super(message); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/GeometryTileProvider.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.style.sources; 2 | 3 | import androidx.annotation.WorkerThread; 4 | 5 | import com.mapbox.geojson.FeatureCollection; 6 | import com.mapbox.mapboxsdk.geometry.LatLngBounds; 7 | 8 | /** 9 | * Interface that defines methods for working with {@link CustomGeometrySource}. 10 | */ 11 | public interface GeometryTileProvider { 12 | 13 | /*** 14 | * Interface method called by {@link CustomGeometrySource} to request features for a tile. 15 | * 16 | * @param bounds {@link LatLngBounds} of the tile. 17 | * @param zoomLevel Tile zoom level. 18 | * @return Return a @{link FeatureCollection} to be displayed in the requested tile. 19 | */ 20 | @WorkerThread 21 | FeatureCollection getFeaturesForBounds(LatLngBounds bounds, int zoomLevel); 22 | } 23 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/UnknownSource.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.style.sources; 2 | 3 | import androidx.annotation.Keep; 4 | import androidx.annotation.UiThread; 5 | 6 | /** 7 | * An unknown type of source 8 | */ 9 | @UiThread 10 | @Keep 11 | public class UnknownSource extends Source { 12 | 13 | /** 14 | * Creates a UnknownSource. 15 | * 16 | * @param nativePtr pointer used by core 17 | */ 18 | UnknownSource(long nativePtr) { 19 | super(nativePtr); 20 | } 21 | 22 | protected native void initialize(); 23 | 24 | @Override 25 | protected native void finalize() throws Throwable; 26 | 27 | } 28 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Contains the Mapbox Maps Android Style Sources API classes. 3 | */ 4 | package com.mapbox.mapboxsdk.style.sources; 5 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/types/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Contains the Mapbox Maps Android Formatted Expression Types API classes. 3 | */ 4 | package com.mapbox.mapboxsdk.style.types; -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/utils/Compare.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.utils; 2 | 3 | /** 4 | * Comparisons from std sdk, which aren't available in API level 15 and below 5 | */ 6 | public class Compare { 7 | 8 | /** 9 | * @see Integer#compare(int, int) 10 | * @param x left side 11 | * @param y right side 12 | * @return std compare value 13 | */ 14 | public static int compare(int x, int y) { 15 | return (x < y) ? -1 : ((x == y) ? 0 : 1); 16 | } 17 | 18 | /** 19 | * @see Boolean#compare(boolean, boolean) 20 | * @param x left side 21 | * @param y right side 22 | * @return std compare value 23 | */ 24 | public static int compare(boolean x, boolean y) { 25 | return (x == y) ? 0 : (x ? 1 : -1); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/utils/StringUtils.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.utils; 2 | 3 | import androidx.annotation.Keep; 4 | import androidx.annotation.NonNull; 5 | 6 | import java.text.Normalizer; 7 | 8 | /** 9 | * String utility class used by core from jni. 10 | */ 11 | @Keep 12 | class StringUtils { 13 | 14 | /** 15 | * Normalises String input and strip diacritics from it. 16 | * 17 | * @return normalised String with stripped diacritics. 18 | */ 19 | @Keep 20 | @NonNull 21 | static String unaccent(@NonNull String value) { 22 | return Normalizer.normalize(value, Normalizer.Form.NFD) 23 | .replaceAll("(\\p{InCombiningDiacriticalMarks}" 24 | + "|\\p{InCombiningDiacriticalMarksForSymbols}" 25 | + "|\\p{InCombiningDiacriticalMarksSupplement})+", ""); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/utils/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Contains the Mapbox Maps Android Utility API classes. 3 | */ 4 | package com.mapbox.mapboxsdk.utils; 5 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/java/overview.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |

4 | An open source OpenGL-based vector map solution for Android with full styling capabilities. 5 |

6 |

7 | For more information, check out our online overview. 8 |

9 | 10 | 11 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable-hdpi/mapbox_compass_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDK/src/main/res/drawable-hdpi/mapbox_compass_icon.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable-hdpi/mapbox_logo_helmet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDK/src/main/res/drawable-hdpi/mapbox_logo_helmet.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable-hdpi/mapbox_logo_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDK/src/main/res/drawable-hdpi/mapbox_logo_icon.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable-hdpi/mapbox_marker_icon_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDK/src/main/res/drawable-hdpi/mapbox_marker_icon_default.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable-hdpi/mapbox_markerview_icon_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDK/src/main/res/drawable-hdpi/mapbox_markerview_icon_default.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable-hdpi/mapbox_mylocation_icon_bearing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDK/src/main/res/drawable-hdpi/mapbox_mylocation_icon_bearing.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable-hdpi/mapbox_mylocation_icon_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDK/src/main/res/drawable-hdpi/mapbox_mylocation_icon_default.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable-mdpi/mapbox_compass_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDK/src/main/res/drawable-mdpi/mapbox_compass_icon.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable-mdpi/mapbox_logo_helmet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDK/src/main/res/drawable-mdpi/mapbox_logo_helmet.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable-mdpi/mapbox_logo_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDK/src/main/res/drawable-mdpi/mapbox_logo_icon.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable-mdpi/mapbox_marker_icon_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDK/src/main/res/drawable-mdpi/mapbox_marker_icon_default.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable-mdpi/mapbox_markerview_icon_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDK/src/main/res/drawable-mdpi/mapbox_markerview_icon_default.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable-mdpi/mapbox_mylocation_icon_bearing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDK/src/main/res/drawable-mdpi/mapbox_mylocation_icon_bearing.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable-mdpi/mapbox_mylocation_icon_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDK/src/main/res/drawable-mdpi/mapbox_mylocation_icon_default.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable-xhdpi/mapbox_compass_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDK/src/main/res/drawable-xhdpi/mapbox_compass_icon.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable-xhdpi/mapbox_logo_helmet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDK/src/main/res/drawable-xhdpi/mapbox_logo_helmet.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable-xhdpi/mapbox_logo_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDK/src/main/res/drawable-xhdpi/mapbox_logo_icon.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable-xhdpi/mapbox_marker_icon_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDK/src/main/res/drawable-xhdpi/mapbox_marker_icon_default.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable-xhdpi/mapbox_markerview_icon_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDK/src/main/res/drawable-xhdpi/mapbox_markerview_icon_default.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable-xhdpi/mapbox_mylocation_icon_bearing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDK/src/main/res/drawable-xhdpi/mapbox_mylocation_icon_bearing.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable-xhdpi/mapbox_mylocation_icon_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDK/src/main/res/drawable-xhdpi/mapbox_mylocation_icon_default.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable-xxhdpi/mapbox_compass_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDK/src/main/res/drawable-xxhdpi/mapbox_compass_icon.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable-xxhdpi/mapbox_logo_helmet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDK/src/main/res/drawable-xxhdpi/mapbox_logo_helmet.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable-xxhdpi/mapbox_logo_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDK/src/main/res/drawable-xxhdpi/mapbox_logo_icon.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable-xxhdpi/mapbox_marker_icon_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDK/src/main/res/drawable-xxhdpi/mapbox_marker_icon_default.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable-xxhdpi/mapbox_markerview_icon_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDK/src/main/res/drawable-xxhdpi/mapbox_markerview_icon_default.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable-xxhdpi/mapbox_mylocation_icon_bearing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDK/src/main/res/drawable-xxhdpi/mapbox_mylocation_icon_bearing.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable-xxhdpi/mapbox_mylocation_icon_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDK/src/main/res/drawable-xxhdpi/mapbox_mylocation_icon_default.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable-xxxhdpi/mapbox_compass_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDK/src/main/res/drawable-xxxhdpi/mapbox_compass_icon.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable-xxxhdpi/mapbox_logo_helmet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDK/src/main/res/drawable-xxxhdpi/mapbox_logo_helmet.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable-xxxhdpi/mapbox_logo_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDK/src/main/res/drawable-xxxhdpi/mapbox_logo_icon.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable-xxxhdpi/mapbox_marker_icon_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDK/src/main/res/drawable-xxxhdpi/mapbox_marker_icon_default.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable-xxxhdpi/mapbox_markerview_icon_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDK/src/main/res/drawable-xxxhdpi/mapbox_markerview_icon_default.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable-xxxhdpi/mapbox_mylocation_icon_bearing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDK/src/main/res/drawable-xxxhdpi/mapbox_mylocation_icon_bearing.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable-xxxhdpi/mapbox_mylocation_icon_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDK/src/main/res/drawable-xxxhdpi/mapbox_mylocation_icon_default.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable/mapbox_info_bg_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable/mapbox_info_icon_default.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable/mapbox_info_icon_selected.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable/mapbox_mylocation_bg_shape.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable/mapbox_popup_window_transparent.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 12 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable/mapbox_rounded_corner.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable/mapbox_user_bearing_icon.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable/mapbox_user_icon.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable/mapbox_user_icon_shadow.xml: -------------------------------------------------------------------------------- 1 | 4 | 6 | 8 | 11 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable/mapbox_user_icon_stale.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable/mapbox_user_puck_icon.xml: -------------------------------------------------------------------------------- 1 | 7 | 11 | 14 | 17 | 18 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/drawable/mapbox_user_stroke_icon.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/layout/mapbox_attribution_list_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 15 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/layout/mapbox_view_image_marker.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #5F5F5F 4 | #7D7F80 5 | #1E8CAB 6 | 7 | #4A90E2 8 | #A1B0C0 9 | 10 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/constants/AppConstant.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.constants; 2 | 3 | public class AppConstant { 4 | 5 | public static final int STYLE_VERSION = 9; 6 | } 7 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/location/UtilsTest.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.location; 2 | 3 | import org.junit.Test; 4 | 5 | import static junit.framework.Assert.assertEquals; 6 | 7 | public final class UtilsTest { 8 | 9 | @Test 10 | public void shortestRotation_doesReturnValueDistanceQuickestToZero() throws Exception { 11 | float value = Utils.shortestRotation(0, 181); 12 | assertEquals(360f, value); 13 | value = Utils.shortestRotation(0, 179); 14 | assertEquals(0f, value); 15 | value = Utils.shortestRotation(0, 180); 16 | assertEquals(0f, value); 17 | } 18 | 19 | @Test 20 | public void shortestRotation_doesReturnValueDistanceQuickestToFifty() throws Exception { 21 | float value = Utils.shortestRotation(50, 231); 22 | assertEquals(410f, value); 23 | value = Utils.shortestRotation(50, 229); 24 | assertEquals(50f, value); 25 | value = Utils.shortestRotation(50, 180); 26 | assertEquals(50f, value); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/telemetry/HttpTransportTest.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.telemetry; 2 | 3 | import com.mapbox.android.telemetry.TelemetryUtils; 4 | 5 | import org.junit.Test; 6 | 7 | import static junit.framework.Assert.assertEquals; 8 | 9 | public class HttpTransportTest { 10 | 11 | @Test 12 | public void testNonAsciiUserAgent() { 13 | 14 | final String swedishUserAgent = "Sveriges Fjäll/1.0/1 MapboxEventsAndroid/4.0.0-SNAPSHOT"; 15 | final String asciiVersion = "Sveriges Fj?ll/1.0/1 MapboxEventsAndroid/4.0.0-SNAPSHOT"; 16 | 17 | assertEquals("asciiVersion and swedishUserAgent should match", asciiVersion, 18 | TelemetryUtils.toHumanReadableAscii(swedishUserAgent)); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/utils/ColorUtilsTest.kt: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.utils 2 | 3 | import android.graphics.Color 4 | import junit.framework.Assert 5 | import org.junit.Test 6 | 7 | class ColorUtilsTest { 8 | 9 | @Test 10 | fun rgbaToColor_decimalComponent() { 11 | val input = "rgba(255,128.0000952303,0,0.7)" 12 | val result = ColorUtils.rgbaToColor(input) 13 | Assert.assertEquals(Color.argb(255, 128, 0, (0.7 * 255).toInt()), result) 14 | } 15 | 16 | @Test 17 | fun rgbaToColor_decimalComponent_floor() { 18 | val input = "rgba(255,128.70123,0,0.7)" 19 | val result = ColorUtils.rgbaToColor(input) 20 | Assert.assertEquals(Color.argb(255, 128, 0, (0.7 * 255).toInt()), result) 21 | } 22 | } -------------------------------------------------------------------------------- /MapboxGLAndroidSDK/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker: -------------------------------------------------------------------------------- 1 | mock-maker-inline -------------------------------------------------------------------------------- /MapboxGLAndroidSDKLint/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKLint/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'java-library' 2 | apply plugin: 'kotlin' 3 | 4 | dependencies { 5 | implementation fileTree(dir: 'libs', include: ['*.jar']) 6 | compileOnly dependenciesList.kotlinLib 7 | 8 | compileOnly dependenciesList.lint 9 | compileOnly dependenciesList.lintApi 10 | compileOnly dependenciesList.lintChecks 11 | compileOnly dependenciesList.supportAnnotations 12 | 13 | testImplementation dependenciesList.junit 14 | testImplementation dependenciesList.robolectric 15 | testImplementation dependenciesList.lintTests 16 | } 17 | 18 | sourceCompatibility = "1.8" 19 | targetCompatibility = "1.8" 20 | 21 | compileKotlin { 22 | kotlinOptions { 23 | jvmTarget = "1.8" 24 | } 25 | } 26 | 27 | compileTestKotlin { 28 | kotlinOptions { 29 | jvmTarget = "1.8" 30 | } 31 | } 32 | 33 | jar { 34 | manifest { 35 | attributes("Lint-Registry-v2": "com.mapbox.mapboxsdk.lint.MapboxIssueRegistry") 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKLint/src/main/java/com/mapbox/mapboxsdk/lint/MapboxIssueRegistry.kt: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.lint 2 | 3 | import com.android.tools.lint.client.api.IssueRegistry 4 | import com.android.tools.lint.detector.api.CURRENT_API 5 | import com.android.tools.lint.detector.api.Issue 6 | 7 | class MapboxIssueRegistry : IssueRegistry() { 8 | override val issues: List 9 | get() = listOf(KeepDetector.ISSUE_NOT_KEPT) 10 | 11 | override val api: Int 12 | get() = CURRENT_API 13 | } -------------------------------------------------------------------------------- /MapboxGLAndroidSDKLint/src/test/java/com/mapbox/mapboxsdk/lint/KeepDetectorTest.kt: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.lint 2 | 3 | import com.android.tools.lint.checks.infrastructure.TestFiles.java 4 | import com.android.tools.lint.checks.infrastructure.TestLintTask.lint 5 | import org.junit.Test 6 | import org.junit.runner.RunWith 7 | import org.robolectric.RobolectricTestRunner 8 | 9 | @RunWith(RobolectricTestRunner::class) 10 | class KeepDetectorTest { 11 | 12 | @Test 13 | fun correctClassName() { 14 | lint() 15 | .allowMissingSdk() 16 | .files(java(""" 17 | |package foo; 18 | | 19 | |import android.support.annotation.Keep; 20 | | 21 | |@Keep 22 | |class TestClass { 23 | |}""".trimMargin())) 24 | .issues(KeepDetector.ISSUE_NOT_KEPT) 25 | .run() 26 | .expectClean() 27 | } 28 | } -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/.gitignore: -------------------------------------------------------------------------------- 1 | lint-baseline.xml 2 | lint/lint-baseline-local.xml -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/README.md: -------------------------------------------------------------------------------- 1 | # Mapbox GL Test App 2 | 3 | ## Building 4 | 5 | To be able to run any Gradle commands, you'll need to create the configuration file by running 6 | 7 | ``` 8 | $ make android-configuration 9 | ``` 10 | 11 | from the root folder. 12 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Mapbox ProGuard configuration is handled in the SDK, 2 | # This file contains test app specific configuration 3 | 4 | # Kotlin 5 | -dontnote kotlin.** 6 | 7 | # LeakCanary 8 | -dontnote com.squareup.leakcanary.internal.** 9 | -dontnote gnu.trove.THashMap 10 | 11 | # GMS 12 | -dontnote com.google.android.gms.** 13 | 14 | -keep class com.mapbox.mapboxsdk.testapp.model.customlayer.ExampleCustomLayer { *; } 15 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/androidTest/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/AppCenter.kt: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk 2 | 3 | import com.microsoft.appcenter.espresso.Factory 4 | import org.junit.After 5 | import org.junit.Rule 6 | 7 | abstract class AppCenter { 8 | @get:Rule 9 | var reportHelper = Factory.getReportHelper()!! 10 | 11 | @After 12 | open fun afterTest() { 13 | reportHelper.label(javaClass.simpleName) 14 | } 15 | } -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/InstrumentationApplication.kt: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk 2 | 3 | import com.mapbox.mapboxsdk.testapp.MapboxApplication 4 | 5 | class InstrumentationApplication : MapboxApplication() { 6 | override fun initializeLeakCanary(): Boolean { 7 | // do not initialize leak canary during instrumentation tests 8 | return true 9 | } 10 | } -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/InstrumentationRunner.kt: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk 2 | 3 | import android.app.Application 4 | import android.content.Context 5 | import androidx.test.runner.AndroidJUnitRunner 6 | 7 | class InstrumentationRunner : AndroidJUnitRunner() { 8 | override fun newApplication(cl: ClassLoader?, className: String?, context: Context?): Application { 9 | return super.newApplication(cl, InstrumentationApplication::class.java.name, context) 10 | } 11 | } -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/maps/BaseLayerTest.kt: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.maps 2 | 3 | import androidx.test.ext.junit.runners.AndroidJUnit4 4 | import androidx.test.platform.app.InstrumentationRegistry 5 | import com.mapbox.mapboxsdk.style.layers.Layer 6 | import org.junit.runner.RunWith 7 | 8 | @RunWith(AndroidJUnit4::class) 9 | abstract class BaseLayerTest { 10 | private lateinit var nativeMapView: NativeMap 11 | 12 | companion object { 13 | const val WIDTH = 500 14 | const val HEIGHT = WIDTH 15 | } 16 | 17 | fun before() { 18 | val context = InstrumentationRegistry.getInstrumentation().context 19 | nativeMapView = NativeMapView(context, false, null, null, NativeMapViewTest.DummyRenderer(context)) 20 | nativeMapView.resizeView(WIDTH, HEIGHT) 21 | } 22 | 23 | fun setupLayer(layer: Layer) { 24 | nativeMapView.addLayer(layer) 25 | } 26 | } -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/EspressoTest.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.testapp.activity; 2 | 3 | import androidx.annotation.UiThread; 4 | import com.mapbox.mapboxsdk.maps.MapboxMap; 5 | import com.mapbox.mapboxsdk.maps.Style; 6 | import com.mapbox.mapboxsdk.testapp.activity.espresso.EspressoTestActivity; 7 | 8 | 9 | /** 10 | * Base class for all tests using EspressoTestActivity as wrapper. 11 | *

12 | * Loads "assets/streets.json" as style. 13 | *

14 | */ 15 | public class EspressoTest extends BaseTest { 16 | 17 | @Override 18 | protected final Class getActivityClass() { 19 | return EspressoTestActivity.class; 20 | } 21 | 22 | @UiThread 23 | @Override 24 | protected void initMap(MapboxMap mapboxMap) { 25 | mapboxMap.setStyle(new Style.Builder().fromUri("asset://streets.json")); 26 | super.initMap(mapboxMap); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/camera/CameraAnimateTest.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.testapp.camera; 2 | 3 | import com.mapbox.mapboxsdk.camera.CameraUpdate; 4 | import com.mapbox.mapboxsdk.maps.MapboxMap; 5 | 6 | public class CameraAnimateTest extends CameraTest { 7 | @Override 8 | void executeCameraMovement(CameraUpdate cameraUpdate, MapboxMap.CancelableCallback callback) { 9 | mapboxMap.animateCamera(cameraUpdate, callback); 10 | } 11 | } -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/camera/CameraEaseTest.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.testapp.camera; 2 | 3 | import com.mapbox.mapboxsdk.camera.CameraUpdate; 4 | import com.mapbox.mapboxsdk.maps.MapboxMap; 5 | 6 | public class CameraEaseTest extends CameraTest { 7 | 8 | @Override 9 | void executeCameraMovement(CameraUpdate cameraUpdate, MapboxMap.CancelableCallback callback) { 10 | mapboxMap.easeCamera(cameraUpdate, callback); 11 | } 12 | } -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/camera/CameraMoveTest.java: -------------------------------------------------------------------------------- 1 | 2 | package com.mapbox.mapboxsdk.testapp.camera; 3 | 4 | import com.mapbox.mapboxsdk.camera.CameraUpdate; 5 | import com.mapbox.mapboxsdk.maps.MapboxMap; 6 | 7 | public class CameraMoveTest extends CameraTest { 8 | @Override 9 | void executeCameraMovement(CameraUpdate cameraUpdate, MapboxMap.CancelableCallback callback) { 10 | mapboxMap.moveCamera(cameraUpdate, callback); 11 | } 12 | } -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/RuntimeStyleTimingTests.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.testapp.style; 2 | 3 | import androidx.test.ext.junit.runners.AndroidJUnit4; 4 | 5 | import com.mapbox.mapboxsdk.testapp.activity.BaseTest; 6 | import com.mapbox.mapboxsdk.testapp.activity.style.RuntimeStyleTimingTestActivity; 7 | 8 | import org.junit.Test; 9 | import org.junit.runner.RunWith; 10 | 11 | /** 12 | * Basic smoke tests for adding Layer and Source as early as possible (in onCreate) 13 | */ 14 | @RunWith(AndroidJUnit4.class) 15 | public class RuntimeStyleTimingTests extends BaseTest { 16 | 17 | @Override 18 | protected Class getActivityClass() { 19 | return RuntimeStyleTimingTestActivity.class; 20 | } 21 | 22 | @Test 23 | public void testGetAddRemoveLayer() { 24 | validateTestSetup(); 25 | // We're good if it didn't crash 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/TestConstants.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.testapp.utils; 2 | 3 | public class TestConstants { 4 | public static final double LAT_LNG_DELTA = 0.1; 5 | public static final double BEARING_DELTA = 0.1; 6 | public static final double TILT_DELTA = 0.3; 7 | public static final double ZOOM_DELTA = 0.3; 8 | public static final double PADDING_DELTA = 0.0001; 9 | 10 | public static final String TEXT_MARKER_TITLE = "Marker"; 11 | public static final String TEXT_MARKER_SNIPPET = "Snippet"; 12 | } 13 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/TestingAsyncUtils.kt: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.testapp.utils 2 | 3 | import androidx.test.espresso.UiController 4 | import com.mapbox.mapboxsdk.maps.MapView 5 | 6 | object TestingAsyncUtils { 7 | private const val DEFAULT_TIMEOUT = 15_000L 8 | 9 | fun waitForLayer(uiController: UiController, mapView: MapView) { 10 | val start = System.nanoTime() / 1E6 11 | var isIdle = false 12 | mapView.addOnDidBecomeIdleListener { isIdle = true } 13 | 14 | while (!isIdle && System.nanoTime() / 1E6 - start < DEFAULT_TIMEOUT) { 15 | uiController.loopMainThreadForAtLeast(100) 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/assets/Roboto-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/assets/Roboto-Medium.ttf -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/assets/Roboto-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/assets/Roboto-Regular.ttf -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/assets/commercial-24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/assets/commercial-24.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/assets/dog-park-24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/assets/dog-park-24.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/assets/fonts/DIN Offc Pro Bold,Arial Unicode MS Bold/0-255.pbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/assets/fonts/DIN Offc Pro Bold,Arial Unicode MS Bold/0-255.pbf -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/assets/fonts/DIN Offc Pro Italic,Arial Unicode MS Regular/0-255.pbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/assets/fonts/DIN Offc Pro Italic,Arial Unicode MS Regular/0-255.pbf -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/assets/fonts/DIN Offc Pro Medium,Arial Unicode MS Regular/0-255.pbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/assets/fonts/DIN Offc Pro Medium,Arial Unicode MS Regular/0-255.pbf -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/assets/fonts/DIN Offc Pro Regular,Arial Unicode MS Regular/0-255.pbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/assets/fonts/DIN Offc Pro Regular,Arial Unicode MS Regular/0-255.pbf -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/assets/fonts/DIN Offc Pro Regular,Arial Unicode MS Regular/8192-8447.pbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/assets/fonts/DIN Offc Pro Regular,Arial Unicode MS Regular/8192-8447.pbf -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/assets/london-underground-24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/assets/london-underground-24.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/assets/offline_test.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/assets/offline_test.db -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/assets/small_line.geojson: -------------------------------------------------------------------------------- 1 | {"type":"FeatureCollection","features":[{"type":"Feature","properties":{},"geometry":{"type":"LineString","coordinates":[[-121.3714599609375,38.64583568648869],[-121.48681640624999,38.64047263931154],[-121.53076171875,38.61579745317875],[-121.56509399414061,38.57823196583313],[-121.75186157226561,38.533127435052776],[-121.97021484374999,38.35350340353833],[-122.08007812499999,38.24680876017446],[-122.16796875,38.19718009396176],[-122.23800659179686,38.09457899232253],[-122.27371215820312,38.01455819225337],[-122.33551025390625,37.94094845586459],[-122.27371215820312,37.81846319511331],[-122.4151611328125,37.7652868250379]]}}]} -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/assets/small_poly.geojson: -------------------------------------------------------------------------------- 1 | {"type":"FeatureCollection","features":[{"type":"Feature","properties":{},"geometry":{"type":"Polygon","coordinates":[[[-122.28813171386719,38.617406963286136],[-122.26959228515624,38.6833657775237],[-122.18238830566406,38.55568323796419],[-122.10617065429688,38.51378825951165],[-122.11509704589845,38.50465406475561],[-122.18307495117188,38.542795073979015],[-122.19955444335938,38.496593518947556],[-122.28813171386719,38.617406963286136]]]}}]} -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/assets/town-hall-24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/assets/town-hall-24.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/TextureRecyclerViewActivity.kt: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.testapp.activity.maplayout 2 | 3 | import android.annotation.SuppressLint 4 | import com.mapbox.mapboxsdk.testapp.R 5 | 6 | /** 7 | * TestActivity showcasing how to integrate multiple TexureView MapViews in a RecyclerView. 8 | */ 9 | @SuppressLint("ClickableViewAccessibility") 10 | class TextureRecyclerViewActivity : GLSurfaceRecyclerViewActivity() { 11 | 12 | override fun getMapItemLayoutId(): Int { 13 | return R.layout.item_map_texture 14 | } 15 | } -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/render/RenderTestSnapshotter.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.testapp.activity.render; 2 | 3 | import android.content.Context; 4 | import androidx.annotation.NonNull; 5 | import com.mapbox.mapboxsdk.snapshotter.MapSnapshot; 6 | import com.mapbox.mapboxsdk.snapshotter.MapSnapshotter; 7 | 8 | public class RenderTestSnapshotter extends MapSnapshotter { 9 | 10 | RenderTestSnapshotter(@NonNull Context context, @NonNull Options options) { 11 | super(context, options); 12 | } 13 | 14 | @Override 15 | protected void addOverlay(MapSnapshot mapSnapshot) { 16 | // don't add an overlay 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/model/annotations/CityStateMarker.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.testapp.model.annotations; 2 | 3 | import com.mapbox.mapboxsdk.annotations.Marker; 4 | 5 | public class CityStateMarker extends Marker { 6 | 7 | private String infoWindowBackgroundColor; 8 | 9 | public CityStateMarker(CityStateMarkerOptions cityStateOptions, String color) { 10 | super(cityStateOptions); 11 | infoWindowBackgroundColor = color; 12 | } 13 | 14 | public String getInfoWindowBackgroundColor() { 15 | return infoWindowBackgroundColor; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/model/annotations/CountryMarker.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.testapp.model.annotations; 2 | 3 | import com.mapbox.mapboxsdk.annotations.BaseMarkerOptions; 4 | import com.mapbox.mapboxsdk.annotations.Marker; 5 | 6 | public class CountryMarker extends Marker { 7 | 8 | private String abbrevName; 9 | private int flagRes; 10 | 11 | public CountryMarker(BaseMarkerOptions baseMarkerOptions, String abbrevName, int iconRes) { 12 | super(baseMarkerOptions); 13 | this.abbrevName = abbrevName; 14 | this.flagRes = iconRes; 15 | } 16 | 17 | public String getAbbrevName() { 18 | return abbrevName; 19 | } 20 | 21 | public int getFlagRes() { 22 | return flagRes; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/model/customlayer/ExampleCustomLayer.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.testapp.model.customlayer; 2 | 3 | import androidx.annotation.Keep; 4 | 5 | @Keep 6 | public class ExampleCustomLayer { 7 | static { 8 | System.loadLibrary("example-custom-layer"); 9 | } 10 | 11 | public static native long createContext(); 12 | 13 | public static native void setColor(float red, float green, float blue, float alpha); 14 | 15 | public static long InitializeFunction; 16 | public static long RenderFunction; 17 | public static long ContextLostFunction; 18 | public static long DeinitializeFunction; 19 | } 20 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/utils/FontCache.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.testapp.utils; 2 | 3 | import android.content.Context; 4 | import android.graphics.Typeface; 5 | 6 | import java.util.Hashtable; 7 | 8 | import timber.log.Timber; 9 | 10 | public class FontCache { 11 | 12 | private static Hashtable fontCache = new Hashtable<>(); 13 | 14 | public static Typeface get(String name, Context context) { 15 | Typeface tf = fontCache.get(name); 16 | if (tf == null) { 17 | try { 18 | tf = Typeface.createFromAsset(context.getAssets(), name); 19 | fontCache.put(name, tf); 20 | } catch (Exception exception) { 21 | Timber.e("Font not found"); 22 | } 23 | } 24 | return tf; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/utils/IdleZoomListener.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.testapp.utils; 2 | 3 | import android.content.Context; 4 | import android.widget.TextView; 5 | import com.mapbox.mapboxsdk.camera.CameraPosition; 6 | import com.mapbox.mapboxsdk.maps.MapboxMap; 7 | import com.mapbox.mapboxsdk.testapp.R; 8 | 9 | public class IdleZoomListener implements MapboxMap.OnCameraIdleListener { 10 | 11 | private MapboxMap mapboxMap; 12 | private TextView textView; 13 | 14 | public IdleZoomListener(MapboxMap mapboxMap, TextView textView) { 15 | this.mapboxMap = mapboxMap; 16 | this.textView = textView; 17 | } 18 | 19 | @Override 20 | public void onCameraIdle() { 21 | Context context = textView.getContext(); 22 | CameraPosition position = mapboxMap.getCameraPosition(); 23 | textView.setText(String.format(context.getString(R.string.debug_zoom), position.zoom)); 24 | } 25 | } -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/utils/NavUtils.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.testapp.utils; 2 | 3 | import android.app.Activity; 4 | import android.content.Intent; 5 | import androidx.annotation.NonNull; 6 | import com.mapbox.mapboxsdk.testapp.activity.FeatureOverviewActivity; 7 | 8 | public class NavUtils { 9 | 10 | public static void navigateHome(@NonNull Activity context) { 11 | context.startActivity(new Intent(context, FeatureOverviewActivity.class)); 12 | context.finish(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/utils/ViewToBitmapUtil.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.testapp.utils; 2 | 3 | import android.graphics.Bitmap; 4 | import android.graphics.Canvas; 5 | import androidx.annotation.NonNull; 6 | import android.view.View; 7 | 8 | /** 9 | * Converts a View to a Bitmap so we can use an Android SDK View as a Symbol. 10 | */ 11 | public class ViewToBitmapUtil { 12 | 13 | public static Bitmap convertToBitmap(@NonNull View view) { 14 | view.measure(View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED), 15 | View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED)); 16 | view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight()); 17 | Bitmap bitmap = Bitmap.createBitmap(view.getMeasuredWidth(), view.getMeasuredHeight(), Bitmap.Config.ARGB_8888); 18 | Canvas canvas = new Canvas(bitmap); 19 | view.draw(canvas); 20 | return bitmap; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/view/MapViewPager.java: -------------------------------------------------------------------------------- 1 | package com.mapbox.mapboxsdk.testapp.view; 2 | 3 | import android.content.Context; 4 | import androidx.viewpager.widget.PagerTabStrip; 5 | import androidx.viewpager.widget.ViewPager; 6 | import android.util.AttributeSet; 7 | import android.view.SurfaceView; 8 | import android.view.View; 9 | 10 | public class MapViewPager extends ViewPager { 11 | 12 | public MapViewPager(Context context, AttributeSet attrs) { 13 | super(context, attrs); 14 | } 15 | 16 | @Override 17 | protected boolean canScroll(View v, boolean checkV, int dx, int x, int y) { 18 | return v instanceof SurfaceView || v instanceof PagerTabStrip || (super.canScroll(v, checkV, dx, x, y)); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/animator/scale_down.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 11 | 12 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/animator/scale_up.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 11 | 12 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/ic_android.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/ic_android.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/ic_android_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/ic_android_2.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/icon.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/icon_burned.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/icon_burned.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/popup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/popup.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/popup_debug.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/popup_debug.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/ic_android.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/ic_android.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/ic_android_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/ic_android_2.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/icon.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/icon_burned.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/icon_burned.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/southeast_radar_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/southeast_radar_0.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/southeast_radar_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/southeast_radar_1.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/southeast_radar_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/southeast_radar_2.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/southeast_radar_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/southeast_radar_3.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/ic_android.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/ic_android.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/ic_android_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/ic_android_2.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/icon.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/icon_burned.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/icon_burned.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/ic_android.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/ic_android.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/ic_android_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/ic_android_2.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/ic_us.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/ic_us.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/icon.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/icon_burned.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/icon_burned.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/ic_android.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/ic_android.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/ic_android_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/ic_android_2.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/ic_car_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/ic_car_top.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/ic_taxi_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/ic_taxi_top.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/icon.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/icon_burned.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/icon_burned.png -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/water.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbox/mapbox-gl-native-android/7f03a710afbd714368084e4b514d3880bad11c27/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/water.jpg -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable/custom_user_arrow.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable/custom_user_icon.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_ab_back.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 12 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_add.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_add_a_photo_black.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_add_white.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_airplanemode_active_black.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_animate_coordinates.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_arrow_downward.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_arrow_upward.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_check_box.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_delete.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_directions_bus_black.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_directions_car_black.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_directions_run_black.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_droppin.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_hearing_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_input.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_layers.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_layers_clear.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_location_city.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_location_disabled.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_my_location.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_paint.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_pause_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_play_arrow_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_print.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_refresh.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_stars.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable/line_divider.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/drawable/mapbox_user_icon_shadow_0px_test.xml: -------------------------------------------------------------------------------- 1 | 4 | 6 | 8 | 11 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_animated_image_source.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_animated_marker.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_backstack_fragment.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 9 | 10 |