Skip to content

Commit e74e336

Browse files
Seth BourgetSeth Bourget
andauthored
Added check for style layer rather than relying only on the nullable return value in order to remove warning message in log from the maps SDK. (#6101)
Co-authored-by: Seth Bourget <seth@cafesilencio.net>
1 parent b51c25f commit e74e336

File tree

3 files changed

+22
-5
lines changed

3 files changed

+22
-5
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ Mapbox welcomes participation and contributions from everyone.
2727
- Deprecated constructors `PredictiveCacheController(PredictiveCacheLocationOptions, PredictiveCacheControllerErrorHandler)` and `PredictiveCacheController(PredictiveCacheLocationOptions, PredictiveCacheLocationOptions, PredictiveCacheControllerErrorHandler)`. [#6071](https://github.com/mapbox/mapbox-navigation-android/pull/6071)
2828
- Added `PredictiveCacheController#predictiveCacheControllerErrorHandler` to set and get `PredictiveCacheControllerErrorHandler`. [#6071](https://github.com/mapbox/mapbox-navigation-android/pull/6071)
2929
- Added `PredictiveCacheMapsOptions`(map specific, that also allow to specify zoom levels for which the map tiles should be cached) and `PredictiveCacheNavigationOptions`(navigation specific) available through the `PredictiveCacheOptions`. [#6071](https://github.com/mapbox/mapbox-navigation-android/pull/6071)
30+
- Reduced log entries related to getting map layers. [#6101](https://github.com/mapbox/mapbox-navigation-android/pull/6101)
3031

3132
### Mapbox dependencies
3233
This release depends on, and has been tested with, the following Mapbox dependencies:

libnavui-maps/src/main/java/com/mapbox/navigation/ui/maps/route/line/api/MapboxRouteLineView.kt

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -573,7 +573,9 @@ class MapboxRouteLineView(var options: MapboxRouteLineOptions) {
573573
}
574574

575575
private fun updateLayerVisibility(style: Style, layerId: String, visibility: Visibility) {
576-
style.getLayer(layerId)?.visibility(visibility)
576+
if (style.styleLayerExists(layerId)) {
577+
style.getLayer(layerId)?.visibility(visibility)
578+
}
577579
}
578580

579581
private fun updateSource(style: Style, sourceId: String, featureCollection: FeatureCollection) {
@@ -587,8 +589,10 @@ class MapboxRouteLineView(var options: MapboxRouteLineOptions) {
587589
expressionProvider: RouteLineExpressionProvider?
588590
): (Style) -> Unit = { style: Style ->
589591
ifNonNull(expressionProvider) { provider ->
590-
style.getLayer(layerId)?.let {
591-
(it as LineLayer).lineTrimOffset(provider.generateExpression())
592+
if (style.styleLayerExists(layerId)) {
593+
style.getLayer(layerId)?.let {
594+
(it as LineLayer).lineTrimOffset(provider.generateExpression())
595+
}
592596
}
593597
}
594598
}
@@ -604,8 +608,10 @@ class MapboxRouteLineView(var options: MapboxRouteLineOptions) {
604608

605609
private fun updateLineGradient(style: Style, expression: Expression, vararg layerIds: String) {
606610
layerIds.forEach { layerId ->
607-
style.getLayer(layerId)?.let {
608-
(it as LineLayer).lineGradient(expression)
611+
if (style.styleLayerExists(layerId)) {
612+
style.getLayer(layerId)?.let {
613+
(it as LineLayer).lineGradient(expression)
614+
}
609615
}
610616
}
611617
}

libnavui-maps/src/test/java/com/mapbox/navigation/ui/maps/route/line/api/MapboxRouteLineViewTest.kt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,9 @@ class MapboxRouteLineViewTest {
282282
val restrictedLineLayer = mockk<LineLayer>(relaxed = true)
283283
val topLevelLayer = mockk<LineLayer>(relaxed = true)
284284
val style = mockk<Style> {
285+
every {
286+
styleLayerExists(any())
287+
} returns true
285288
every {
286289
getLayer(LAYER_GROUP_1_TRAFFIC)
287290
} returns primaryRouteTrafficLayer
@@ -363,6 +366,7 @@ class MapboxRouteLineViewTest {
363366
val primaryTrailLayer = mockk<LineLayer>(relaxed = true)
364367
val primaryTrailCasingLayer = mockk<LineLayer>(relaxed = true)
365368
val style = mockk<Style> {
369+
every { styleLayerExists(any()) } returns true
366370
every {
367371
getLayer(LAYER_GROUP_1_TRAFFIC)
368372
} returns primaryRouteTrafficLayer
@@ -1033,6 +1037,7 @@ class MapboxRouteLineViewTest {
10331037
val route1Traffic = mockk<LineLayer>(relaxed = true)
10341038
val route1Restricted = mockk<LineLayer>(relaxed = true)
10351039
val style = mockk<Style> {
1040+
every { styleLayerExists(any()) } returns true
10361041
every {
10371042
getLayer(LAYER_GROUP_1_TRAFFIC)
10381043
} returns route1Traffic
@@ -1086,6 +1091,7 @@ class MapboxRouteLineViewTest {
10861091
val route1Traffic = mockk<LineLayer>(relaxed = true)
10871092
val route1Restricted = mockk<LineLayer>(relaxed = true)
10881093
val style = mockk<Style> {
1094+
every { styleLayerExists(any()) } returns true
10891095
every {
10901096
getLayer(LAYER_GROUP_1_TRAFFIC)
10911097
} returns route1Traffic
@@ -1151,6 +1157,7 @@ class MapboxRouteLineViewTest {
11511157
val route3Traffic = mockk<LineLayer>(relaxed = true)
11521158
val route3Restricted = mockk<LineLayer>(relaxed = true)
11531159
val style = mockk<Style> {
1160+
every { styleLayerExists(any()) } returns true
11541161
every {
11551162
getLayer(LAYER_GROUP_1_TRAIL_CASING)
11561163
} returns route1TrailCasing
@@ -1268,6 +1275,7 @@ class MapboxRouteLineViewTest {
12681275
val route3Traffic = mockk<LineLayer>(relaxed = true)
12691276
val route3Restricted = mockk<LineLayer>(relaxed = true)
12701277
val style = mockk<Style> {
1278+
every { styleLayerExists(any()) } returns true
12711279
every {
12721280
getLayer(LAYER_GROUP_1_TRAIL_CASING)
12731281
} returns route1TrailCasing
@@ -1599,6 +1607,7 @@ class MapboxRouteLineViewTest {
15991607
val options = MapboxRouteLineOptions.Builder(ctx).build()
16001608
val waypointLayer = mockk<LineLayer>(relaxed = true)
16011609
val style = mockk<Style> {
1610+
every { styleLayerExists(any()) } returns true
16021611
every { getLayer(WAYPOINT_LAYER_ID) } returns waypointLayer
16031612
}.also {
16041613
mockCheckForLayerInitialization(it)
@@ -1618,6 +1627,7 @@ class MapboxRouteLineViewTest {
16181627
val waypointLayer = mockk<LineLayer>(relaxed = true)
16191628
val options = MapboxRouteLineOptions.Builder(ctx).build()
16201629
val style = mockk<Style> {
1630+
every { styleLayerExists(any()) } returns true
16211631
every { getLayer(WAYPOINT_LAYER_ID) } returns waypointLayer
16221632
}.also {
16231633
mockCheckForLayerInitialization(it)

0 commit comments

Comments
 (0)