gitextract_dk98dq8g/ ├── .editorconfig ├── .gitattributes ├── .github/ │ ├── CODEOWNERS │ ├── ISSUE_TEMPLATE/ │ │ ├── feature.md │ │ └── issue_template.md │ ├── pull_request_template.md │ ├── stale.yml │ └── workflows/ │ └── codeql.yml ├── .gitignore ├── CHANGELOG.md ├── CODE-OF-CONDUCT.md ├── CONTRIBUTING.md ├── DEVELOPING.md ├── LICENSE.md ├── Makefile ├── README.md ├── android-auto-app/ │ ├── build.gradle.kts │ └── src/ │ └── main/ │ ├── AndroidManifest.xml │ ├── java/ │ │ └── com/ │ │ └── mapbox/ │ │ └── maps/ │ │ └── testapp/ │ │ └── auto/ │ │ ├── app/ │ │ │ └── MainActivity.kt │ │ ├── car/ │ │ │ ├── CarAnimationThreadController.kt │ │ │ ├── CarCameraController.kt │ │ │ ├── CarLocationPuck.kt │ │ │ ├── CarMapShowcase.kt │ │ │ ├── CarMapWidgets.kt │ │ │ ├── MapScreen.kt │ │ │ ├── MapSession.kt │ │ │ ├── RequestPermissionScreen.kt │ │ │ ├── RetryScreen.kt │ │ │ └── SearchScreen.kt │ │ ├── service/ │ │ │ └── MapboxCarAppService.kt │ │ └── testing/ │ │ └── CarJavaInterfaceChecker.java │ └── res/ │ ├── drawable/ │ │ ├── ic_pan_24.xml │ │ ├── ic_zoom_in_24.xml │ │ └── ic_zoom_out_24.xml │ ├── layout/ │ │ └── activity_main.xml │ ├── mipmap-anydpi-v26/ │ │ └── ic_launcher_round.xml │ ├── values/ │ │ ├── ic_launcher_background.xml │ │ ├── strings.xml │ │ └── themes.xml │ └── xml/ │ └── automotive_app_desc.xml ├── app/ │ ├── build.gradle.kts │ ├── lint.xml │ ├── mapbox-services-proguard-rules.pro │ ├── permission.json │ ├── proguard-rules.pro │ ├── retrofit2-proguard-rules.pro │ └── src/ │ ├── androidTest/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── mapbox/ │ │ │ └── maps/ │ │ │ └── testapp/ │ │ │ ├── BaseMapTest.kt │ │ │ ├── CameraForCoordinatesTest.kt │ │ │ ├── ExampleOverviewActivityTest.kt │ │ │ ├── GeoJsonSourceMutateTest.kt │ │ │ ├── LoadStyleCallbackTest.kt │ │ │ ├── Utils.kt │ │ │ ├── annotation/ │ │ │ │ ├── InteractionsTest.kt │ │ │ │ ├── UpdateAnnotationTest.kt │ │ │ │ ├── UpdateAnnotationWithMultiManagersTest.kt │ │ │ │ └── generated/ │ │ │ │ ├── CircleAnnotationManagerAndroidTest.kt │ │ │ │ ├── PointAnnotationManagerAndroidTest.kt │ │ │ │ ├── PolygonAnnotationManagerAndroidTest.kt │ │ │ │ └── PolylineAnnotationManagerAndroidTest.kt │ │ │ ├── attribution/ │ │ │ │ ├── AttributionAppCompatThemeTest.kt │ │ │ │ ├── AttributionMaterialThemeTest.kt │ │ │ │ ├── BaseAttributionThemeTest.kt │ │ │ │ └── generated/ │ │ │ │ ├── AttributionAttributeParserDefaultValueTest.kt │ │ │ │ └── AttributionAttributeParserTest.kt │ │ │ ├── compass/ │ │ │ │ └── generated/ │ │ │ │ ├── CompassAttributeParserDefaultValueTest.kt │ │ │ │ └── CompassAttributeParserTest.kt │ │ │ ├── featurestate/ │ │ │ │ ├── FeatureStateTest.kt │ │ │ │ └── StandardBuildingsFeatureStateTest.kt │ │ │ ├── gestures/ │ │ │ │ ├── GestureActivityTest.kt │ │ │ │ ├── GestureInterceptedOnViewAnnotationTest.kt │ │ │ │ ├── GestureMapIdleTest.kt │ │ │ │ ├── GestureUiUtils.kt │ │ │ │ └── generated/ │ │ │ │ ├── GesturesAttributeParserDefaultValueTest.kt │ │ │ │ └── GesturesAttributeParserTest.kt │ │ │ ├── integration/ │ │ │ │ ├── BaseReuseIntegrationTest.kt │ │ │ │ ├── events/ │ │ │ │ │ └── StyleLoadedEventTest.kt │ │ │ │ ├── fragment/ │ │ │ │ │ ├── EmptyFragment.kt │ │ │ │ │ ├── FragmentScenarioTest.kt │ │ │ │ │ ├── FragmentTest.kt │ │ │ │ │ └── MapFragment.kt │ │ │ │ ├── surface/ │ │ │ │ │ ├── MapViewSurfaceModeTest.kt │ │ │ │ │ ├── MapViewSurfaceModeWithRecyclerViewTest.kt │ │ │ │ │ └── SurfaceTest.kt │ │ │ │ └── texture/ │ │ │ │ └── MapViewTextureModeTest.kt │ │ │ ├── locationcomponent/ │ │ │ │ └── generated/ │ │ │ │ ├── LocationComponentAttributeParserDefaultValueTest.kt │ │ │ │ └── LocationComponentAttributeParserTest.kt │ │ │ ├── logo/ │ │ │ │ └── generated/ │ │ │ │ ├── LogoAttributeParserDefaultValueTest.kt │ │ │ │ └── LogoAttributeParserTest.kt │ │ │ ├── observable/ │ │ │ │ └── ObservableEventsTest.kt │ │ │ ├── overlay/ │ │ │ │ └── MapOverlayPluginTest.kt │ │ │ ├── scalebar/ │ │ │ │ └── generated/ │ │ │ │ ├── ScaleBarAttributeParserDefaultValueTest.kt │ │ │ │ └── ScaleBarAttributeParserTest.kt │ │ │ └── viewport/ │ │ │ └── ViewportPluginTest.kt │ │ └── res/ │ │ └── layout/ │ │ └── view_annotation.xml │ └── main/ │ ├── AndroidManifest.xml │ ├── assets/ │ │ ├── annotations.json │ │ ├── countries_hdi.json │ │ ├── dva-sf-construction.geojson │ │ ├── dva-sf-parkings.geojson │ │ ├── dva-sf-route-alternative.geojson │ │ ├── dva-sf-route-main.geojson │ │ ├── ego_car.glb │ │ ├── fragment-realestate-NY.json │ │ ├── from_crema_to_council_crest.geojson │ │ ├── long_route.json │ │ ├── maine_polygon.geojson │ │ ├── multiple_geometry_example.geojson │ │ ├── navigation_route.json │ │ ├── sf_airport_route.geojson │ │ └── sportcar.glb │ ├── cpp/ │ │ ├── CMakeLists.txt │ │ └── example_custom_layer.cpp │ ├── java/ │ │ └── com/ │ │ └── mapbox/ │ │ └── maps/ │ │ └── testapp/ │ │ ├── EmptyActivity.kt │ │ ├── EmptyFragmentActivity.kt │ │ ├── ExampleOverviewActivity.kt │ │ ├── MapboxApplication.kt │ │ ├── TestMapActivity.kt │ │ ├── adapter/ │ │ │ ├── ExampleAdapter.kt │ │ │ └── ExampleSectionAdapter.kt │ │ ├── examples/ │ │ │ ├── AnimatedImageSourceActivity.kt │ │ │ ├── BasicLocationPulsingCircleActivity.kt │ │ │ ├── CircleLayerClusteringActivity.kt │ │ │ ├── ClipLayerActivity.kt │ │ │ ├── CustomAttributionActivity.kt │ │ │ ├── DSLStylingActivity.kt │ │ │ ├── DebugModeActivity.kt │ │ │ ├── DistanceExpressionActivity.kt │ │ │ ├── EdgeToEdgeActivity.kt │ │ │ ├── ElevatedLineActivity.kt │ │ │ ├── FragmentBackStackActivity.kt │ │ │ ├── GeoJsonLayerInStackActivity.kt │ │ │ ├── GesturesActivity.kt │ │ │ ├── IconPropertyActivity.kt │ │ │ ├── ImageSourceActivity.kt │ │ │ ├── IndoorExampleActivity.kt │ │ │ ├── InsetMapActivity.kt │ │ │ ├── Interactive3DModelSourceActivity.kt │ │ │ ├── JavaInterfaceChecker.java │ │ │ ├── LargeGeojsonPerformanceActivity.kt │ │ │ ├── LegacyOfflineActivity.kt │ │ │ ├── LocationComponentActivity.kt │ │ │ ├── LocationComponentAnimationActivity.kt │ │ │ ├── LocationComponentModelAnimationActivity.kt │ │ │ ├── LocationTrackingActivity.kt │ │ │ ├── MapOverlayActivity.kt │ │ │ ├── MapViewCustomizationActivity.kt │ │ │ ├── MapboxMapRecorderActivity.kt │ │ │ ├── MapboxStudioStyleActivity.kt │ │ │ ├── MultiDisplayActivity.kt │ │ │ ├── MultiMapActivity.kt │ │ │ ├── NinePatchImageActivity.kt │ │ │ ├── OfflineActivity.kt │ │ │ ├── OngoingAnimationActivity.kt │ │ │ ├── OrnamentMarginActivity.kt │ │ │ ├── RawExpressionActivity.kt │ │ │ ├── RawGeoJsonActivity.kt │ │ │ ├── RawSourceLayerActivity.kt │ │ │ ├── RuntimeStylingActivity.kt │ │ │ ├── ScaleBarActivity.kt │ │ │ ├── SecondaryDisplayActivity.kt │ │ │ ├── SecondaryDisplayPresentationActivity.kt │ │ │ ├── ShowHideLayersActivity.kt │ │ │ ├── SimpleMapActivity.kt │ │ │ ├── SimulateNavigationRouteActivity.kt │ │ │ ├── SlotLayerActivity.kt │ │ │ ├── SpaceStationLocationActivity.kt │ │ │ ├── StandardStyleActivity.kt │ │ │ ├── StandardStyleInteractionsActivity.kt │ │ │ ├── StyleCirclesCategoricallyActivity.kt │ │ │ ├── StyleSwitchActivity.kt │ │ │ ├── SurfaceActivity.kt │ │ │ ├── SurfaceRecyclerViewActivity.kt │ │ │ ├── TextureViewActivity.kt │ │ │ ├── TextureViewAnimateActivity.kt │ │ │ ├── TintFillPatternActivity.kt │ │ │ ├── TransparentBackgroundActivity.kt │ │ │ ├── VectorTileSourceActivity.kt │ │ │ ├── ViewPagerActivity.kt │ │ │ ├── WithinExpressionActivity.kt │ │ │ ├── WmsSourceActivity.kt │ │ │ ├── annotation/ │ │ │ │ ├── AnimatePointAnnotationActivity.kt │ │ │ │ └── AnnotationUtils.kt │ │ │ ├── camera/ │ │ │ │ ├── CameraPredefinedAnimatorsActivity.kt │ │ │ │ ├── LowLevelCameraAnimatorActivity.kt │ │ │ │ └── RestrictBoundsActivity.kt │ │ │ ├── coroutines/ │ │ │ │ └── featurestate/ │ │ │ │ └── FeatureStateActivity.kt │ │ │ ├── customlayer/ │ │ │ │ ├── CustomLayerActivity.kt │ │ │ │ ├── ExampleCustomLayer.kt │ │ │ │ ├── NativeCustomLayerActivity.kt │ │ │ │ ├── NativeExampleCustomLayer.kt │ │ │ │ ├── TriangleCustomLayer.kt │ │ │ │ ├── TriangleCustomLayerActivity.kt │ │ │ │ └── globe/ │ │ │ │ ├── Cube.kt │ │ │ │ ├── CubeMesh.kt │ │ │ │ ├── GlobeCustomLayerActivity.kt │ │ │ │ ├── GlobeCustomLayerHost.kt │ │ │ │ ├── Matrix4f.kt │ │ │ │ ├── Program.kt │ │ │ │ ├── Utils.kt │ │ │ │ ├── VertexFloatBuffer.kt │ │ │ │ └── VertexIntBuffer.kt │ │ │ ├── datajoin/ │ │ │ │ ├── CountriesData.kt │ │ │ │ └── DataJoinActivity.kt │ │ │ ├── fragment/ │ │ │ │ ├── MapFragment.kt │ │ │ │ └── MapViewPager.kt │ │ │ ├── geofence/ │ │ │ │ ├── ExtendedGeofencingActivity.kt │ │ │ │ └── SimpleGeofencingActivity.kt │ │ │ ├── globe/ │ │ │ │ ├── GlobeActivity.kt │ │ │ │ ├── GlobeFlyToActivity.kt │ │ │ │ ├── HeatmapLayerGlobeActivity.kt │ │ │ │ └── SpinningGlobeActivity.kt │ │ │ ├── java/ │ │ │ │ ├── DSLStylingJavaActivity.java │ │ │ │ └── RuntimeStylingJavaActivity.java │ │ │ ├── linesandpolygons/ │ │ │ │ ├── DrawGeoJsonLineActivity.kt │ │ │ │ ├── DrawPolygonActivity.kt │ │ │ │ ├── LineGradientActivity.kt │ │ │ │ ├── MovingIconWithTrailingLineActivity.kt │ │ │ │ ├── PolygonHolesActivity.kt │ │ │ │ └── SnakingDirectionsRouteActivity.kt │ │ │ ├── localization/ │ │ │ │ └── LocalizationActivity.kt │ │ │ ├── markersandcallouts/ │ │ │ │ ├── AddMarkersSymbolActivity.kt │ │ │ │ ├── AddOneMarkerSymbolActivity.kt │ │ │ │ ├── AnimatedMarkerActivity.kt │ │ │ │ ├── CircleAnnotationActivity.kt │ │ │ │ ├── MultipleGeometriesActivity.kt │ │ │ │ ├── PointAnnotationActivity.kt │ │ │ │ ├── PointAnnotationClusterActivity.kt │ │ │ │ ├── PolygonAnnotationActivity.kt │ │ │ │ ├── PolylineAnnotationActivity.kt │ │ │ │ ├── infowindow/ │ │ │ │ │ ├── InfoWindowActivity.kt │ │ │ │ │ ├── Marker.kt │ │ │ │ │ └── MarkerManager.kt │ │ │ │ └── viewannotation/ │ │ │ │ ├── DynamicViewAnnotationActivity.kt │ │ │ │ ├── ViewAnnotationAnimationActivity.kt │ │ │ │ ├── ViewAnnotationBasicAddActivity.kt │ │ │ │ ├── ViewAnnotationShowcaseActivity.kt │ │ │ │ └── ViewAnnotationWithPointAnnotationActivity.kt │ │ │ ├── sky/ │ │ │ │ ├── SkyLayerShowcaseActivity.kt │ │ │ │ └── SkyLayerSnapshotterActivity.kt │ │ │ ├── snapshotter/ │ │ │ │ ├── DataDrivenMapSnapshotterActivity.kt │ │ │ │ ├── LocalStyleMapSnapshotterActivity.kt │ │ │ │ ├── MapSnapshotterActivity.kt │ │ │ │ └── MapViewSnapshotActivity.kt │ │ │ ├── style/ │ │ │ │ ├── ColorThemeActivity.kt │ │ │ │ ├── CustomRasterSourceActivity.kt │ │ │ │ ├── PrecipitationActivity.kt │ │ │ │ ├── RasterColorizationActivity.kt │ │ │ │ ├── RasterParticlesActivity.kt │ │ │ │ ├── ThirdPartyVectorSourceActivity.kt │ │ │ │ └── TileJsonActivity.kt │ │ │ ├── terrain3D/ │ │ │ │ ├── FillExtrusionActivity.kt │ │ │ │ ├── Lights3DActivity.kt │ │ │ │ ├── ModelLayerActivity.kt │ │ │ │ ├── SantaCatalinaActivity.kt │ │ │ │ └── Terrain3DShowcaseActivity.kt │ │ │ └── viewport/ │ │ │ ├── AdvancedViewportGesturesExample.kt │ │ │ └── ViewportShowcaseActivity.kt │ │ ├── model/ │ │ │ ├── IssModel.kt │ │ │ ├── IssPosition.kt │ │ │ └── SpecificExample.kt │ │ ├── utils/ │ │ │ ├── BitmapUtils.kt │ │ │ ├── ItemClickSupport.kt │ │ │ ├── LocationPermissionHelper.kt │ │ │ ├── NavigationSimulator.kt │ │ │ ├── SimulateRouteLocationProvider.kt │ │ │ └── StorageUtils.kt │ │ └── wallpaper/ │ │ └── MapWallpaper.kt │ └── res/ │ ├── drawable/ │ │ ├── arrow_straight.xml │ │ ├── bg_dva_eta.xml │ │ ├── bg_dva_parking.xml │ │ ├── bg_rounded_corner.xml │ │ ├── ic_airplanemode_active_black_24dp.xml │ │ ├── ic_baseline_refresh_24.xml │ │ ├── ic_blue_marker.xml │ │ ├── ic_callout_item_background.xml │ │ ├── ic_cross.xml │ │ ├── ic_layers.xml │ │ ├── ic_layers_24dp.xml │ │ ├── ic_layers_clear.xml │ │ ├── ic_legacy_callout.xml │ │ ├── ic_paint.xml │ │ ├── ic_red_marker.xml │ │ ├── ic_swap_horiz_white_24dp.xml │ │ ├── ic_translate_white_24dp.xml │ │ └── mapbox_mylocation_bg_shape.xml │ ├── drawable-hdpi/ │ │ ├── android_symbol.xml │ │ └── line_divider.xml │ ├── drawable-mdpi/ │ │ ├── android_symbol.xml │ │ └── line_divider.xml │ ├── drawable-xhdpi/ │ │ ├── android_symbol.xml │ │ └── line_divider.xml │ ├── drawable-xxhdpi/ │ │ ├── android_symbol.xml │ │ └── line_divider.xml │ ├── drawable-xxxhdpi/ │ │ ├── android_symbol.xml │ │ └── line_divider.xml │ ├── layout/ │ │ ├── activity_add_marker_symbol.xml │ │ ├── activity_animated_imagesource.xml │ │ ├── activity_animated_marker.xml │ │ ├── activity_annotation.xml │ │ ├── activity_camera_predefined_animators.xml │ │ ├── activity_custom_attribution.xml │ │ ├── activity_custom_layer.xml │ │ ├── activity_custom_raster_source.xml │ │ ├── activity_dds_draw_polygon.xml │ │ ├── activity_dds_moving_icon_with_trailing_line.xml │ │ ├── activity_debug.xml │ │ ├── activity_dynamic_view_annotations.xml │ │ ├── activity_edge_to_edge.xml │ │ ├── activity_empty_fab.xml │ │ ├── activity_example_overview.xml │ │ ├── activity_extended_geofencing.xml │ │ ├── activity_feature_state.xml │ │ ├── activity_fill_extrusion.xml │ │ ├── activity_gestures.xml │ │ ├── activity_globe_custom_layer.xml │ │ ├── activity_heatmap_layer.xml │ │ ├── activity_icon_property.xml │ │ ├── activity_image_source.xml │ │ ├── activity_indoor_example.xml │ │ ├── activity_inset_map.xml │ │ ├── activity_interactive_3d_model_source.xml │ │ ├── activity_javaservices_snaking_directions_route.xml │ │ ├── activity_legacy_offline.xml │ │ ├── activity_line_gradient.xml │ │ ├── activity_location_component.xml │ │ ├── activity_location_component_animation.xml │ │ ├── activity_location_layer_basic_pulsing_circle.xml │ │ ├── activity_map_localization.xml │ │ ├── activity_map_overlay.xml │ │ ├── activity_map_view_customization.xml │ │ ├── activity_mapview.xml │ │ ├── activity_multi_display.xml │ │ ├── activity_multi_map.xml │ │ ├── activity_multiple_geometries.xml │ │ ├── activity_offline.xml │ │ ├── activity_precipitations.xml │ │ ├── activity_recycler.xml │ │ ├── activity_restrict_bounds.xml │ │ ├── activity_rts_fill_pattern_tint.xml │ │ ├── activity_scale_bar.xml │ │ ├── activity_secondary_display.xml │ │ ├── activity_secondary_display_presentation.xml │ │ ├── activity_show_hide_layers.xml │ │ ├── activity_simple_geofencing.xml │ │ ├── activity_sky_layer.xml │ │ ├── activity_sky_snapshotter.xml │ │ ├── activity_slot_layer.xml │ │ ├── activity_standard_style.xml │ │ ├── activity_style_mapbox_studio.xml │ │ ├── activity_style_switch.xml │ │ ├── activity_style_vector_source.xml │ │ ├── activity_surface.xml │ │ ├── activity_terrain_showcase.xml │ │ ├── activity_texture_view.xml │ │ ├── activity_transparent_background.xml │ │ ├── activity_view_annotation_showcase.xml │ │ ├── activity_view_snapshot.xml │ │ ├── activity_viewpager.xml │ │ ├── activity_viewport_animation.xml │ │ ├── activity_wms_source.xml │ │ ├── generated_test_attribution.xml │ │ ├── generated_test_compass.xml │ │ ├── generated_test_gestures.xml │ │ ├── generated_test_locationcomponent.xml │ │ ├── generated_test_logo.xml │ │ ├── generated_test_scalebar.xml │ │ ├── item_callout_view.xml │ │ ├── item_display_info.xml │ │ ├── item_dva_alt_eta.xml │ │ ├── item_dva_construction.xml │ │ ├── item_dva_eta.xml │ │ ├── item_dva_parking.xml │ │ ├── item_gesture_alert.xml │ │ ├── item_legacy_callout_view.xml │ │ ├── item_map.xml │ │ ├── item_single_example.xml │ │ ├── item_spinner_view.xml │ │ └── section_main_layout.xml │ ├── menu/ │ │ ├── menu_bounds.xml │ │ ├── menu_clip_layer.xml │ │ ├── menu_color_theme.xml │ │ ├── menu_custom_layer.xml │ │ ├── menu_debug_mode.xml │ │ ├── menu_gestures.xml │ │ ├── menu_languages.xml │ │ ├── menu_location_component.xml │ │ ├── menu_location_component_model_customisation.xml │ │ ├── menu_predefined_animators.xml │ │ ├── menu_pulsing_location_mode.xml │ │ ├── menu_standard_style_interactions.xml │ │ ├── menu_symbol.xml │ │ ├── menu_tilejson.xml │ │ └── menu_view_annotation.xml │ ├── mipmap-anydpi-v26/ │ │ └── ic_launcher_round.xml │ ├── values/ │ │ ├── actions.xml │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── example_categories.xml │ │ ├── example_descriptions.xml │ │ ├── example_titles.xml │ │ ├── ic_launcher_background.xml │ │ ├── ids.xml │ │ ├── interpolators.xml │ │ ├── strings.xml │ │ └── styles.xml │ └── xml/ │ └── map_wallpaper.xml ├── build.gradle.kts ├── cloudformation/ │ └── ci.template.js ├── codecov.yml ├── compose-app/ │ ├── .gitignore │ ├── build.gradle.kts │ ├── mapbox-services-proguard-rules.pro │ ├── proguard-rules.pro │ ├── retrofit2-proguard-rules.pro │ └── src/ │ └── main/ │ ├── AndroidManifest.xml │ ├── assets/ │ │ ├── dva-sf-construction.geojson │ │ ├── dva-sf-parkings.geojson │ │ ├── dva-sf-route-alternative.geojson │ │ ├── dva-sf-route-main.geojson │ │ ├── fragment-realestate-NY.json │ │ ├── navigation_route.json │ │ └── sportcar.glb │ ├── java/ │ │ └── com/ │ │ └── mapbox/ │ │ └── maps/ │ │ └── compose/ │ │ └── testapp/ │ │ ├── ExampleCategoryItem.kt │ │ ├── ExampleListItem.kt │ │ ├── ExampleOverviewActivity.kt │ │ ├── ExampleScaffold.kt │ │ ├── MapboxApplication.kt │ │ ├── data/ │ │ │ ├── ExamplesProvider.kt │ │ │ └── model/ │ │ │ └── ExampleEntry.kt │ │ ├── examples/ │ │ │ ├── animation/ │ │ │ │ └── MapViewportAnimationsActivity.kt │ │ │ ├── annotation/ │ │ │ │ ├── CircleAnnotationActivity.kt │ │ │ │ ├── CustomVectorIconsActivity.kt │ │ │ │ ├── DynamicViewAnnotationActivity.kt │ │ │ │ ├── MarkersActivity.kt │ │ │ │ ├── PointAnnotationActivity.kt │ │ │ │ ├── PointAnnotationClusterActivity.kt │ │ │ │ ├── PolygonAnnotationActivity.kt │ │ │ │ ├── PolylineAnnotationActivity.kt │ │ │ │ └── ViewAnnotationActivity.kt │ │ │ ├── basic/ │ │ │ │ ├── AccessibilityScaleActivity.kt │ │ │ │ ├── DebugModeActivity.kt │ │ │ │ ├── EdgeToEdgeActivity.kt │ │ │ │ ├── LazyColumnMapActivity.kt │ │ │ │ ├── MultiDisplayActivity.kt │ │ │ │ ├── MultiMapActivity.kt │ │ │ │ ├── QueryRenderedFeatureActivity.kt │ │ │ │ └── SimpleMapActivity.kt │ │ │ ├── location/ │ │ │ │ ├── LocationComponentActivity.kt │ │ │ │ └── NavigationSimulationActivity.kt │ │ │ ├── model/ │ │ │ │ ├── Animated3DModelActivity.kt │ │ │ │ └── Interactive3DModelFeatureStateActivity.kt │ │ │ ├── ornaments/ │ │ │ │ ├── CustomAttributionActivity.kt │ │ │ │ └── OrnamentCustomisationActivity.kt │ │ │ ├── style/ │ │ │ │ ├── AnimatedImageSourceActivity.kt │ │ │ │ ├── AppearancesActivity.kt │ │ │ │ ├── ClipLayerActivity.kt │ │ │ │ ├── ColorThemeActivity.kt │ │ │ │ ├── ElevatedLineActivity.kt │ │ │ │ ├── GenericStylePositionsActivity.kt │ │ │ │ ├── ImageSourceActivity.kt │ │ │ │ ├── InteractionsActivity.kt │ │ │ │ ├── ModelLayerActivity.kt │ │ │ │ ├── PrecipitationsActivity.kt │ │ │ │ ├── StandardStyleActivity.kt │ │ │ │ ├── StyleCompositionActivity.kt │ │ │ │ ├── StyleImportsActivity.kt │ │ │ │ ├── StyleStatesActivity.kt │ │ │ │ └── TerrainActivity.kt │ │ │ └── utils/ │ │ │ ├── AnnotationUtils.kt │ │ │ ├── CityLocations.kt │ │ │ ├── PermissionUtils.kt │ │ │ └── SimulateRouteLocationProvider.kt │ │ ├── ui/ │ │ │ └── theme/ │ │ │ ├── Color.kt │ │ │ ├── Shape.kt │ │ │ ├── Theme.kt │ │ │ └── Type.kt │ │ └── utils/ │ │ ├── FrameStatsRecorder.kt │ │ └── StorageUtils.kt │ └── res/ │ ├── drawable/ │ │ ├── arrow_straight.xml │ │ ├── bg_dva_eta.xml │ │ ├── bg_dva_parking.xml │ │ ├── ic_blue_marker.xml │ │ └── ic_red_marker.xml │ ├── mipmap-anydpi-v26/ │ │ └── ic_launcher_round.xml │ ├── values/ │ │ ├── colors.xml │ │ ├── example_categories.xml │ │ ├── example_descriptions.xml │ │ ├── example_titles.xml │ │ ├── ic_launcher_background.xml │ │ ├── strings.xml │ │ └── themes.xml │ └── values-night/ │ └── themes.xml ├── extension-androidauto/ │ ├── .gitignore │ ├── CHANGELOG-v0.5.0.md │ ├── README.md │ ├── api/ │ │ ├── Release/ │ │ │ └── metalava.txt │ │ └── extension-androidauto.api │ ├── build.gradle.kts │ └── src/ │ ├── main/ │ │ ├── AndroidManifest.xml │ │ └── java/ │ │ └── com/ │ │ └── mapbox/ │ │ └── maps/ │ │ └── extension/ │ │ └── androidauto/ │ │ ├── CarMapSurfaceOwner.kt │ │ ├── DefaultMapboxCarMapGestureHandler.kt │ │ ├── MapSurfaceProvider.kt │ │ ├── MapboxCarMap.kt │ │ ├── MapboxCarMapEx.kt │ │ ├── MapboxCarMapGestureHandler.java │ │ ├── MapboxCarMapInitializer.kt │ │ ├── MapboxCarMapObserver.java │ │ ├── MapboxCarMapScreenInstaller.kt │ │ ├── MapboxCarMapSessionInstaller.kt │ │ ├── MapboxCarMapSurface.kt │ │ ├── MapboxCarTelemetryEvents.kt │ │ └── widgets/ │ │ ├── CompassWidget.kt │ │ └── LogoWidget.kt │ └── test/ │ └── java/ │ └── com/ │ └── mapbox/ │ └── maps/ │ └── extension/ │ └── androidauto/ │ ├── CarMapSurfaceOwnerTest.kt │ ├── DefaultMapboxCarMapGestureHandlerTest.kt │ ├── MapboxCarMapScreenInstallerTest.kt │ ├── MapboxCarMapSessionInstallerTest.kt │ ├── MapboxCarMapTest.kt │ └── testing/ │ └── TestLifecycleOwner.kt ├── extension-compose/ │ ├── .gitignore │ ├── CHANGELOG-v0.1.0.md │ ├── README.md │ ├── api/ │ │ ├── Release/ │ │ │ └── metalava.txt │ │ └── extension-compose.api │ ├── build.gradle.kts │ ├── lint.xml │ └── src/ │ ├── androidTest/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── mapbox/ │ │ │ └── maps/ │ │ │ └── extension/ │ │ │ └── compose/ │ │ │ ├── MapIntegrationTests.kt │ │ │ ├── annotation/ │ │ │ │ ├── AnnotationTests.kt │ │ │ │ └── ViewAnnotationTest.kt │ │ │ ├── internal/ │ │ │ │ └── utils/ │ │ │ │ └── CityLocations.kt │ │ │ ├── multimap/ │ │ │ │ └── MultiMapTest.kt │ │ │ └── style/ │ │ │ ├── LayerPositionAwareNodeTest.kt │ │ │ └── standard/ │ │ │ └── StandardStyleConfigurationTest.kt │ │ └── res/ │ │ └── values/ │ │ └── strings.xml │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── mapbox/ │ │ │ └── maps/ │ │ │ └── extension/ │ │ │ └── compose/ │ │ │ ├── ComposeMapInitOptions.kt │ │ │ ├── DisposableMapEffect.kt │ │ │ ├── MapEffect.kt │ │ │ ├── MapState.kt │ │ │ ├── MapboxMap.kt │ │ │ ├── MapboxMapComposable.kt │ │ │ ├── MapboxMapScope.kt │ │ │ ├── MapboxMapScopeMarker.kt │ │ │ ├── animation/ │ │ │ │ └── viewport/ │ │ │ │ └── MapViewportState.kt │ │ │ ├── annotation/ │ │ │ │ ├── IconImage.kt │ │ │ │ ├── Marker.kt │ │ │ │ ├── MarkerAnimation.kt │ │ │ │ ├── MarkerAnimationState.kt │ │ │ │ ├── ViewAnnotation.kt │ │ │ │ ├── generated/ │ │ │ │ │ ├── CircleAnnotation.kt │ │ │ │ │ ├── CircleAnnotationGroup.kt │ │ │ │ │ ├── CircleAnnotationGroupInteractionsState.kt │ │ │ │ │ ├── CircleAnnotationGroupState.kt │ │ │ │ │ ├── CircleAnnotationInteractionsState.kt │ │ │ │ │ ├── CircleAnnotationOptionsExt.kt │ │ │ │ │ ├── CircleAnnotationState.kt │ │ │ │ │ ├── PointAnnotation.kt │ │ │ │ │ ├── PointAnnotationGroup.kt │ │ │ │ │ ├── PointAnnotationGroupInteractionsState.kt │ │ │ │ │ ├── PointAnnotationGroupState.kt │ │ │ │ │ ├── PointAnnotationInteractionsState.kt │ │ │ │ │ ├── PointAnnotationOptionsExt.kt │ │ │ │ │ ├── PointAnnotationState.kt │ │ │ │ │ ├── PolygonAnnotation.kt │ │ │ │ │ ├── PolygonAnnotationGroup.kt │ │ │ │ │ ├── PolygonAnnotationGroupInteractionsState.kt │ │ │ │ │ ├── PolygonAnnotationGroupState.kt │ │ │ │ │ ├── PolygonAnnotationInteractionsState.kt │ │ │ │ │ ├── PolygonAnnotationOptionsExt.kt │ │ │ │ │ ├── PolygonAnnotationState.kt │ │ │ │ │ ├── PolylineAnnotation.kt │ │ │ │ │ ├── PolylineAnnotationGroup.kt │ │ │ │ │ ├── PolylineAnnotationGroupInteractionsState.kt │ │ │ │ │ ├── PolylineAnnotationGroupState.kt │ │ │ │ │ ├── PolylineAnnotationInteractionsState.kt │ │ │ │ │ ├── PolylineAnnotationOptionsExt.kt │ │ │ │ │ └── PolylineAnnotationState.kt │ │ │ │ └── internal/ │ │ │ │ ├── BaseAnnotationNode.kt │ │ │ │ └── generated/ │ │ │ │ ├── CircleAnnotationManagerNode.kt │ │ │ │ ├── CircleAnnotationNode.kt │ │ │ │ ├── PointAnnotationManagerNode.kt │ │ │ │ ├── PointAnnotationNode.kt │ │ │ │ ├── PolygonAnnotationManagerNode.kt │ │ │ │ ├── PolygonAnnotationNode.kt │ │ │ │ ├── PolylineAnnotationManagerNode.kt │ │ │ │ └── PolylineAnnotationNode.kt │ │ │ ├── internal/ │ │ │ │ ├── ComposeTelemetryEvents.kt │ │ │ │ ├── LayerPositionAwareNode.kt │ │ │ │ ├── MapApplier.kt │ │ │ │ ├── MapEventCancelableHolder.kt │ │ │ │ ├── MapPreviewPlaceholder.kt │ │ │ │ ├── MapViewLifecycle.kt │ │ │ │ ├── MapboxMapNode.kt │ │ │ │ ├── SettingsUtils.kt │ │ │ │ └── StyleLifecycleAwareNode.kt │ │ │ ├── ornaments/ │ │ │ │ ├── attribution/ │ │ │ │ │ ├── MapAttributionScope.kt │ │ │ │ │ └── internal/ │ │ │ │ │ └── AttributionComposePlugin.kt │ │ │ │ ├── compass/ │ │ │ │ │ └── MapCompassScope.kt │ │ │ │ ├── logo/ │ │ │ │ │ └── MapLogoScope.kt │ │ │ │ └── scalebar/ │ │ │ │ ├── MapScaleBarScope.kt │ │ │ │ └── internal/ │ │ │ │ └── ScaleBarComposePlugin.kt │ │ │ └── style/ │ │ │ ├── IdGenerator.kt │ │ │ ├── MapboxStyleComposable.kt │ │ │ ├── PropertyTypes.kt │ │ │ ├── Style.kt │ │ │ ├── StyleColorTheme.kt │ │ │ ├── StyleImage.kt │ │ │ ├── StyleState.kt │ │ │ ├── atmosphere/ │ │ │ │ ├── AtmosphereStateApplier.kt │ │ │ │ └── generated/ │ │ │ │ └── AtmosphereState.kt │ │ │ ├── imports/ │ │ │ │ ├── MapboxStyleImportComposable.kt │ │ │ │ ├── StyleImportInteractionsState.kt │ │ │ │ ├── StyleImportState.kt │ │ │ │ └── StyleImportsScope.kt │ │ │ ├── interactions/ │ │ │ │ ├── BasicStyleInteractions.kt │ │ │ │ ├── StyleInteractionsState.kt │ │ │ │ └── generated/ │ │ │ │ └── FeaturesetFeatureScope.kt │ │ │ ├── internal/ │ │ │ │ ├── ComposeTypeUtils.kt │ │ │ │ ├── MapStyleNode.kt │ │ │ │ ├── ParcelerUtils.kt │ │ │ │ ├── StyleAwareNode.kt │ │ │ │ ├── StyleConfig.kt │ │ │ │ ├── StyleLayerPosition.kt │ │ │ │ └── StyleSlot.kt │ │ │ ├── layers/ │ │ │ │ ├── LayerInteractionsState.kt │ │ │ │ ├── PropertyTypes.kt │ │ │ │ ├── generated/ │ │ │ │ │ ├── BackgroundLayer.kt │ │ │ │ │ ├── BackgroundLayerState.kt │ │ │ │ │ ├── CircleLayer.kt │ │ │ │ │ ├── CircleLayerState.kt │ │ │ │ │ ├── ClipLayer.kt │ │ │ │ │ ├── ClipLayerState.kt │ │ │ │ │ ├── FillExtrusionLayer.kt │ │ │ │ │ ├── FillExtrusionLayerState.kt │ │ │ │ │ ├── FillLayer.kt │ │ │ │ │ ├── FillLayerState.kt │ │ │ │ │ ├── HeatmapLayer.kt │ │ │ │ │ ├── HeatmapLayerState.kt │ │ │ │ │ ├── HillshadeLayer.kt │ │ │ │ │ ├── HillshadeLayerState.kt │ │ │ │ │ ├── LayerProperties.kt │ │ │ │ │ ├── LineLayer.kt │ │ │ │ │ ├── LineLayerState.kt │ │ │ │ │ ├── LocationIndicatorLayer.kt │ │ │ │ │ ├── LocationIndicatorLayerState.kt │ │ │ │ │ ├── ModelLayer.kt │ │ │ │ │ ├── ModelLayerState.kt │ │ │ │ │ ├── RasterLayer.kt │ │ │ │ │ ├── RasterLayerState.kt │ │ │ │ │ ├── RasterParticleLayer.kt │ │ │ │ │ ├── RasterParticleLayerState.kt │ │ │ │ │ ├── SkyLayer.kt │ │ │ │ │ ├── SkyLayerState.kt │ │ │ │ │ ├── SymbolLayer.kt │ │ │ │ │ └── SymbolLayerState.kt │ │ │ │ └── internal/ │ │ │ │ └── LayerNode.kt │ │ │ ├── lights/ │ │ │ │ ├── LightsState.kt │ │ │ │ ├── generated/ │ │ │ │ │ ├── AmbientLightState.kt │ │ │ │ │ ├── DirectionalLightState.kt │ │ │ │ │ ├── FlatLightState.kt │ │ │ │ │ └── LightsProperties.kt │ │ │ │ └── internal/ │ │ │ │ └── MapboxLight.kt │ │ │ ├── precipitations/ │ │ │ │ ├── RainStateApplier.kt │ │ │ │ ├── SnowStateApplier.kt │ │ │ │ └── generated/ │ │ │ │ ├── RainState.kt │ │ │ │ └── SnowState.kt │ │ │ ├── projection/ │ │ │ │ └── generated/ │ │ │ │ └── Projection.kt │ │ │ ├── sources/ │ │ │ │ ├── PropertyTypes.kt │ │ │ │ ├── SourceState.kt │ │ │ │ └── generated/ │ │ │ │ ├── GeoJsonSourceState.kt │ │ │ │ ├── ImageSourceState.kt │ │ │ │ ├── ModelSourceState.kt │ │ │ │ ├── RasterArraySourceState.kt │ │ │ │ ├── RasterDemSourceState.kt │ │ │ │ ├── RasterSourceState.kt │ │ │ │ ├── SourceProperties.kt │ │ │ │ └── VectorSourceState.kt │ │ │ ├── standard/ │ │ │ │ ├── BaseStandardStyleConfigurationState.kt │ │ │ │ ├── BaseStandardStyleState.kt │ │ │ │ ├── MapboxStandardSatelliteStyle.kt │ │ │ │ ├── MapboxStandardStyle.kt │ │ │ │ ├── StandardSatelliteStyleConfigurationState.kt │ │ │ │ ├── StandardSatelliteStyleState.kt │ │ │ │ ├── StandardStyleConfigurationState.kt │ │ │ │ ├── StandardStyleState.kt │ │ │ │ └── generated/ │ │ │ │ └── StandardStyleInteractionsState.kt │ │ │ └── terrain/ │ │ │ ├── TerrainStateApplier.kt │ │ │ └── generated/ │ │ │ └── TerrainState.kt │ │ └── res/ │ │ ├── drawable/ │ │ │ ├── default_marker.xml │ │ │ ├── default_marker_inner.xml │ │ │ ├── default_marker_inner_stroke.xml │ │ │ ├── default_marker_outer.xml │ │ │ └── default_marker_outer_stroke.xml │ │ └── values/ │ │ └── ids.xml │ └── test/ │ └── java/ │ └── com/ │ └── mapbox/ │ └── maps/ │ └── extension/ │ └── compose/ │ ├── MapApplierTest.kt │ ├── MapNodeExt.kt │ ├── SimpleLayerPositionAwareNode.kt │ ├── annotation/ │ │ └── MarkerAnimationTest.kt │ ├── internal/ │ │ └── LayerPositionAwareNodeTest.kt │ └── style/ │ ├── PropertiesTests.kt │ ├── layers/ │ │ └── PropertiesTests.kt │ └── projection/ │ └── ProjectionTests.kt ├── extension-localization/ │ ├── .gitignore │ ├── README.md │ ├── api/ │ │ ├── Release/ │ │ │ └── metalava.txt │ │ └── extension-localization.api │ ├── build.gradle.kts │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── mapbox/ │ │ └── maps/ │ │ └── extension/ │ │ └── localization/ │ │ ├── Localization.kt │ │ ├── StyleInterfaceExtension.kt │ │ └── SupportedLanguages.kt │ └── test/ │ └── java/ │ └── com/ │ └── mapbox/ │ └── maps/ │ └── extension/ │ └── localization/ │ └── SupportedLanguagesTest.kt ├── extension-style/ │ ├── .gitignore │ ├── README.md │ ├── api/ │ │ ├── Release/ │ │ │ └── metalava.txt │ │ └── extension-style.api │ ├── build.gradle.kts │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── mapbox/ │ │ └── maps/ │ │ └── extension/ │ │ └── style/ │ │ ├── StyleExtensionImpl.kt │ │ ├── atmosphere/ │ │ │ └── generated/ │ │ │ ├── Atmosphere.kt │ │ │ └── AtmosphereExt.kt │ │ ├── color/ │ │ │ └── ColorThemeExt.kt │ │ ├── expressions/ │ │ │ ├── dsl/ │ │ │ │ └── generated/ │ │ │ │ └── ExpressionDsl.kt │ │ │ ├── generated/ │ │ │ │ └── Expression.kt │ │ │ └── types/ │ │ │ └── FormatSection.kt │ │ ├── image/ │ │ │ ├── ImageExt.kt │ │ │ ├── ImageExtensionImpl.kt │ │ │ ├── ImageNinePatchExtensionImpl.kt │ │ │ ├── NinePatchImage.kt │ │ │ └── NinePatchUtils.kt │ │ ├── layers/ │ │ │ ├── CustomLayer.kt │ │ │ ├── Layer.kt │ │ │ ├── LayerExt.kt │ │ │ ├── generated/ │ │ │ │ ├── BackgroundLayer.kt │ │ │ │ ├── CircleLayer.kt │ │ │ │ ├── ClipLayer.kt │ │ │ │ ├── FillExtrusionLayer.kt │ │ │ │ ├── FillLayer.kt │ │ │ │ ├── HeatmapLayer.kt │ │ │ │ ├── HillshadeLayer.kt │ │ │ │ ├── LineLayer.kt │ │ │ │ ├── LocationIndicatorLayer.kt │ │ │ │ ├── ModelLayer.kt │ │ │ │ ├── RasterLayer.kt │ │ │ │ ├── RasterParticleLayer.kt │ │ │ │ ├── SkyLayer.kt │ │ │ │ ├── SlotLayer.kt │ │ │ │ └── SymbolLayer.kt │ │ │ └── properties/ │ │ │ ├── PropertyValue.kt │ │ │ └── generated/ │ │ │ └── Property.kt │ │ ├── light/ │ │ │ ├── DynamicLight.kt │ │ │ ├── Light.kt │ │ │ ├── LightExt.kt │ │ │ ├── LightPosition.kt │ │ │ └── generated/ │ │ │ ├── AmbientLight.kt │ │ │ ├── DirectionalLight.kt │ │ │ └── FlatLight.kt │ │ ├── model/ │ │ │ ├── ModelExt.kt │ │ │ └── ModelExtensionImpl.kt │ │ ├── precipitations/ │ │ │ └── generated/ │ │ │ ├── Rain.kt │ │ │ ├── RainExt.kt │ │ │ ├── Snow.kt │ │ │ └── SnowExt.kt │ │ ├── projection/ │ │ │ └── generated/ │ │ │ ├── Projection.kt │ │ │ └── ProjectionExt.kt │ │ ├── sources/ │ │ │ ├── CustomGeometrySource.kt │ │ │ ├── CustomRasterSource.kt │ │ │ ├── GeoJsonSourceExt.kt │ │ │ ├── ImageSourceExt.kt │ │ │ ├── Source.kt │ │ │ ├── SourceExt.kt │ │ │ ├── TileSet.kt │ │ │ └── generated/ │ │ │ ├── GeoJsonSource.kt │ │ │ ├── ImageSource.kt │ │ │ ├── ModelSource.kt │ │ │ ├── ModelSourceModel.kt │ │ │ ├── RasterArraySource.kt │ │ │ ├── RasterDemSource.kt │ │ │ ├── RasterSource.kt │ │ │ ├── SourceProperties.kt │ │ │ └── VectorSource.kt │ │ ├── terrain/ │ │ │ └── generated/ │ │ │ ├── Terrain.kt │ │ │ └── TerrainExt.kt │ │ ├── types/ │ │ │ ├── Formatted.kt │ │ │ ├── FormattedSection.kt │ │ │ ├── PromoteId.kt │ │ │ ├── StyleTransition.kt │ │ │ └── TypeDSLs.kt │ │ └── utils/ │ │ ├── ColorUtils.kt │ │ ├── ExpectedUtils.kt │ │ ├── StyleTelemetryEvents.kt │ │ └── TypeUtils.kt │ └── test/ │ └── java/ │ ├── android/ │ │ └── util/ │ │ └── Log.java │ └── com/ │ └── mapbox/ │ └── maps/ │ └── extension/ │ └── style/ │ ├── EqualsHashCodeTest.kt │ ├── ShadowStyleManager.java │ ├── atmosphere/ │ │ └── generated/ │ │ └── AtmosphereTest.kt │ ├── expressions/ │ │ ├── LiteralExpressionTest.kt │ │ └── generated/ │ │ └── ExpressionTest.kt │ ├── image/ │ │ ├── ImageNinePatchExtensionImplTest.kt │ │ └── ImagePluginImplTest.kt │ ├── layers/ │ │ ├── LayerExtTest.kt │ │ └── generated/ │ │ ├── BackgroundLayerTest.kt │ │ ├── CircleLayerTest.kt │ │ ├── ClipLayerTest.kt │ │ ├── FillExtrusionLayerTest.kt │ │ ├── FillLayerTest.kt │ │ ├── HeatmapLayerTest.kt │ │ ├── HillshadeLayerTest.kt │ │ ├── LineLayerTest.kt │ │ ├── LocationIndicatorLayerTest.kt │ │ ├── ModelLayerTest.kt │ │ ├── RasterLayerTest.kt │ │ ├── RasterParticleLayerTest.kt │ │ ├── SkyLayerTest.kt │ │ └── SymbolLayerTest.kt │ ├── light/ │ │ └── generated/ │ │ ├── AmbientLightTest.kt │ │ ├── DirectionalLightTest.kt │ │ └── FlatLightTest.kt │ ├── precipitations/ │ │ └── generated/ │ │ ├── RainTest.kt │ │ └── SnowTest.kt │ ├── sources/ │ │ ├── CustomGeometrySourceTest.kt │ │ ├── CustomRasterSourceTest.kt │ │ ├── GeoJsonSourceMutateTest.kt │ │ ├── ImageSourceExtTest.kt │ │ ├── TileSetTest.kt │ │ └── generated/ │ │ ├── GeoJsonSourceTest.kt │ │ ├── ImageSourceTest.kt │ │ ├── ModelSourceModelTest.kt │ │ ├── ModelSourceTest.kt │ │ ├── RasterArraySourceTest.kt │ │ ├── RasterDemSourceTest.kt │ │ ├── RasterSourceTest.kt │ │ └── VectorSourceTest.kt │ ├── terrain/ │ │ └── generated/ │ │ └── TerrainTest.kt │ └── utils/ │ ├── ColorUtilsTest.kt │ ├── PromoteIdTest.kt │ └── TypeUtilsTest.kt ├── extension-style-app/ │ ├── build.gradle.kts │ └── src/ │ ├── androidTest/ │ │ └── java/ │ │ └── com/ │ │ └── mapbox/ │ │ └── maps/ │ │ └── testapp/ │ │ └── style/ │ │ ├── BaseStyleTest.kt │ │ ├── atmosphere/ │ │ │ └── generated/ │ │ │ └── AtmosphereTest.kt │ │ ├── expressions/ │ │ │ └── ExpressionTest.kt │ │ ├── layers/ │ │ │ ├── CustomLayerTest.kt │ │ │ ├── SlotLayerTest.kt │ │ │ └── generated/ │ │ │ ├── BackgroundLayerTest.kt │ │ │ ├── CircleLayerTest.kt │ │ │ ├── ClipLayerTest.kt │ │ │ ├── FillExtrusionLayerTest.kt │ │ │ ├── FillLayerTest.kt │ │ │ ├── HeatmapLayerTest.kt │ │ │ ├── HillshadeLayerTest.kt │ │ │ ├── LineLayerTest.kt │ │ │ ├── LocationIndicatorLayerTest.kt │ │ │ ├── ModelLayerTest.kt │ │ │ ├── RasterLayerTest.kt │ │ │ ├── RasterParticleLayerTest.kt │ │ │ ├── SkyLayerTest.kt │ │ │ └── SymbolLayerTest.kt │ │ ├── light/ │ │ │ ├── LightTest.kt │ │ │ └── generated/ │ │ │ ├── AmbientLightTest.kt │ │ │ ├── DirectionalLightTest.kt │ │ │ └── FlatLightTest.kt │ │ ├── precipitations/ │ │ │ └── generated/ │ │ │ ├── RainTest.kt │ │ │ └── SnowTest.kt │ │ ├── sources/ │ │ │ ├── RasterArraySourceTest.kt │ │ │ └── generated/ │ │ │ ├── GeoJsonSourceTest.kt │ │ │ ├── ImageSourceTest.kt │ │ │ ├── ModelSourceModelTest.kt │ │ │ ├── ModelSourceTest.kt │ │ │ ├── RasterArraySourceTest.kt │ │ │ ├── RasterDemSourceTest.kt │ │ │ ├── RasterSourceTest.kt │ │ │ └── VectorSourceTest.kt │ │ ├── terrain/ │ │ │ └── generated/ │ │ │ └── TerrainTest.kt │ │ └── utils/ │ │ └── TypeUtilsTest.kt │ └── main/ │ ├── AndroidManifest.xml │ ├── java/ │ │ └── com/ │ │ └── mapbox/ │ │ └── maps/ │ │ └── testapp/ │ │ └── style/ │ │ └── MainActivity.kt │ └── res/ │ └── values/ │ └── ids.xml ├── extension-style-lint-rules/ │ ├── .gitignore │ ├── build.gradle.kts │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── mapbox/ │ │ │ └── maps/ │ │ │ └── lint/ │ │ │ └── style/ │ │ │ ├── MapboxStyleDslDetector.kt │ │ │ ├── StyleIssueRegistry.kt │ │ │ ├── UnusedStyleDslDetector.kt │ │ │ └── expressions/ │ │ │ ├── IllegalNumberOfArgumentsDetector.kt │ │ │ ├── MapboxExpressionDslDetector.kt │ │ │ └── UnusedLiteralDetector.kt │ │ └── resources/ │ │ └── META-INF/ │ │ └── services/ │ │ └── com.android.tools.lint.client.api.IssueRegistry │ └── test/ │ └── java/ │ └── com/ │ └── mapbox/ │ └── maps/ │ └── lint/ │ └── style/ │ ├── Stubs.kt │ ├── UnusedStyleDslDetectorTest.kt │ └── expressions/ │ ├── IllegalNumberOfArgumentsDetectorTest.kt │ └── UnusedLiteralDetectorTest.kt ├── gradle/ │ ├── apps.versions.toml │ ├── commonlibs.versions.toml │ ├── dependency-updates.gradle │ ├── ktlint.gradle.kts │ ├── libs.versions.toml │ ├── lint.gradle │ ├── metalava.gradle │ ├── play-publisher.gradle │ ├── script-git-version.gradle │ ├── track-public-apis.gradle │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── mapbox-convention-plugin/ │ ├── README.md │ ├── build.gradle.kts │ ├── settings.gradle.kts │ └── src/ │ └── main/ │ └── kotlin/ │ └── com/ │ └── mapbox/ │ └── maps/ │ └── gradle/ │ └── plugins/ │ ├── MapboxPlugins.kt │ ├── extensions/ │ │ ├── MapboxApplicationExtension.kt │ │ ├── MapboxDependenciesExtension.kt │ │ ├── MapboxDependencyExtension.kt │ │ ├── MapboxDokkaExtension.kt │ │ ├── MapboxJApiCmpExtension.kt │ │ ├── MapboxJacocoExtension.kt │ │ ├── MapboxLibraryExtension.kt │ │ ├── MapboxPublishLibraryExtension.kt │ │ └── MapboxRootExtension.kt │ └── internal/ │ ├── Dependencies.kt │ ├── GradleExt.kt │ └── MapboxDependencies.kt ├── maps-sdk/ │ ├── README.md │ ├── api/ │ │ ├── Release/ │ │ │ └── metalava.txt │ │ └── maps-sdk.api │ ├── build.gradle.kts │ ├── proguard-rules.pro │ └── src/ │ ├── androidTest/ │ │ ├── AndroidManifest.xml │ │ ├── java/ │ │ │ └── com/ │ │ │ └── mapbox/ │ │ │ └── maps/ │ │ │ ├── BaseAnimationMapTest.kt │ │ │ ├── CameraForCoordinatesTest.kt │ │ │ ├── EmptyActivity.kt │ │ │ ├── LegacyOfflineManagerTest.kt │ │ │ ├── MapIntegrationTest.kt │ │ │ ├── MapSnapshotterTest.kt │ │ │ ├── MapboxMapIntegrationTest.kt │ │ │ ├── RenderTest.kt │ │ │ ├── StyleLoadTest.kt │ │ │ ├── SymbolScaleBehaviorTest.kt │ │ │ ├── TestUtils.kt │ │ │ ├── ThreadCheckTest.kt │ │ │ ├── ViewAnnotationTest.kt │ │ │ └── renderer/ │ │ │ └── egl/ │ │ │ ├── EGLSupportTest.kt │ │ │ └── RendererSetupTest.kt │ │ └── res/ │ │ ├── layout/ │ │ │ ├── view_annotation.xml │ │ │ └── view_annotation_wrap_content.xml │ │ └── values/ │ │ └── strings.xml │ ├── main/ │ │ ├── assets/ │ │ │ └── sdk_versions/ │ │ │ └── com.mapbox.maps │ │ ├── java/ │ │ │ └── com/ │ │ │ └── mapbox/ │ │ │ └── maps/ │ │ │ ├── CameraAttributeParser.kt │ │ │ ├── DelegatingMapClient.kt │ │ │ ├── DelegatingViewAnnotation.kt │ │ │ ├── FontUtils.kt │ │ │ ├── MapAttributeParser.kt │ │ │ ├── MapControllable.kt │ │ │ ├── MapController.kt │ │ │ ├── MapGeofencingConsentImpl.kt │ │ │ ├── MapInitOptions.kt │ │ │ ├── MapProvider.kt │ │ │ ├── MapSurface.kt │ │ │ ├── MapView.kt │ │ │ ├── MapboxConfigurationException.kt │ │ │ ├── MapboxConstants.kt │ │ │ ├── MapboxMap.kt │ │ │ ├── MapboxMapRecorder.kt │ │ │ ├── MapboxMapsOptions.kt │ │ │ ├── MapboxTracing.kt │ │ │ ├── NativeMapImpl.kt │ │ │ ├── NativeObserver.kt │ │ │ ├── SnapshotOverlay.kt │ │ │ ├── SnapshotOverlayCallback.kt │ │ │ ├── SnapshotOverlayOptions.kt │ │ │ ├── SnapshotResultCallback.kt │ │ │ ├── SnapshotStyleListener.kt │ │ │ ├── Snapshotter.kt │ │ │ ├── SnapshotterDestroyedException.kt │ │ │ ├── Style.kt │ │ │ ├── StyleObserver.kt │ │ │ ├── SymbolScaleBehavior.kt │ │ │ ├── Utils.kt │ │ │ ├── attribution/ │ │ │ │ ├── AttributionLayout.kt │ │ │ │ ├── AttributionMeasure.kt │ │ │ │ └── AttributionParser.kt │ │ │ ├── coroutine/ │ │ │ │ ├── MapCameraManagerDelegateExt.kt │ │ │ │ ├── MapFeatureQueryDelegateExt.kt │ │ │ │ └── MapboxMapExt.kt │ │ │ ├── debugoptions/ │ │ │ │ ├── CameraDebugView.kt │ │ │ │ ├── DebugOptionsController.kt │ │ │ │ ├── MapViewDebugOptions.kt │ │ │ │ └── PaddingDebugView.kt │ │ │ ├── plugin/ │ │ │ │ ├── InvalidViewPluginHostException.kt │ │ │ │ ├── MapAttributionDelegateImpl.kt │ │ │ │ ├── MapDelegateProviderImpl.kt │ │ │ │ └── MapPluginRegistry.kt │ │ │ ├── renderer/ │ │ │ │ ├── FpsManager.kt │ │ │ │ ├── GLMapboxRenderThread.kt │ │ │ │ ├── MapboxRenderThread.kt │ │ │ │ ├── MapboxRenderer.kt │ │ │ │ ├── MapboxSurfaceHolderRenderer.kt │ │ │ │ ├── MapboxSurfaceRenderer.kt │ │ │ │ ├── MapboxTextureViewRenderer.kt │ │ │ │ ├── MapboxWidgetRenderer.kt │ │ │ │ ├── OnFpsChangedListener.kt │ │ │ │ ├── RenderEvent.kt │ │ │ │ ├── RenderHandlerThread.kt │ │ │ │ ├── RenderThread.kt │ │ │ │ ├── RenderThreadStatsRecorder.kt │ │ │ │ ├── RendererError.kt │ │ │ │ ├── RendererSetupErrorListener.kt │ │ │ │ ├── VulkanMapboxRenderThread.kt │ │ │ │ ├── egl/ │ │ │ │ │ ├── EGLConfigChooser.kt │ │ │ │ │ └── EGLCore.kt │ │ │ │ ├── gl/ │ │ │ │ │ ├── GlUtils.kt │ │ │ │ │ ├── PixelReader.kt │ │ │ │ │ └── TextureRenderer.kt │ │ │ │ └── widget/ │ │ │ │ ├── BitmapWidget.kt │ │ │ │ ├── BitmapWidgetRenderer.kt │ │ │ │ ├── Widget.kt │ │ │ │ ├── WidgetPosition.kt │ │ │ │ └── WidgetRenderer.kt │ │ │ └── viewannotation/ │ │ │ ├── OnViewAnnotationUpdatedListener.kt │ │ │ ├── ViewAnnotationManager.kt │ │ │ ├── ViewAnnotationManagerImpl.kt │ │ │ ├── ViewAnnotationOptionsKtx.kt │ │ │ ├── ViewAnnotationUpdateMode.kt │ │ │ └── ViewAnnotationVisibility.kt │ │ ├── res/ │ │ │ ├── drawable/ │ │ │ │ └── mapbox_rounded_corner.xml │ │ │ ├── values/ │ │ │ │ ├── attrs.xml │ │ │ │ ├── colors.xml │ │ │ │ ├── ids.xml │ │ │ │ └── strings.xml │ │ │ ├── values-ar/ │ │ │ │ └── strings.xml │ │ │ ├── values-be/ │ │ │ │ └── strings.xml │ │ │ ├── values-bg/ │ │ │ │ └── strings.xml │ │ │ ├── values-ca/ │ │ │ │ └── strings.xml │ │ │ ├── values-cs/ │ │ │ │ └── strings.xml │ │ │ ├── values-da/ │ │ │ │ └── strings.xml │ │ │ ├── values-de/ │ │ │ │ └── strings.xml │ │ │ ├── values-es/ │ │ │ │ └── strings.xml │ │ │ ├── values-fr/ │ │ │ │ └── strings.xml │ │ │ ├── values-gl/ │ │ │ │ └── strings.xml │ │ │ ├── values-it/ │ │ │ │ └── strings.xml │ │ │ ├── values-iw/ │ │ │ │ └── strings.xml │ │ │ ├── values-ja/ │ │ │ │ └── strings.xml │ │ │ ├── values-ko/ │ │ │ │ └── strings.xml │ │ │ ├── values-lt/ │ │ │ │ └── strings.xml │ │ │ ├── values-nl/ │ │ │ │ └── strings.xml │ │ │ ├── values-no/ │ │ │ │ └── strings.xml │ │ │ ├── values-pl/ │ │ │ │ └── strings.xml │ │ │ ├── values-pt/ │ │ │ │ └── strings.xml │ │ │ ├── values-ru/ │ │ │ │ └── strings.xml │ │ │ ├── values-sv/ │ │ │ │ └── strings.xml │ │ │ ├── values-uk/ │ │ │ │ └── strings.xml │ │ │ ├── values-vi/ │ │ │ │ └── strings.xml │ │ │ ├── values-zh/ │ │ │ │ └── strings.xml │ │ │ ├── values-zh-rCN/ │ │ │ │ └── strings.xml │ │ │ ├── values-zh-rHK/ │ │ │ │ └── strings.xml │ │ │ └── values-zh-rTW/ │ │ │ └── strings.xml │ │ └── res-public/ │ │ └── values/ │ │ └── public.xml │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── mapbox/ │ │ ├── TestUtils.kt │ │ └── maps/ │ │ ├── CameraAttributeParserTest.kt │ │ ├── EqualsHashCodeTest.kt │ │ ├── FontUtilsTest.kt │ │ ├── MapAttributeParserTest.kt │ │ ├── MapControllerTest.kt │ │ ├── MapInitOptionsTest.kt │ │ ├── MapSurfaceTest.kt │ │ ├── MapViewTest.kt │ │ ├── MapViewTypedArrayTest.kt │ │ ├── MapboxMapExtTest.kt │ │ ├── MapboxMapRecorderTest.kt │ │ ├── MapboxMapTest.kt │ │ ├── MapboxOptionsTest.kt │ │ ├── NativeMapTest.kt │ │ ├── NativeObserverTest.kt │ │ ├── SafeSystemCallTest.kt │ │ ├── ShadowCameraManager.java │ │ ├── ShadowMap.java │ │ ├── ShadowMapRecorder.java │ │ ├── ShadowMapSnapshotter.java │ │ ├── ShadowStyleManager.java │ │ ├── ShadowTracing.kt │ │ ├── SnapshotterTest.kt │ │ ├── StyleObserverTest.kt │ │ ├── StyleTest.kt │ │ ├── ViewAnnotationManagerAddTest.kt │ │ ├── ViewAnnotationManagerTest.kt │ │ ├── ViewAnnotationManagerZOrderingTest.kt │ │ ├── attribution/ │ │ │ ├── AttributionParseTest.java │ │ │ └── MapAttributionDelegateImplTest.kt │ │ ├── debugoptions/ │ │ │ └── DebugOptionsControllerTest.kt │ │ ├── plugin/ │ │ │ ├── MapDelegateProviderTest.kt │ │ │ └── MapPluginRegistryTest.kt │ │ ├── renderer/ │ │ │ ├── Cleanup.kt │ │ │ ├── EglConfigChooserTest.kt │ │ │ ├── FpsManagerTest.kt │ │ │ ├── GLMapboxRenderThreadTest.kt │ │ │ ├── MapboxRendererTest.kt │ │ │ ├── MapboxSurfaceHolderRendererTest.kt │ │ │ ├── MapboxSurfaceRendererTest.kt │ │ │ ├── MapboxTextureViewRendererTest.kt │ │ │ ├── RenderHandlerThreadTest.kt │ │ │ └── widget/ │ │ │ └── BitmapWidgetRendererTest.kt │ │ └── shadows/ │ │ ├── ShadowCancelable.java │ │ ├── ShadowCoordinateBounds.java │ │ ├── ShadowEventsService.kt │ │ ├── ShadowLogThrottler.kt │ │ ├── ShadowMapsResourceOptions.java │ │ ├── ShadowObservable.java │ │ └── ShadowTelemetryService.kt │ └── resources/ │ └── robolectric.properties ├── metalava/ │ ├── README.md │ ├── metalava.jar │ ├── metalava.patch │ └── update.sh ├── module-telemetry/ │ ├── api/ │ │ ├── Release/ │ │ │ └── metalava.txt │ │ └── module-telemetry.api │ ├── build.gradle.kts │ └── src/ │ ├── androidTest/ │ │ └── java/ │ │ └── com/ │ │ └── mapbox/ │ │ └── maps/ │ │ └── module/ │ │ └── telemetry/ │ │ └── MapTelemetryEventsServiceTest.kt │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── mapbox/ │ │ └── maps/ │ │ └── module/ │ │ └── telemetry/ │ │ ├── MapBaseEvent.kt │ │ ├── MapEventFactory.kt │ │ ├── MapLoadEvent.kt │ │ ├── MapTelemetryImpl.kt │ │ ├── PerformanceEvent.kt │ │ └── PhoneState.kt │ └── test/ │ └── java/ │ └── com/ │ └── mapbox/ │ └── maps/ │ └── module/ │ └── telemetry/ │ ├── EqualsHashCodeTest.kt │ ├── MapEventFactoryTest.kt │ └── MapTelemetryTest.kt ├── plugin-animation/ │ ├── .gitignore │ ├── README.md │ ├── api/ │ │ ├── Release/ │ │ │ └── metalava.txt │ │ └── plugin-animation.api │ ├── build.gradle.kts │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── mapbox/ │ │ └── maps/ │ │ └── plugin/ │ │ └── animation/ │ │ ├── CameraAnimationsExt.kt │ │ ├── CameraAnimationsPluginImpl.kt │ │ ├── CameraAnimatorsFactory.kt │ │ ├── CameraTransform.kt │ │ ├── HighLevelAnimatorSet.kt │ │ └── animator/ │ │ ├── CameraAnchorAnimator.kt │ │ ├── CameraAnimator.kt │ │ ├── CameraBearingAnimator.kt │ │ ├── CameraCenterAnimator.kt │ │ ├── CameraPaddingAnimator.kt │ │ ├── CameraPitchAnimator.kt │ │ ├── CameraTypeEvaluator.kt │ │ ├── CameraZoomAnimator.kt │ │ └── Evaluators.kt │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── mapbox/ │ │ └── maps/ │ │ └── plugin/ │ │ └── animation/ │ │ ├── CameraAnimationsChangeListenersTest.kt │ │ ├── CameraAnimationsExtTest.kt │ │ ├── CameraAnimationsListenersTest.kt │ │ ├── CameraAnimationsPluginImplTest.kt │ │ ├── CameraAnimatorsFactoryTest.kt │ │ └── animator/ │ │ ├── CameraAnimatorTest.kt │ │ └── EvaluatorsTest.kt │ └── resources/ │ └── robolectric.properties ├── plugin-annotation/ │ ├── .gitignore │ ├── README.md │ ├── api/ │ │ ├── Release/ │ │ │ └── metalava.txt │ │ └── plugin-annotation.api │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── mapbox/ │ │ └── maps/ │ │ └── plugin/ │ │ └── annotation/ │ │ ├── AnnotationExt.kt │ │ ├── AnnotationManagerImpl.kt │ │ ├── AnnotationPluginImpl.kt │ │ ├── ConvertUtils.kt │ │ ├── QueryAnnotationCallback.kt │ │ └── generated/ │ │ ├── CircleAnnotation.kt │ │ ├── CircleAnnotationManager.kt │ │ ├── CircleAnnotationOptions.kt │ │ ├── OnCircleAnnotationClickListener.kt │ │ ├── OnCircleAnnotationDragListener.kt │ │ ├── OnCircleAnnotationInteractionListener.kt │ │ ├── OnCircleAnnotationLongClickListener.kt │ │ ├── OnPointAnnotationClickListener.kt │ │ ├── OnPointAnnotationDragListener.kt │ │ ├── OnPointAnnotationInteractionListener.kt │ │ ├── OnPointAnnotationLongClickListener.kt │ │ ├── OnPolygonAnnotationClickListener.kt │ │ ├── OnPolygonAnnotationDragListener.kt │ │ ├── OnPolygonAnnotationInteractionListener.kt │ │ ├── OnPolygonAnnotationLongClickListener.kt │ │ ├── OnPolylineAnnotationClickListener.kt │ │ ├── OnPolylineAnnotationDragListener.kt │ │ ├── OnPolylineAnnotationInteractionListener.kt │ │ ├── OnPolylineAnnotationLongClickListener.kt │ │ ├── PointAnnotation.kt │ │ ├── PointAnnotationManager.kt │ │ ├── PointAnnotationOptions.kt │ │ ├── PolygonAnnotation.kt │ │ ├── PolygonAnnotationManager.kt │ │ ├── PolygonAnnotationOptions.kt │ │ ├── PolylineAnnotation.kt │ │ ├── PolylineAnnotationManager.kt │ │ └── PolylineAnnotationOptions.kt │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── mapbox/ │ │ └── maps/ │ │ └── plugin/ │ │ └── annotation/ │ │ ├── AnnotationPluginImplTest.kt │ │ ├── ShadowProjection.java │ │ ├── StyleImageRefCountTest.kt │ │ └── generated/ │ │ ├── CircleAnnotationManagerTest.kt │ │ ├── PointAnnotationManagerTest.kt │ │ ├── PolygonAnnotationManagerTest.kt │ │ └── PolylineAnnotationManagerTest.kt │ └── resources/ │ └── robolectric.properties ├── plugin-attribution/ │ ├── .gitignore │ ├── README.md │ ├── api/ │ │ ├── Release/ │ │ │ └── metalava.txt │ │ └── plugin-attribution.api │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── mapbox/ │ │ │ └── maps/ │ │ │ └── plugin/ │ │ │ └── attribution/ │ │ │ ├── AttributionDialogManagerImpl.kt │ │ │ ├── AttributionExt.kt │ │ │ ├── AttributionPluginImpl.kt │ │ │ ├── AttributionViewImpl.kt │ │ │ └── generated/ │ │ │ └── AttributionAttributeParser.kt │ │ ├── res/ │ │ │ ├── drawable/ │ │ │ │ ├── mapbox_attribution_default.xml │ │ │ │ ├── mapbox_attribution_selected.xml │ │ │ │ └── mapbox_attribution_selector.xml │ │ │ ├── layout/ │ │ │ │ └── mapbox_attribution_list_item.xml │ │ │ ├── values/ │ │ │ │ ├── attrs.xml │ │ │ │ ├── colors.xml │ │ │ │ └── strings.xml │ │ │ ├── values-ar/ │ │ │ │ └── strings.xml │ │ │ ├── values-be/ │ │ │ │ └── strings.xml │ │ │ ├── values-bg/ │ │ │ │ └── strings.xml │ │ │ ├── values-ca/ │ │ │ │ └── strings.xml │ │ │ ├── values-cs/ │ │ │ │ └── strings.xml │ │ │ ├── values-da/ │ │ │ │ └── strings.xml │ │ │ ├── values-de/ │ │ │ │ └── strings.xml │ │ │ ├── values-es/ │ │ │ │ └── strings.xml │ │ │ ├── values-fr/ │ │ │ │ └── strings.xml │ │ │ ├── values-gl/ │ │ │ │ └── strings.xml │ │ │ ├── values-it/ │ │ │ │ └── strings.xml │ │ │ ├── values-iw/ │ │ │ │ └── strings.xml │ │ │ ├── values-ja/ │ │ │ │ └── strings.xml │ │ │ ├── values-ko/ │ │ │ │ └── strings.xml │ │ │ ├── values-lt/ │ │ │ │ └── strings.xml │ │ │ ├── values-nl/ │ │ │ │ └── strings.xml │ │ │ ├── values-no/ │ │ │ │ └── strings.xml │ │ │ ├── values-pl/ │ │ │ │ └── strings.xml │ │ │ ├── values-pt/ │ │ │ │ └── strings.xml │ │ │ ├── values-ru/ │ │ │ │ └── strings.xml │ │ │ ├── values-sv/ │ │ │ │ └── strings.xml │ │ │ ├── values-uk/ │ │ │ │ └── strings.xml │ │ │ ├── values-vi/ │ │ │ │ └── strings.xml │ │ │ ├── values-zh/ │ │ │ │ └── strings.xml │ │ │ ├── values-zh-rCN/ │ │ │ │ └── strings.xml │ │ │ ├── values-zh-rHK/ │ │ │ │ └── strings.xml │ │ │ └── values-zh-rTW/ │ │ │ └── strings.xml │ │ └── res-public/ │ │ └── values/ │ │ └── public.xml │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── mapbox/ │ │ └── maps/ │ │ └── plugin/ │ │ └── attribution/ │ │ ├── AttributionDialogManagerImplTest.kt │ │ ├── AttributionPluginImplImplTest.kt │ │ ├── AttributionViewImplTest.kt │ │ └── generated/ │ │ └── AttributionAttributeParserTest.kt │ └── resources/ │ └── robolectric.properties ├── plugin-compass/ │ ├── README.md │ ├── api/ │ │ ├── Release/ │ │ │ └── metalava.txt │ │ └── plugin-compass.api │ ├── build.gradle.kts │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── mapbox/ │ │ │ └── maps/ │ │ │ └── plugin/ │ │ │ └── compass/ │ │ │ ├── CompassExt.kt │ │ │ ├── CompassViewImpl.kt │ │ │ ├── CompassViewPlugin.kt │ │ │ └── generated/ │ │ │ └── CompassAttributeParser.kt │ │ ├── res/ │ │ │ ├── values/ │ │ │ │ ├── attrs.xml │ │ │ │ ├── dimens.xml │ │ │ │ └── strings.xml │ │ │ ├── values-ar/ │ │ │ │ └── strings.xml │ │ │ ├── values-be/ │ │ │ │ └── strings.xml │ │ │ ├── values-bg/ │ │ │ │ └── strings.xml │ │ │ ├── values-ca/ │ │ │ │ └── strings.xml │ │ │ ├── values-cs/ │ │ │ │ └── strings.xml │ │ │ ├── values-da/ │ │ │ │ └── strings.xml │ │ │ ├── values-de/ │ │ │ │ └── strings.xml │ │ │ ├── values-es/ │ │ │ │ └── strings.xml │ │ │ ├── values-fr/ │ │ │ │ └── strings.xml │ │ │ ├── values-gl/ │ │ │ │ └── strings.xml │ │ │ ├── values-it/ │ │ │ │ └── strings.xml │ │ │ ├── values-iw/ │ │ │ │ └── strings.xml │ │ │ ├── values-ja/ │ │ │ │ └── strings.xml │ │ │ ├── values-ko/ │ │ │ │ └── strings.xml │ │ │ ├── values-lt/ │ │ │ │ └── strings.xml │ │ │ ├── values-nl/ │ │ │ │ └── strings.xml │ │ │ ├── values-no/ │ │ │ │ └── strings.xml │ │ │ ├── values-pl/ │ │ │ │ └── strings.xml │ │ │ ├── values-pt/ │ │ │ │ └── strings.xml │ │ │ ├── values-ru/ │ │ │ │ └── strings.xml │ │ │ ├── values-sv/ │ │ │ │ └── strings.xml │ │ │ ├── values-uk/ │ │ │ │ └── strings.xml │ │ │ ├── values-vi/ │ │ │ │ └── strings.xml │ │ │ ├── values-zh/ │ │ │ │ └── strings.xml │ │ │ ├── values-zh-rCN/ │ │ │ │ └── strings.xml │ │ │ ├── values-zh-rHK/ │ │ │ │ └── strings.xml │ │ │ └── values-zh-rTW/ │ │ │ └── strings.xml │ │ └── res-public/ │ │ └── values/ │ │ └── public.xml │ └── test/ │ └── java/ │ └── com/ │ └── mapbox/ │ └── maps/ │ └── plugin/ │ └── compass/ │ ├── CompassViewPluginTest.kt │ └── generated/ │ └── CompassAttributeParserTest.kt ├── plugin-gestures/ │ ├── .gitignore │ ├── README.md │ ├── api/ │ │ ├── Release/ │ │ │ └── metalava.txt │ │ └── plugin-gestures.api │ ├── build.gradle.kts │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── mapbox/ │ │ │ └── maps/ │ │ │ └── plugin/ │ │ │ └── gestures/ │ │ │ ├── GestureState.kt │ │ │ ├── GesturesConstants.kt │ │ │ ├── GesturesExt.kt │ │ │ ├── GesturesPluginImpl.kt │ │ │ ├── StandardGestureListenerShim.java │ │ │ └── generated/ │ │ │ └── GesturesAttributeParser.kt │ │ ├── res/ │ │ │ └── values/ │ │ │ ├── attrs.xml │ │ │ ├── dimens.xml │ │ │ └── strings.xml │ │ └── res-public/ │ │ └── values/ │ │ └── public.xml │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── mapbox/ │ │ └── maps/ │ │ └── plugin/ │ │ └── gestures/ │ │ ├── GestureOptionsTest.kt │ │ ├── GestureStateTest.kt │ │ ├── GesturesPluginTest.kt │ │ ├── StandardGestureListenerTest.java │ │ └── generated/ │ │ └── GesturesAttributeParserTest.kt │ └── resources/ │ └── robolectric.properties ├── plugin-indoorselector/ │ ├── README.md │ ├── api/ │ │ ├── Release/ │ │ │ └── metalava.txt │ │ └── plugin-indoorselector.api │ ├── build.gradle.kts │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── mapbox/ │ │ └── maps/ │ │ └── plugin/ │ │ └── indoorselector/ │ │ ├── IndoorSelectorExt.kt │ │ ├── IndoorSelectorPluginImpl.kt │ │ └── IndoorSelectorViewImpl.kt │ └── res/ │ ├── drawable/ │ │ ├── mapbox_indoor_selector_arrow_down.xml │ │ ├── mapbox_indoor_selector_arrow_up.xml │ │ └── mapbox_indoor_selector_building.xml │ ├── values/ │ │ ├── colors.xml │ │ ├── dimens.xml │ │ └── strings.xml │ └── values-night/ │ └── colors.xml ├── plugin-lifecycle/ │ ├── .gitignore │ ├── README.md │ ├── api/ │ │ ├── Release/ │ │ │ └── metalava.txt │ │ └── plugin-lifecycle.api │ ├── build.gradle.kts │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── mapbox/ │ │ └── maps/ │ │ └── plugin/ │ │ └── lifecycle/ │ │ ├── LifecycleExt.kt │ │ ├── MapboxLifecyclePluginImpl.kt │ │ └── ViewLifecycleOwner.kt │ └── test/ │ └── java/ │ └── com/ │ └── mapbox/ │ └── maps/ │ └── extension/ │ └── lifecycle/ │ ├── MapboxLifecyclePluginImplTest.kt │ └── ViewLifecycleOwnerTest.kt ├── plugin-lifecycle-lint-rules/ │ ├── .gitignore │ ├── build.gradle.kts │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── mapbox/ │ │ │ └── maps/ │ │ │ └── lint/ │ │ │ └── lifecycle/ │ │ │ ├── LifecycleIssueRegistry.kt │ │ │ └── LifecycleMethodDetector.kt │ │ └── resources/ │ │ └── META-INF/ │ │ └── services/ │ │ └── com.android.tools.lint.client.api.IssueRegistry │ └── test/ │ └── java/ │ └── com/ │ └── mapbox/ │ └── maps/ │ └── lint/ │ └── LifecycleMethodDetectorTest.kt ├── plugin-locationcomponent/ │ ├── .gitignore │ ├── README.md │ ├── api/ │ │ ├── Release/ │ │ │ └── metalava.txt │ │ └── plugin-locationcomponent.api │ ├── build.gradle.kts │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── mapbox/ │ │ │ └── maps/ │ │ │ └── plugin/ │ │ │ └── locationcomponent/ │ │ │ ├── DefaultLocationProvider.kt │ │ │ ├── LayerSourceProvider.kt │ │ │ ├── LocationCompassCalibrationListener.kt │ │ │ ├── LocationCompassEngine.kt │ │ │ ├── LocationComponentConstants.kt │ │ │ ├── LocationComponentExt.kt │ │ │ ├── LocationComponentPluginImpl.kt │ │ │ ├── LocationComponentPositionManager.kt │ │ │ ├── LocationIndicatorLayerRenderer.kt │ │ │ ├── LocationIndicatorLayerWrapper.kt │ │ │ ├── LocationLayerRenderer.kt │ │ │ ├── LocationLayerWrapper.kt │ │ │ ├── LocationPuckManager.kt │ │ │ ├── ModelLayerRenderer.kt │ │ │ ├── ModelLayerWrapper.kt │ │ │ ├── ModelSourceWrapper.kt │ │ │ ├── animators/ │ │ │ │ ├── Evaluators.kt │ │ │ │ ├── PuckAccuracyRadiusAnimator.kt │ │ │ │ ├── PuckAnimator.kt │ │ │ │ ├── PuckAnimatorManager.kt │ │ │ │ ├── PuckBearingAnimator.kt │ │ │ │ ├── PuckPositionAnimator.kt │ │ │ │ └── PuckPulsingAnimator.kt │ │ │ ├── generated/ │ │ │ │ └── LocationComponentAttributeParser.kt │ │ │ ├── model/ │ │ │ │ └── AnimatableModel.kt │ │ │ └── utils/ │ │ │ ├── BitmapUtils.kt │ │ │ └── ExpectedUtils.kt │ │ ├── res/ │ │ │ ├── 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 │ │ │ └── values/ │ │ │ ├── attrs.xml │ │ │ ├── colors.xml │ │ │ └── dimens.xml │ │ └── res-public/ │ │ └── values/ │ │ └── public.xml │ └── test/ │ └── java/ │ └── com/ │ └── mapbox/ │ └── maps/ │ ├── plugin/ │ │ └── locationcomponent/ │ │ ├── DefaultLocationProviderTest.kt │ │ ├── LayerSourceProviderTest.kt │ │ ├── LocationCompassEngineTest.kt │ │ ├── LocationComponentPluginImplTest.kt │ │ ├── LocationComponentPositionManagerTest.kt │ │ ├── LocationIndicatorLayerRendererTest.kt │ │ ├── LocationIndicatorLayerWrapperTest.kt │ │ ├── LocationLayerWrapperTest.kt │ │ ├── LocationPuckManagerTest.kt │ │ ├── ModelLayerRendererTest.kt │ │ ├── ModelLayerWrapperTest.kt │ │ ├── ModelSourceWrapperTest.kt │ │ ├── ShadowLocationServiceFactory.java │ │ ├── Utils.kt │ │ ├── animators/ │ │ │ ├── EvaluatorsTest.kt │ │ │ ├── PuckAccuracyRadiusAnimatorTest.kt │ │ │ ├── PuckAnimatorManagerTest.kt │ │ │ ├── PuckBearingAnimatorTest.kt │ │ │ ├── PuckPositionAnimatorTest.kt │ │ │ └── PuckPulsingAnimatorTest.kt │ │ └── generated/ │ │ └── LocationComponentAttributeParserTest.kt │ └── util/ │ └── MockKExtensions.kt ├── plugin-logo/ │ ├── .gitignore │ ├── README.md │ ├── api/ │ │ ├── Release/ │ │ │ └── metalava.txt │ │ └── plugin-logo.api │ ├── build.gradle.kts │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── mapbox/ │ │ │ └── maps/ │ │ │ └── plugin/ │ │ │ └── logo/ │ │ │ ├── LogoExt.kt │ │ │ ├── LogoViewImpl.kt │ │ │ ├── LogoViewPlugin.kt │ │ │ └── generated/ │ │ │ └── LogoAttributeParser.kt │ │ ├── res/ │ │ │ ├── values/ │ │ │ │ ├── attrs.xml │ │ │ │ └── strings.xml │ │ │ ├── values-ar/ │ │ │ │ └── strings.xml │ │ │ ├── values-be/ │ │ │ │ └── strings.xml │ │ │ ├── values-bg/ │ │ │ │ └── strings.xml │ │ │ ├── values-ca/ │ │ │ │ └── strings.xml │ │ │ ├── values-cs/ │ │ │ │ └── strings.xml │ │ │ ├── values-da/ │ │ │ │ └── strings.xml │ │ │ ├── values-de/ │ │ │ │ └── strings.xml │ │ │ ├── values-es/ │ │ │ │ └── strings.xml │ │ │ ├── values-fr/ │ │ │ │ └── strings.xml │ │ │ ├── values-gl/ │ │ │ │ └── strings.xml │ │ │ ├── values-it/ │ │ │ │ └── strings.xml │ │ │ ├── values-iw/ │ │ │ │ └── strings.xml │ │ │ ├── values-ja/ │ │ │ │ └── strings.xml │ │ │ ├── values-ko/ │ │ │ │ └── strings.xml │ │ │ ├── values-lt/ │ │ │ │ └── strings.xml │ │ │ ├── values-nl/ │ │ │ │ └── strings.xml │ │ │ ├── values-no/ │ │ │ │ └── strings.xml │ │ │ ├── values-pl/ │ │ │ │ └── strings.xml │ │ │ ├── values-pt/ │ │ │ │ └── strings.xml │ │ │ ├── values-ru/ │ │ │ │ └── strings.xml │ │ │ ├── values-sv/ │ │ │ │ └── strings.xml │ │ │ ├── values-uk/ │ │ │ │ └── strings.xml │ │ │ ├── values-vi/ │ │ │ │ └── strings.xml │ │ │ ├── values-zh/ │ │ │ │ └── strings.xml │ │ │ ├── values-zh-rCN/ │ │ │ │ └── strings.xml │ │ │ ├── values-zh-rHK/ │ │ │ │ └── strings.xml │ │ │ └── values-zh-rTW/ │ │ │ └── strings.xml │ │ └── res-public/ │ │ └── values/ │ │ └── public.xml │ └── test/ │ └── java/ │ └── com/ │ └── mapbox/ │ └── maps/ │ └── plugin/ │ └── logo/ │ ├── LogoViewImplPluginTest.kt │ └── generated/ │ └── LogoAttributeParserTest.kt ├── plugin-overlay/ │ ├── .gitignore │ ├── README.md │ ├── api/ │ │ ├── Release/ │ │ │ └── metalava.txt │ │ └── plugin-overlay.api │ ├── build.gradle.kts │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── mapbox/ │ │ └── maps/ │ │ └── plugin/ │ │ └── overlay/ │ │ ├── MapOverlayExt.kt │ │ └── MapOverlayPluginImpl.kt │ └── test/ │ └── java/ │ └── com/ │ └── mapbox/ │ └── maps/ │ └── plugin/ │ └── overlay/ │ └── MapOverlayPluginTest.kt ├── plugin-scalebar/ │ ├── .gitignore │ ├── README.md │ ├── api/ │ │ ├── Release/ │ │ │ └── metalava.txt │ │ └── plugin-scalebar.api │ ├── build.gradle.kts │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── mapbox/ │ │ │ └── maps/ │ │ │ └── plugin/ │ │ │ └── scalebar/ │ │ │ ├── LocaleUnitResolver.kt │ │ │ ├── ScaleBarConstant.kt │ │ │ ├── ScaleBarExt.kt │ │ │ ├── ScaleBarImpl.kt │ │ │ ├── ScaleBarPluginImpl.kt │ │ │ └── generated/ │ │ │ └── ScaleBarAttributeParser.kt │ │ ├── res/ │ │ │ └── values/ │ │ │ └── attrs.xml │ │ └── res-public/ │ │ └── values/ │ │ └── public.xml │ └── test/ │ └── java/ │ └── com/ │ └── mapbox/ │ └── maps/ │ └── plugin/ │ └── scalebar/ │ ├── ScaleBarImplTest.kt │ ├── ScaleBarPluginTest.kt │ ├── ShadowProjection.java │ └── generated/ │ └── ScaleBarAttributeParserTest.kt ├── plugin-viewport/ │ ├── README.md │ ├── api/ │ │ ├── Release/ │ │ │ └── metalava.txt │ │ └── plugin-viewport.api │ ├── build.gradle.kts │ └── src/ │ ├── main/ │ │ └── kotlin/ │ │ └── com/ │ │ └── mapbox/ │ │ └── maps/ │ │ └── plugin/ │ │ └── viewport/ │ │ ├── ViewportExt.kt │ │ ├── ViewportPluginImpl.kt │ │ ├── state/ │ │ │ ├── FollowPuckViewportStateImpl.kt │ │ │ └── OverviewViewportStateImpl.kt │ │ ├── transition/ │ │ │ ├── DefaultViewportTransitionImpl.kt │ │ │ ├── ImmediateViewportTransition.kt │ │ │ ├── MapboxViewportTransitionFactory.kt │ │ │ └── TransitionUtils.kt │ │ └── util/ │ │ └── ViewportTelemetryEvents.kt │ └── test/ │ └── kotlin/ │ └── com/ │ └── mapbox/ │ └── maps/ │ └── plugin/ │ └── viewport/ │ ├── ViewportPluginImplTest.kt │ ├── ViewportTestConstants.kt │ ├── state/ │ │ ├── FollowPuckViewportStateImplTest.kt │ │ └── OverviewViewportStateImplTest.kt │ └── transition/ │ ├── DefaultViewportTransitionImplTest.kt │ ├── ImmediateViewportTransitionImplTest.kt │ ├── MapboxViewportTransitionFactoryTest.kt │ └── TransitionUtilsTest.kt ├── scripts/ │ ├── check-permissions.py │ ├── checksum-base.sh │ ├── checksum.sh │ ├── ci-circleci-start-pipeline.py │ ├── ci-e2e-job-trigger-checker.sh │ ├── ci-github-set-commit-status.py │ ├── ci-weekly-trigger.py │ ├── clean.sh │ ├── install-pre-commit/ │ │ ├── install-pre-commit.sh │ │ └── pre-commit.sh │ ├── merge-gradle-dependency-output.py │ ├── sanity-test/ │ │ ├── exclude-sanity-test-gen.json │ │ ├── generate-sanity-test.js │ │ └── template-sanity-test.ejs │ ├── semver-check.sh │ ├── start-internal-release-pipeline.py │ ├── trigger-maps-documentation-deploy-steps.sh │ └── update-android-docs.sh ├── sdk-base/ │ ├── .gitignore │ ├── api/ │ │ ├── Release/ │ │ │ └── metalava.txt │ │ └── sdk-base.api │ ├── build.gradle.kts │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── mapbox/ │ │ │ ├── common/ │ │ │ │ └── MapboxMapsAndroidLogger.kt │ │ │ └── maps/ │ │ │ ├── ClickInteraction.kt │ │ │ ├── DragInteraction.kt │ │ │ ├── ExtensionUtils.kt │ │ │ ├── ImageHolder.kt │ │ │ ├── LongClickInteraction.kt │ │ │ ├── MapInteraction.java │ │ │ ├── MapLoadingErrorDelegate.kt │ │ │ ├── MapboxDelicateApi.kt │ │ │ ├── MapboxExceptions.kt │ │ │ ├── MapboxExperimental.kt │ │ │ ├── MapboxLifecycleObserver.kt │ │ │ ├── MapboxLogger.kt │ │ │ ├── MapboxStyleManager.kt │ │ │ ├── ThreadChecker.kt │ │ │ ├── dsl/ │ │ │ │ └── CameraOptionsKtx.kt │ │ │ ├── exception/ │ │ │ │ └── WorkerThreadException.kt │ │ │ ├── extension/ │ │ │ │ ├── observable/ │ │ │ │ │ ├── EventsExtension.kt │ │ │ │ │ ├── eventdata/ │ │ │ │ │ │ ├── CameraChangedEventData.kt │ │ │ │ │ │ ├── MapIdleEventData.kt │ │ │ │ │ │ ├── MapLoadedEventData.kt │ │ │ │ │ │ ├── MapLoadingErrorEventData.kt │ │ │ │ │ │ ├── RenderFrameFinishedEventData.kt │ │ │ │ │ │ ├── RenderFrameStartedEventData.kt │ │ │ │ │ │ ├── ResourceEventData.kt │ │ │ │ │ │ ├── SourceAddedEventData.kt │ │ │ │ │ │ ├── SourceDataLoadedEventData.kt │ │ │ │ │ │ ├── SourceRemovedEventData.kt │ │ │ │ │ │ ├── StyleDataLoadedEventData.kt │ │ │ │ │ │ ├── StyleImageMissingEventData.kt │ │ │ │ │ │ ├── StyleImageUnusedEventData.kt │ │ │ │ │ │ └── StyleLoadedEventData.kt │ │ │ │ │ └── model/ │ │ │ │ │ ├── DataSourceType.kt │ │ │ │ │ ├── Error.kt │ │ │ │ │ ├── MapLoadErrorType.kt │ │ │ │ │ ├── RenderMode.kt │ │ │ │ │ ├── Request.kt │ │ │ │ │ ├── RequestPriority.kt │ │ │ │ │ ├── RequestType.kt │ │ │ │ │ ├── Response.kt │ │ │ │ │ ├── ResponseErrorReason.kt │ │ │ │ │ ├── ResponseSourceType.kt │ │ │ │ │ ├── SourceDataType.kt │ │ │ │ │ ├── StyleDataType.kt │ │ │ │ │ └── TileID.kt │ │ │ │ └── style/ │ │ │ │ └── StyleContract.kt │ │ │ ├── geofencing/ │ │ │ │ └── MapGeofencingConsent.kt │ │ │ ├── interactions/ │ │ │ │ ├── FeatureState.kt │ │ │ │ ├── FeatureStateCallback.kt │ │ │ │ ├── FeatureStateKey.kt │ │ │ │ ├── FeaturesetFeature.kt │ │ │ │ ├── QueryRenderedFeaturesetFeaturesCallback.kt │ │ │ │ ├── TypedFeaturesetDescriptor.kt │ │ │ │ └── standard/ │ │ │ │ └── generated/ │ │ │ │ ├── StandardBuildings.kt │ │ │ │ ├── StandardBuildingsFeature.kt │ │ │ │ ├── StandardBuildingsState.kt │ │ │ │ ├── StandardBuildingsStateKey.kt │ │ │ │ ├── StandardInteractionsExt.kt │ │ │ │ ├── StandardLandmarkIcons.kt │ │ │ │ ├── StandardLandmarkIconsFeature.kt │ │ │ │ ├── StandardLandmarkIconsState.kt │ │ │ │ ├── StandardLandmarkIconsStateKey.kt │ │ │ │ ├── StandardPlaceLabels.kt │ │ │ │ ├── StandardPlaceLabelsFeature.kt │ │ │ │ ├── StandardPlaceLabelsState.kt │ │ │ │ ├── StandardPlaceLabelsStateKey.kt │ │ │ │ ├── StandardPoi.kt │ │ │ │ ├── StandardPoiFeature.kt │ │ │ │ ├── StandardPoiState.kt │ │ │ │ └── StandardPoiStateKey.kt │ │ │ ├── module/ │ │ │ │ ├── MapTelemetry.java │ │ │ │ └── TelemetryEvent.kt │ │ │ ├── plugin/ │ │ │ │ ├── ConfigProperties.kt │ │ │ │ ├── ContextBinder.kt │ │ │ │ ├── InvalidPluginConfigurationException.kt │ │ │ │ ├── LifecyclePlugin.kt │ │ │ │ ├── MapCameraPlugin.kt │ │ │ │ ├── MapPlugin.kt │ │ │ │ ├── MapSizePlugin.kt │ │ │ │ ├── MapStyleObserverPlugin.kt │ │ │ │ ├── Plugin.kt │ │ │ │ ├── ViewPlugin.kt │ │ │ │ ├── animation/ │ │ │ │ │ ├── CameraAnimationsLifecycleListener.kt │ │ │ │ │ ├── CameraAnimationsPlugin.kt │ │ │ │ │ ├── CameraAnimatorChangeListener.kt │ │ │ │ │ ├── CameraAnimatorNullableChangeListener.kt │ │ │ │ │ ├── CameraAnimatorOptions.kt │ │ │ │ │ ├── CameraAnimatorType.kt │ │ │ │ │ ├── MapAnimationOptions.kt │ │ │ │ │ └── MapAnimationOwnerRegistry.kt │ │ │ │ ├── annotation/ │ │ │ │ │ ├── Annotation.kt │ │ │ │ │ ├── AnnotationConfig.kt │ │ │ │ │ ├── AnnotationManager.kt │ │ │ │ │ ├── AnnotationOptions.kt │ │ │ │ │ ├── AnnotationPlugin.kt │ │ │ │ │ ├── AnnotationSourceOptions.kt │ │ │ │ │ ├── AnnotationType.kt │ │ │ │ │ ├── ClusterAnnotationManager.kt │ │ │ │ │ ├── ClusterFeature.kt │ │ │ │ │ ├── ClusterOptions.kt │ │ │ │ │ ├── OnAnnotationClickListener.kt │ │ │ │ │ ├── OnAnnotationDragListener.kt │ │ │ │ │ ├── OnAnnotationInteractionListener.kt │ │ │ │ │ ├── OnAnnotationLongClickListener.kt │ │ │ │ │ ├── OnClusterClickListener.kt │ │ │ │ │ └── OnClusterLongClickListener.kt │ │ │ │ ├── attribution/ │ │ │ │ │ ├── Attribution.kt │ │ │ │ │ ├── AttributionDialogManager.kt │ │ │ │ │ ├── AttributionParserConfig.kt │ │ │ │ │ ├── AttributionPlugin.kt │ │ │ │ │ ├── AttributionView.kt │ │ │ │ │ ├── OnAttributionClickListener.kt │ │ │ │ │ └── generated/ │ │ │ │ │ ├── AttributionSettingsBase.kt │ │ │ │ │ ├── AttributionSettingsData.kt │ │ │ │ │ └── AttributionSettingsInterface.kt │ │ │ │ ├── compass/ │ │ │ │ │ ├── CompassPlugin.kt │ │ │ │ │ ├── CompassView.kt │ │ │ │ │ ├── OnCompassClickListener.kt │ │ │ │ │ └── generated/ │ │ │ │ │ ├── CompassSettingsBase.kt │ │ │ │ │ ├── CompassSettingsData.kt │ │ │ │ │ └── CompassSettingsInterface.kt │ │ │ │ ├── delegates/ │ │ │ │ │ ├── MapAttributionDelegate.kt │ │ │ │ │ ├── MapCameraManagerDelegate.kt │ │ │ │ │ ├── MapDelegateProvider.kt │ │ │ │ │ ├── MapFeatureQueryDelegate.kt │ │ │ │ │ ├── MapFeatureStateDelegate.kt │ │ │ │ │ ├── MapInteractionDelegate.kt │ │ │ │ │ ├── MapListenerDelegate.kt │ │ │ │ │ ├── MapPluginExtensionsDelegate.kt │ │ │ │ │ ├── MapPluginProviderDelegate.kt │ │ │ │ │ ├── MapProjectionDelegate.kt │ │ │ │ │ ├── MapTransformDelegate.kt │ │ │ │ │ └── listeners/ │ │ │ │ │ ├── OnCameraChangeListener.kt │ │ │ │ │ ├── OnMapIdleListener.kt │ │ │ │ │ ├── OnMapLoadErrorListener.kt │ │ │ │ │ ├── OnMapLoadedListener.kt │ │ │ │ │ ├── OnRenderFrameFinishedListener.kt │ │ │ │ │ ├── OnRenderFrameStartedListener.kt │ │ │ │ │ ├── OnSourceAddedListener.kt │ │ │ │ │ ├── OnSourceDataLoadedListener.kt │ │ │ │ │ ├── OnSourceRemovedListener.kt │ │ │ │ │ ├── OnStyleDataLoadedListener.kt │ │ │ │ │ ├── OnStyleImageMissingListener.kt │ │ │ │ │ ├── OnStyleImageUnusedListener.kt │ │ │ │ │ └── OnStyleLoadedListener.kt │ │ │ │ ├── gestures/ │ │ │ │ │ ├── GesturesListeners.kt │ │ │ │ │ ├── GesturesPlugin.kt │ │ │ │ │ └── generated/ │ │ │ │ │ ├── GesturesSettingsBase.kt │ │ │ │ │ ├── GesturesSettingsData.kt │ │ │ │ │ └── GesturesSettingsInterface.kt │ │ │ │ ├── indoorselector/ │ │ │ │ │ ├── IndoorSelectorPlugin.kt │ │ │ │ │ ├── IndoorSelectorView.kt │ │ │ │ │ ├── OnFloorSelectedListener.kt │ │ │ │ │ └── generated/ │ │ │ │ │ ├── IndoorSelectorSettingsBase.kt │ │ │ │ │ ├── IndoorSelectorSettingsData.kt │ │ │ │ │ └── IndoorSelectorSettingsInterface.kt │ │ │ │ ├── lifecycle/ │ │ │ │ │ └── MapboxLifecyclePlugin.kt │ │ │ │ ├── locationcomponent/ │ │ │ │ │ ├── LocationComponentPlugin.kt │ │ │ │ │ ├── LocationConsumer.kt │ │ │ │ │ ├── LocationProvider.kt │ │ │ │ │ ├── OnIndicatorAccuracyRadiusChangedListener.kt │ │ │ │ │ ├── OnIndicatorBearingChangedListener.kt │ │ │ │ │ ├── OnIndicatorPositionChangedListener.kt │ │ │ │ │ ├── PuckLocatedAtPointListener.kt │ │ │ │ │ └── generated/ │ │ │ │ │ ├── LocationComponentSettingsBase.kt │ │ │ │ │ ├── LocationComponentSettingsData.kt │ │ │ │ │ └── LocationComponentSettingsInterface.kt │ │ │ │ ├── logo/ │ │ │ │ │ ├── LogoPlugin.kt │ │ │ │ │ ├── LogoView.kt │ │ │ │ │ └── generated/ │ │ │ │ │ ├── LogoSettingsBase.kt │ │ │ │ │ ├── LogoSettingsData.kt │ │ │ │ │ └── LogoSettingsInterface.kt │ │ │ │ ├── overlay/ │ │ │ │ │ ├── MapOverlayCoordinatesProvider.kt │ │ │ │ │ ├── MapOverlayPlugin.kt │ │ │ │ │ └── OnReframeFinished.kt │ │ │ │ ├── scalebar/ │ │ │ │ │ ├── ScaleBar.kt │ │ │ │ │ ├── ScaleBarPlugin.kt │ │ │ │ │ └── generated/ │ │ │ │ │ ├── ScaleBarSettingsBase.kt │ │ │ │ │ ├── ScaleBarSettingsData.kt │ │ │ │ │ └── ScaleBarSettingsInterface.kt │ │ │ │ └── viewport/ │ │ │ │ ├── CompletionListener.kt │ │ │ │ ├── ViewportConstants.kt │ │ │ │ ├── ViewportPlugin.kt │ │ │ │ ├── ViewportStatus.kt │ │ │ │ ├── ViewportStatusObserver.kt │ │ │ │ ├── data/ │ │ │ │ │ ├── DefaultViewportTransitionOptions.kt │ │ │ │ │ ├── FollowPuckViewportStateBearing.kt │ │ │ │ │ ├── FollowPuckViewportStateOptions.kt │ │ │ │ │ ├── OverviewViewportStateOptions.kt │ │ │ │ │ ├── ViewportOptions.kt │ │ │ │ │ └── ViewportStatusChangeReason.kt │ │ │ │ ├── state/ │ │ │ │ │ ├── FollowPuckViewportState.kt │ │ │ │ │ ├── OverviewViewportState.kt │ │ │ │ │ ├── ViewportState.kt │ │ │ │ │ └── ViewportStateDataObserver.kt │ │ │ │ └── transition/ │ │ │ │ ├── DefaultViewportTransition.kt │ │ │ │ └── ViewportTransition.kt │ │ │ ├── threading/ │ │ │ │ └── AnimationThreadController.kt │ │ │ └── util/ │ │ │ ├── CameraOptionsUtils.kt │ │ │ ├── CoreGesturesHandler.kt │ │ │ └── MathUtils.kt │ │ ├── ksp/ │ │ │ └── com/ │ │ │ └── mapbox/ │ │ │ └── maps/ │ │ │ └── plugin/ │ │ │ ├── attribution/ │ │ │ │ └── generated/ │ │ │ │ └── AttributionSettings.kt │ │ │ ├── compass/ │ │ │ │ └── generated/ │ │ │ │ └── CompassSettings.kt │ │ │ ├── gestures/ │ │ │ │ └── generated/ │ │ │ │ └── GesturesSettings.kt │ │ │ ├── indoorselector/ │ │ │ │ └── generated/ │ │ │ │ └── IndoorSelectorSettings.kt │ │ │ ├── locationcomponent/ │ │ │ │ └── generated/ │ │ │ │ └── LocationComponentSettings.kt │ │ │ ├── logo/ │ │ │ │ └── generated/ │ │ │ │ └── LogoSettings.kt │ │ │ └── scalebar/ │ │ │ └── generated/ │ │ │ └── ScaleBarSettings.kt │ │ └── res/ │ │ └── values/ │ │ └── strings.xml │ └── test/ │ └── java/ │ └── com/ │ └── mapbox/ │ └── maps/ │ ├── EqualsHashCodeTest.kt │ ├── dsl/ │ │ └── CameraOptionsKtxTest.kt │ ├── plugin/ │ │ └── scalebar/ │ │ └── ScaleBarSettingsUnitsTest.kt │ └── util/ │ └── MathUtilsTest.kt └── settings.gradle.kts