|
1 | 1 | package com.mapbox.navigation.core.trip.session.eh |
2 | 2 |
|
3 | 3 | import com.mapbox.navigation.base.internal.factory.EHorizonFactory |
| 4 | +import com.mapbox.navigation.base.internal.performance.PerformanceTracker |
4 | 5 | import com.mapbox.navigation.base.trip.model.eh.EHorizonPosition |
5 | 6 | import com.mapbox.navigation.base.trip.model.roadobject.distanceinfo.RoadObjectDistanceInfo |
6 | 7 | import com.mapbox.navigation.navigator.internal.MapboxNativeNavigator |
@@ -47,17 +48,19 @@ internal class EHorizonSubscriptionManagerImpl( |
47 | 48 | distances: MutableList<com.mapbox.navigator.RoadObjectDistance>, |
48 | 49 | ) { |
49 | 50 | mainJobController.scope.launch { |
50 | | - val eHorizonPosition = EHorizonFactory.buildEHorizonPosition(position) |
51 | | - val eHorizonDistances = mutableListOf<RoadObjectDistanceInfo>() |
52 | | - distances.forEach { |
53 | | - eHorizonDistances.add(EHorizonFactory.buildRoadObjectDistance(it)) |
54 | | - } |
55 | | - |
56 | | - currentPosition = eHorizonPosition |
57 | | - currentDistances = eHorizonDistances |
58 | | - |
59 | | - notifyAllObservers { |
60 | | - onPositionUpdated(eHorizonPosition, eHorizonDistances) |
| 51 | + PerformanceTracker.trackPerformanceSync("EHorizon.onPositionUpdated") { |
| 52 | + val eHorizonPosition = EHorizonFactory.buildEHorizonPosition(position) |
| 53 | + val eHorizonDistances = mutableListOf<RoadObjectDistanceInfo>() |
| 54 | + distances.forEach { |
| 55 | + eHorizonDistances.add(EHorizonFactory.buildRoadObjectDistance(it)) |
| 56 | + } |
| 57 | + |
| 58 | + currentPosition = eHorizonPosition |
| 59 | + currentDistances = eHorizonDistances |
| 60 | + |
| 61 | + notifyAllObservers { |
| 62 | + onPositionUpdated(eHorizonPosition, eHorizonDistances) |
| 63 | + } |
61 | 64 | } |
62 | 65 | } |
63 | 66 | } |
@@ -138,8 +141,10 @@ internal class EHorizonSubscriptionManagerImpl( |
138 | 141 |
|
139 | 142 | private fun notifyAllObservers(action: suspend EHorizonObserver.() -> Unit) { |
140 | 143 | mainJobController.scope.launch { |
141 | | - eHorizonObservers.forEach { |
142 | | - it.action() |
| 144 | + PerformanceTracker.trackPerformanceSync("EHorizon.notifyAllObservers") { |
| 145 | + eHorizonObservers.forEach { |
| 146 | + it.action() |
| 147 | + } |
143 | 148 | } |
144 | 149 | } |
145 | 150 | } |
|
0 commit comments