@@ -17,6 +17,8 @@ import com.mapbox.navigation.base.internal.metric.extractEventsNames
17
17
import com.mapbox.navigation.base.metrics.MetricEvent
18
18
import com.mapbox.navigation.base.metrics.MetricsObserver
19
19
import com.mapbox.navigation.base.metrics.MetricsReporter
20
+ import com.mapbox.navigation.metrics.events.EventsServiceInterfacesManager
21
+ import com.mapbox.navigation.metrics.events.TelemetryEventsProvider
20
22
import com.mapbox.navigation.metrics.internal.EventsServiceProvider
21
23
import com.mapbox.navigation.metrics.internal.TelemetryServiceProvider
22
24
import com.mapbox.navigation.metrics.internal.TelemetryUtilsDelegate
@@ -34,7 +36,7 @@ object MapboxMetricsReporter : MetricsReporter {
34
36
private const val LOG_CATEGORY = " MapboxMetricsReporter"
35
37
36
38
private val gson = Gson ()
37
- private lateinit var eventsService : EventsServiceInterface
39
+ private lateinit var eventsManager : EventsServiceInterfacesManager
38
40
private lateinit var telemetryService: TelemetryService
39
41
40
42
@Volatile
@@ -84,10 +86,10 @@ object MapboxMetricsReporter : MetricsReporter {
84
86
userAgent : String
85
87
) {
86
88
isTelemetryInitialized = true
89
+ eventsManager = TelemetryEventsProvider .getOrCreateTelemetryEventsManager(accessToken)
87
90
val eventsServerOptions = EventsServerOptions (accessToken, userAgent, null )
88
- eventsService = EventsServiceProvider .provideEventsService(eventsServerOptions)
89
91
telemetryService = TelemetryServiceProvider .provideTelemetryService(eventsServerOptions)
90
- eventsService .registerObserver(eventsServiceObserver)
92
+ eventsManager.nativeEventsServiceInterface .registerObserver(eventsServiceObserver)
91
93
}
92
94
93
95
/* *
@@ -109,7 +111,7 @@ object MapboxMetricsReporter : MetricsReporter {
109
111
fun disable () {
110
112
isTelemetryInitialized = false
111
113
removeObserver()
112
- eventsService .unregisterObserver(eventsServiceObserver)
114
+ eventsManager.nativeEventsServiceInterface .unregisterObserver(eventsServiceObserver)
113
115
ioJobController.job.cancelChildren()
114
116
}
115
117
@@ -125,7 +127,7 @@ object MapboxMetricsReporter : MetricsReporter {
125
127
)
126
128
return
127
129
}
128
- eventsService .sendEvent(
130
+ eventsManager.nativeEventsServiceInterface .sendEvent(
129
131
Event (eventsPriority, metricEvent.toValue(), null )
130
132
) {
131
133
if (it != null ) {
@@ -144,7 +146,7 @@ object MapboxMetricsReporter : MetricsReporter {
144
146
*/
145
147
override fun sendTurnstileEvent (turnstileEvent : TurnstileEvent ) {
146
148
ifTelemetryIsRunning {
147
- eventsService .sendTurnstileEvent(turnstileEvent) {
149
+ eventsManager.nativeEventsServiceInterface .sendTurnstileEvent(turnstileEvent) {
148
150
if (it != null ) {
149
151
logE(" Failed to send Turnstile event: $it " , LOG_CATEGORY )
150
152
}
@@ -170,14 +172,14 @@ object MapboxMetricsReporter : MetricsReporter {
170
172
* Register [EventsServiceObserver]
171
173
*/
172
174
fun registerEventsServiceObserver (observer : EventsServiceObserver ) {
173
- eventsService .registerObserver(observer)
175
+ eventsManager.nativeEventsServiceInterface .registerObserver(observer)
174
176
}
175
177
176
178
/* *
177
179
* Unregister [EventsServiceObserver]
178
180
*/
179
181
fun unregisterEventsServiceObserver (observer : EventsServiceObserver ) {
180
- eventsService .unregisterObserver(observer)
182
+ eventsManager.nativeEventsServiceInterface .unregisterObserver(observer)
181
183
}
182
184
183
185
private inline fun ifTelemetryIsRunning (func : () -> Unit ) {
0 commit comments