@@ -5,7 +5,7 @@ import com.mapbox.maps.Style
55import com.mapbox.maps.StylePropertyValue
66import com.mapbox.maps.StylePropertyValueKind
77import com.mapbox.navigation.base.ExperimentalPreviewMapboxNavigationAPI
8- import com.mapbox.navigation.ui.maps.route.line.api.LightRouteLineValueProvider
8+ import com.mapbox.navigation.ui.maps.route.line.api.LightRouteLineExpressionValueProvider
99import com.mapbox.navigation.ui.maps.route.line.api.LineGradientCommandApplier
1010import com.mapbox.navigation.ui.maps.route.line.api.LineTrimCommandApplier
1111import com.mapbox.navigation.ui.maps.route.line.api.RouteLineCommandApplier
@@ -18,6 +18,7 @@ import com.mapbox.navigation.ui.maps.route.line.model.RouteLineDynamicData
1818import com.mapbox.navigation.ui.maps.route.line.model.RouteLineError
1919import com.mapbox.navigation.ui.maps.route.line.model.RouteLineUpdateValue
2020import com.mapbox.navigation.ui.maps.route.line.model.RouteSetValue
21+ import kotlin.coroutines.CoroutineContext
2122
2223internal fun RouteLineEventData.toRouteLineData (): RouteLineData {
2324 return RouteLineData (
@@ -86,23 +87,25 @@ internal fun RouteLineClearValue.toEventValue(): RouteLineViewRenderRouteLineCle
8687}
8788
8889internal suspend fun RouteSetValue.toEventValue (
90+ workerCoroutineContext : CoroutineContext ,
8991 data : RouteLineViewOptionsData ,
9092): RouteLineViewRenderRouteDrawDataInputValue {
9193 return RouteLineViewRenderRouteDrawDataInputValue (
92- primaryRouteLineData.toData(data),
93- alternativeRouteLinesData.map { it.toData(data) },
94+ primaryRouteLineData.toData(workerCoroutineContext, data),
95+ alternativeRouteLinesData.map { it.toData(workerCoroutineContext, data) },
9496 waypointsSource,
95- routeLineMaskingLayerDynamicData?.toData(data),
97+ routeLineMaskingLayerDynamicData?.toData(workerCoroutineContext, data),
9698 )
9799}
98100
99101internal suspend fun RouteLineUpdateValue.toEventValue (
102+ workerCoroutineContext : CoroutineContext ,
100103 data : RouteLineViewOptionsData ,
101104): RouteLineViewRenderRouteLineUpdateDataValue {
102105 return RouteLineViewRenderRouteLineUpdateDataValue (
103- primaryRouteLineDynamicData?.toData(data),
104- alternativeRouteLinesDynamicData.map { it.toData(data) },
105- routeLineMaskingLayerDynamicData?.toData(data),
106+ primaryRouteLineDynamicData?.toData(workerCoroutineContext, data),
107+ alternativeRouteLinesDynamicData.map { it.toData(workerCoroutineContext, data) },
108+ routeLineMaskingLayerDynamicData?.toData(workerCoroutineContext, data),
106109 )
107110}
108111
@@ -111,26 +114,28 @@ private fun RouteLineError.toEventError(): RouteLineViewDataError {
111114}
112115
113116private suspend fun RouteLineData.toData (
117+ workerCoroutineContext : CoroutineContext ,
114118 data : RouteLineViewOptionsData ,
115119): RouteLineEventData {
116120 return RouteLineEventData (
117121 featureCollection,
118- dynamicData?.toData(data),
122+ dynamicData?.toData(workerCoroutineContext, data),
119123 )
120124}
121125
122126private suspend fun RouteLineDynamicData.toData (
127+ workerCoroutineContext : CoroutineContext ,
123128 data : RouteLineViewOptionsData ,
124129): RouteLineDynamicEventData {
125130 return RouteLineDynamicEventData (
126- baseExpressionCommandHolder.toRouteLineExpressionEventData(data),
127- casingExpressionCommandHolder.toRouteLineExpressionEventData(data),
128- trafficExpressionCommandHolder?.toRouteLineExpressionEventData(data),
129- restrictedSectionExpressionCommandHolder?.toRouteLineExpressionEventData(data),
131+ baseExpressionCommandHolder.toRouteLineExpressionEventData(workerCoroutineContext, data),
132+ casingExpressionCommandHolder.toRouteLineExpressionEventData(workerCoroutineContext, data),
133+ trafficExpressionCommandHolder?.toRouteLineExpressionEventData(workerCoroutineContext, data),
134+ restrictedSectionExpressionCommandHolder?.toRouteLineExpressionEventData(workerCoroutineContext, data),
130135 trimOffset,
131- trailExpressionCommandHolder?.toRouteLineExpressionEventData(data),
132- trailCasingExpressionCommandHolder?.toRouteLineExpressionEventData(data),
133- blurExpressionCommandHolder?.toRouteLineExpressionEventData(data),
136+ trailExpressionCommandHolder?.toRouteLineExpressionEventData(workerCoroutineContext, data),
137+ trailCasingExpressionCommandHolder?.toRouteLineExpressionEventData(workerCoroutineContext, data),
138+ blurExpressionCommandHolder?.toRouteLineExpressionEventData(workerCoroutineContext, data),
134139 )
135140}
136141
@@ -142,7 +147,7 @@ private fun RouteLineExpressionEventData.toHolder(): RouteLineValueCommandHolder
142147 // deprecated
143148 " line-trim-offset" -> {
144149 RouteLineValueCommandHolder (
145- LightRouteLineValueProvider {
150+ LightRouteLineExpressionValueProvider {
146151 StylePropertyValue (expression!! , StylePropertyValueKind .EXPRESSION )
147152 },
148153 object : RouteLineCommandApplier <StylePropertyValue >() {
@@ -163,17 +168,17 @@ private fun RouteLineExpressionEventData.toHolder(): RouteLineValueCommandHolder
163168
164169 " line-trim-end" -> {
165170 RouteLineValueCommandHolder (
166- LightRouteLineValueProvider { value!! },
171+ LightRouteLineExpressionValueProvider { value!! },
167172 LineTrimCommandApplier (),
168173 )
169174 }
170175
171176 " line-gradient" -> {
172177 RouteLineValueCommandHolder (
173178 if (value != null ) {
174- LightRouteLineValueProvider { value!! }
179+ LightRouteLineExpressionValueProvider { value!! }
175180 } else {
176- LightRouteLineValueProvider {
181+ LightRouteLineExpressionValueProvider {
177182 StylePropertyValue (expression!! , StylePropertyValueKind .EXPRESSION )
178183 }
179184 },
0 commit comments