@@ -17,6 +17,8 @@ import com.mapbox.navigation.base.internal.metric.extractEventsNames
1717import com.mapbox.navigation.base.metrics.MetricEvent
1818import com.mapbox.navigation.base.metrics.MetricsObserver
1919import com.mapbox.navigation.base.metrics.MetricsReporter
20+ import com.mapbox.navigation.metrics.events.EventsServiceInterfacesManager
21+ import com.mapbox.navigation.metrics.events.TelemetryEventsProvider
2022import com.mapbox.navigation.metrics.internal.EventsServiceProvider
2123import com.mapbox.navigation.metrics.internal.TelemetryServiceProvider
2224import com.mapbox.navigation.metrics.internal.TelemetryUtilsDelegate
@@ -34,7 +36,7 @@ object MapboxMetricsReporter : MetricsReporter {
3436 private const val LOG_CATEGORY = " MapboxMetricsReporter"
3537
3638 private val gson = Gson ()
37- private lateinit var eventsService : EventsServiceInterface
39+ private lateinit var eventsManager : EventsServiceInterfacesManager
3840 private lateinit var telemetryService: TelemetryService
3941
4042 @Volatile
@@ -84,10 +86,10 @@ object MapboxMetricsReporter : MetricsReporter {
8486 userAgent : String
8587 ) {
8688 isTelemetryInitialized = true
89+ eventsManager = TelemetryEventsProvider .getOrCreateTelemetryEventsManager(accessToken)
8790 val eventsServerOptions = EventsServerOptions (accessToken, userAgent, null )
88- eventsService = EventsServiceProvider .provideEventsService(eventsServerOptions)
8991 telemetryService = TelemetryServiceProvider .provideTelemetryService(eventsServerOptions)
90- eventsService .registerObserver(eventsServiceObserver)
92+ eventsManager.nativeEventsServiceInterface .registerObserver(eventsServiceObserver)
9193 }
9294
9395 /* *
@@ -109,7 +111,7 @@ object MapboxMetricsReporter : MetricsReporter {
109111 fun disable () {
110112 isTelemetryInitialized = false
111113 removeObserver()
112- eventsService .unregisterObserver(eventsServiceObserver)
114+ eventsManager.nativeEventsServiceInterface .unregisterObserver(eventsServiceObserver)
113115 ioJobController.job.cancelChildren()
114116 }
115117
@@ -125,7 +127,7 @@ object MapboxMetricsReporter : MetricsReporter {
125127 )
126128 return
127129 }
128- eventsService .sendEvent(
130+ eventsManager.nativeEventsServiceInterface .sendEvent(
129131 Event (eventsPriority, metricEvent.toValue(), null )
130132 ) {
131133 if (it != null ) {
@@ -144,7 +146,7 @@ object MapboxMetricsReporter : MetricsReporter {
144146 */
145147 override fun sendTurnstileEvent (turnstileEvent : TurnstileEvent ) {
146148 ifTelemetryIsRunning {
147- eventsService .sendTurnstileEvent(turnstileEvent) {
149+ eventsManager.nativeEventsServiceInterface .sendTurnstileEvent(turnstileEvent) {
148150 if (it != null ) {
149151 logE(" Failed to send Turnstile event: $it " , LOG_CATEGORY )
150152 }
@@ -170,14 +172,14 @@ object MapboxMetricsReporter : MetricsReporter {
170172 * Register [EventsServiceObserver]
171173 */
172174 fun registerEventsServiceObserver (observer : EventsServiceObserver ) {
173- eventsService .registerObserver(observer)
175+ eventsManager.nativeEventsServiceInterface .registerObserver(observer)
174176 }
175177
176178 /* *
177179 * Unregister [EventsServiceObserver]
178180 */
179181 fun unregisterEventsServiceObserver (observer : EventsServiceObserver ) {
180- eventsService .unregisterObserver(observer)
182+ eventsManager.nativeEventsServiceInterface .unregisterObserver(observer)
181183 }
182184
183185 private inline fun ifTelemetryIsRunning (func : () -> Unit ) {
0 commit comments