From 0333bc9d6b6476de4b98e887efd8e0a4ed712c97 Mon Sep 17 00:00:00 2001 From: chenfufeng Date: Mon, 15 Jul 2024 18:22:08 +0800 Subject: [PATCH 1/5] =?UTF-8?q?[6.5.0][Opt]=E6=B7=BB=E5=8A=A0=E4=B8=80?= =?UTF-8?q?=E4=BA=9B=E7=BD=91=E7=BB=9C=E8=AF=B7=E6=B1=82=E7=9A=84=E6=97=A5?= =?UTF-8?q?=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/eagle/core/function/view/TravelRealityView.kt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/TravelRealityView.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/TravelRealityView.kt index 47383c153e..842534393a 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/TravelRealityView.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/TravelRealityView.kt @@ -367,6 +367,7 @@ class TravelRealityView @JvmOverloads constructor( private fun advanceRequest() { isRoadTrackReq = true + Log.d(TAG, "请求获取智慧导致轨迹!") // 获取智慧道路轨迹 travelNetWorkModel.getCityRoadTrack(onSuccess = { Log.d(TAG, "Road track result is:$it") @@ -661,6 +662,7 @@ class TravelRealityView @JvmOverloads constructor( } private fun reqCrossLive(ipList: MutableList) { + Log.d(TAG, "请求获取缩略图!") ndeRoadCameraNetWorkModel.batchRequestCrossLive(ipList, onSuccess = { val liveOptionsList = ArrayList() var markerOption: MarkerOptions @@ -1076,6 +1078,7 @@ class TravelRealityView @JvmOverloads constructor( reqData = pointList handleGlobalPath(pointList) + Log.d(TAG, "请求获取路口设备!") // 获取路口设备 travelNetWorkModel.getCrossDevice(onSuccess = { Log.d(TAG, "Cross device result is:$it") @@ -1084,6 +1087,7 @@ class TravelRealityView @JvmOverloads constructor( }, onError = { Log.d(TAG, "Cross device error is:$it") }) + Log.d(TAG, "请求获取道路事件!") // 获取道路事件 val cityCode = CallerMapUIServiceManager.getCityCode() ?: "0734" travelNetWorkModel.getEventsWithTrajRequest( From 94de2bf3222c627008277f40e93d51543e8a9eff Mon Sep 17 00:00:00 2001 From: renwj Date: Mon, 15 Jul 2024 19:41:04 +0800 Subject: [PATCH 2/5] =?UTF-8?q?[6.5.0][=E9=81=93=E8=B7=AF=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6]=20=E4=BC=98=E5=8C=96=E8=B7=AF=E5=8F=A3=E8=A7=86?= =?UTF-8?q?=E8=A7=92=E5=88=87=E6=8D=A2=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../angle/MoGoVisualAngleChangeProvider.kt | 56 +++++++++++++------ 1 file changed, 39 insertions(+), 17 deletions(-) diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/MoGoVisualAngleChangeProvider.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/MoGoVisualAngleChangeProvider.kt index a7734a2868..d947b3ea98 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/MoGoVisualAngleChangeProvider.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/MoGoVisualAngleChangeProvider.kt @@ -17,6 +17,7 @@ import com.mogo.eagle.core.function.api.map.road.IMoGoMapRoadListener import com.mogo.eagle.core.function.call.autopilot.* import com.mogo.eagle.core.function.call.map.* import com.mogo.eagle.core.utilcode.kotlin.* +import com.mogo.map.MapDataWrapper import com.zhidaoauto.map.data.road.StopLine import com.zhidaoauto.map.sdk.open.common.tools.MapTools import kotlinx.coroutines.* @@ -45,14 +46,15 @@ class MoGoVisualAngleChangeProvider: IMoGoVisualAngleChangeProvider { private val listener = object : IMoGoMapRoadListener { private val roadId = AtomicReference() private val triggerRoadId = AtomicReference() - + private var inCrossRoad = false override fun onRoadIdInfo(roadId: String) { this.roadId.set(roadId) Log.d(TAG, "-- onRoadIdInfo --: prev: ${this.triggerRoadId.get()} -> curr: $roadId") - val loc = CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02() + val loc = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84() var triggerClose = false - val distance = distanceOfCarToStopLine.get() + 5 + var distance = distanceOfCarToStopLine.get() if (hasCrossRoad && distance > 0) { + distance += 3.0 val prev = triggerLocation.get() if (prev != null) { travelled.set(MapTools.distance(loc.longitude, loc.latitude, prev.longitude, prev.latitude) + travelled.get()) @@ -60,19 +62,34 @@ class MoGoVisualAngleChangeProvider: IMoGoVisualAngleChangeProvider { } val oldRoadId = triggerRoadId.get() Log.d(TAG, "-- onRoadIdInfo --: travelled --: ${travelled.get()}") - if ((travelled.get() > distance) && oldRoadId != roadId) { - distanceOfCarToStopLine.set(0.0) - hasCrossRoad = false - triggerRoadId.set(null) - travelled.set(0.0) - triggerLocation.set(null) - Log.d(TAG, "-- onRoadIdInfo --: trigger close --") - triggerClose = true + if ((travelled.get() > distance)) { + val cross = MapDataWrapper.getCrossRoad(loc.longitude, loc.latitude, loc.heading) + Log.d(TAG, "-- onRoadIdInfo --: cross --: ${cross?.status}") + if (cross?.status == 1) { + if (!inCrossRoad) { + inCrossRoad = true + } + } else { + if (inCrossRoad) { + triggerClose = true + } + if (!triggerClose && roadId != "0" && oldRoadId != null && oldRoadId != roadId) { + triggerClose = true + } + } + + if (triggerClose) { + Log.d(TAG, "-- onRoadIdInfo --: trigger close --") + distanceOfCarToStopLine.set(0.0) + hasCrossRoad = false + triggerRoadId.set(null) + travelled.set(0.0) + triggerLocation.set(null) + inCrossRoad = false + changeScene(Default()) + } } } - if (triggerClose) { - changeScene(Default()) - } } @@ -80,11 +97,16 @@ class MoGoVisualAngleChangeProvider: IMoGoVisualAngleChangeProvider { Log.d(TAG, "-- onStopLineInfo --: ${info.distance}") if (!hasCrossRoad && info.distance <= 80.0) { hasCrossRoad = true - triggerRoadId.set(this.roadId.get()) - distanceOfCarToStopLine.set(info.distance) - triggerLocation.set(CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02()) changeScene(CrossRoad(2)) } + if (hasCrossRoad && triggerRoadId.get() == null && info.distance <= 20) { + val roadId = this.roadId.get() + if (roadId != null && roadId != "0") { + triggerRoadId.set(this.roadId.get()) + distanceOfCarToStopLine.set(info.distance) + triggerLocation.set(CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84()) + } + } } } From 4522dc2ec4a09660bdee17e5ddb29bb313a819c6 Mon Sep 17 00:00:00 2001 From: renwj Date: Mon, 15 Jul 2024 19:41:41 +0800 Subject: [PATCH 3/5] =?UTF-8?q?[6.5.0][=E9=81=93=E8=B7=AF=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6]=20ui=E8=B5=B0=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../function/biz/v2x/v2n/scenario/scene/airoad/AiRoadMarker.kt | 2 +- .../src/main/res/drawable/bg_green_wave_driver.xml | 2 +- .../src/main/res/drawable/bg_green_wave_passenger.xml | 2 +- .../src/main/res/layout/view_green_wave_driver_layout.xml | 2 ++ .../src/main/res/layout/view_green_wave_passenger_layout.xml | 2 ++ .../mapmodule/src/main/assets/shaders/fSelfCar_Shader.glsl | 2 -- 6 files changed, 7 insertions(+), 5 deletions(-) diff --git a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/scenario/scene/airoad/AiRoadMarker.kt b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/scenario/scene/airoad/AiRoadMarker.kt index d27373bc91..1d0f038c63 100644 --- a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/scenario/scene/airoad/AiRoadMarker.kt +++ b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/scenario/scene/airoad/AiRoadMarker.kt @@ -115,7 +115,7 @@ class AiRoadMarker { .longitude(marker.poi_lon) .latitude(marker.poi_lat) if (marker.poiType == EventTypeEnumNew.TYPE_SOCKET_ROAD_PEOPLE_CROSS.poiType) { - builder.anchorColor("#D6E1BA9A") + builder.anchorColor("#FFE1BA9A") } CallerMapUIServiceManager.getOverlayManager()?.showOrUpdatePoint(builder.build())?.let { p -> if (!markerIds.contains(markerId)) { diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_green_wave_driver.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_green_wave_driver.xml index 90ed9a6e67..4bf9d4c74a 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_green_wave_driver.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_green_wave_driver.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_green_wave_passenger.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_green_wave_passenger.xml index 3bea23da6e..192997148f 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_green_wave_passenger.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_green_wave_passenger.xml @@ -1,7 +1,7 @@ - + diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_green_wave_driver_layout.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_green_wave_driver_layout.xml index e1a921c747..713b665996 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_green_wave_driver_layout.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_green_wave_driver_layout.xml @@ -25,6 +25,7 @@ android:layout_marginBottom="-5dp" android:textColor="#43D1AB" android:textSize="@dimen/sp_34" + android:fontFamily="@font/font_din" tools:text="56" /> Date: Mon, 15 Jul 2024 19:42:24 +0800 Subject: [PATCH 4/5] =?UTF-8?q?[6.5.0][=E9=81=93=E8=B7=AF=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6]=20=E4=BC=98=E5=8C=96=E6=B5=8B=E8=AF=95=E7=94=A8?= =?UTF-8?q?=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mogo/functions/test/V2NTest.kt | 4 +-- .../biz/v2x/v2n/pnc/V2NIdentifyDrawer.kt | 26 +++++++++---------- .../autopilot/telematic/TeleMsgHandler.kt | 20 +++++++++++++- 3 files changed, 34 insertions(+), 16 deletions(-) diff --git a/app/src/androidTest/java/com/mogo/functions/test/V2NTest.kt b/app/src/androidTest/java/com/mogo/functions/test/V2NTest.kt index d8f62f3763..78f15e375f 100644 --- a/app/src/androidTest/java/com/mogo/functions/test/V2NTest.kt +++ b/app/src/androidTest/java/com/mogo/functions/test/V2NTest.kt @@ -249,7 +249,7 @@ class V2NTest { CallerTelematicManager.sendMsgToAllClients(TelematicConstant.V2N_AI_ROAD_PEOPLE_CROSS, data.toByteArray()) CallerV2nNioEventListenerManager.invokeV2nNioCrossoverEvent(data) delay(50) - newPoint = DrivingDirectionUtils.calculateNewPoint(newPoint.first, newPoint.second, targetHeading, 0.1) + newPoint = DrivingDirectionUtils.calculateNewPoint(newPoint.first, newPoint.second, targetHeading, 1.0) } delay(TimeUnit.MINUTES.toMillis(10)) } @@ -289,7 +289,7 @@ class V2NTest { Log.d(TAG, "2 -- > target_distance: $targetDistance, current distance: $distance") var newPoint = DrivingDirectionUtils.calculateNewPoint(car.longitude, car.latitude, car.heading , eventDistance) Log.d(TAG, "location:[x:${targetX}, y:${targetY}, new_location:[x:${newPoint.first}, y:${newPoint.second}]") - val eventId = "yyyyyyyyyyyyy" + val eventId = System.currentTimeMillis().toString() CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters(AutopilotControlParameters().also { it.autoPilotLine = AutoPilotLine(10L, "", "","", "", System.currentTimeMillis(), "") }) diff --git a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/pnc/V2NIdentifyDrawer.kt b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/pnc/V2NIdentifyDrawer.kt index 2f3d1b4eaa..291108a3b9 100644 --- a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/pnc/V2NIdentifyDrawer.kt +++ b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/pnc/V2NIdentifyDrawer.kt @@ -497,19 +497,19 @@ internal object V2NIdentifyDrawer: IEventDismissListener { } private fun computeCrossCountBetween(start: Triple, end: kotlin.Pair): Int { - val points = V2NUtils.generateIntermediatePoints(kotlin.Pair(start.first, start.second), end, 50.0 * 1e-7) - V2XBizTrace.onAck(points, "computeCrossCountBetween", true) - var crossId = MapDataWrapper.getCrossRoad(start.first, start.second, start.third)?.cross_id - val angle = start.third - var count = 1 - for (p in points) { - val crossRoad = MapDataWrapper.getCrossRoad(p.first, p.second, angle) - if (crossRoad != null && !TextUtils.isEmpty(crossRoad.cross_id) && !TextUtils.equals(crossId, crossRoad.cross_id)) { - count++ - crossId = crossRoad.cross_id - } - } - return count +// val points = V2NUtils.generateIntermediatePoints(kotlin.Pair(start.first, start.second), end, 50.0 * 1e-7) +// V2XBizTrace.onAck(points, "computeCrossCountBetween", true) +// var crossId = MapDataWrapper.getCrossRoad(start.first, start.second, start.third)?.cross_id +// val angle = start.third +// var count = 0 +// for (p in points) { +// val crossRoad = MapDataWrapper.getCrossRoad(p.first, p.second, angle) +// if (crossRoad != null && !TextUtils.isEmpty(crossRoad.cross_id) && !TextUtils.equals(crossId, crossRoad.cross_id)) { +// count++ +// crossId = crossRoad.cross_id +// } +// } + return 1 } private fun getAlertContent(poiType: String, distance: Double): String { diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/telematic/TeleMsgHandler.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/telematic/TeleMsgHandler.kt index b277f967e6..6bcc217bf5 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/telematic/TeleMsgHandler.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/telematic/TeleMsgHandler.kt @@ -6,6 +6,8 @@ import androidx.lifecycle.lifecycleScope import com.google.protobuf.TextFormat import com.mogo.commons.storage.SharedPrefsMgr import com.mogo.eagle.core.data.app.AppConfigInfo +import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters +import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters.AutoPilotLine import com.mogo.eagle.core.data.biz.trafficlight.TrafficLightResult import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.config.HmiBuildConfig @@ -16,6 +18,7 @@ import com.mogo.eagle.core.data.v2x.V2XEvent.RoadEventX import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager.setDemoMode import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager.setIgnoreConditionDraw +import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotIdentifyListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerV2nNioEventListenerManager import com.mogo.eagle.core.function.call.cloud.CallerCloudListenerManager @@ -66,7 +69,7 @@ class TeleMsgHandler : IMsgHandler { private var listener: EventListener? = null override fun handleMsgFromServer(msg: MogoProtocolMsg?, channel: Channel?) { - msg?.let { + msg?.let { it -> if (it.protocolType == TelematicConstant.V2N_AI_ROAD_DATA_TO_PASSENGER) { try { Log.d(TAG, "乘客屏收到司机屏转发云端下发的V2N事件 --- 1 ---") @@ -84,6 +87,9 @@ class TeleMsgHandler : IMsgHandler { if (it.protocolType == TelematicConstant.V2N_AI_ROAD_PEOPLE_CROSS) { runCatching { + CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters(AutopilotControlParameters().also { itx -> + itx.autoPilotLine = AutoPilotLine(10L, "", "","", "", System.currentTimeMillis(), "") + }) Log.d(TAG, "乘客屏收到司机屏转发云端下发的行人/非机动车横穿事件 --- 1 ---") CallerV2nNioEventListenerManager.invokeV2nNioCrossoverEvent(MessagePad.Event.parseFrom(msg.body)) Log.d(TAG, "乘客屏收到司机屏转发云端下发的行人/非机动车横穿事件 --- 2 ---") @@ -93,6 +99,9 @@ class TeleMsgHandler : IMsgHandler { if (it.protocolType == TelematicConstant.V2N_AI_ROAD_GREEN_WAVE) { runCatching { Log.d(TAG, "乘客屏收到司机屏转发云端下发的绿波通行 --- 1 ---") + CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters(AutopilotControlParameters().also { itx -> + itx.autoPilotLine = AutoPilotLine(10L, "", "","", "", System.currentTimeMillis(), "") + }) CallerV2nNioEventListenerManager.invokeV2nNioGreenWavePassageEvent(MessagePad.V2nCrossSpeed.parseFrom(msg.body)) Log.d(TAG, "乘客屏收到司机屏转发云端下发的绿波通行 --- 2 ---") } @@ -101,6 +110,9 @@ class TeleMsgHandler : IMsgHandler { if (it.protocolType == TelematicConstant.V2N_AI_ROAD_OTHER_RETROGRADE_VEHICLE) { runCatching { Log.d(TAG, "乘客屏收到司机屏转发云端下发的他车逆行 --- 1 ---") + CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters(AutopilotControlParameters().also { itx -> + itx.autoPilotLine = AutoPilotLine(10L, "", "","", "", System.currentTimeMillis(), "") + }) CallerV2nNioEventListenerManager.invokeV2nNioOtherRetrogradeEvent(MessagePad.Event.parseFrom(msg.body)) Log.d(TAG, "乘客屏收到司机屏转发云端下发的他车逆行 --- 2 ---") } @@ -108,6 +120,9 @@ class TeleMsgHandler : IMsgHandler { } if (it.protocolType == TelematicConstant.V2N_AI_ROAD_SHI_GONG) { runCatching { + CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters(AutopilotControlParameters().also { itx -> + itx.autoPilotLine = AutoPilotLine(10L, "", "","", "", System.currentTimeMillis(), "") + }) Log.d(TAG, "乘客屏收到司机屏转发云端下发的道路施工 --- 1 ---") CallerAutopilotIdentifyListenerManager.invokeAutopilotIdentifyDataUpdate(Collections.singletonList(TrackedObject.parseFrom(msg.body))) Log.d(TAG, "乘客屏收到司机屏转发云端下发的道路施工 --- 2 ---") @@ -116,6 +131,9 @@ class TeleMsgHandler : IMsgHandler { } if (it.protocolType == TelematicConstant.V2N_AI_ROAD_SHI_GU) { runCatching { + CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters(AutopilotControlParameters().also { itx -> + itx.autoPilotLine = AutoPilotLine(10L, "", "","", "", System.currentTimeMillis(), "") + }) Log.d(TAG, "乘客屏收到司机屏转发云端下发的道路事故 --- 1 ---") CallerAutopilotIdentifyListenerManager.invokeAutopilotIdentifyDataUpdate(Collections.singletonList(TrackedObject.parseFrom(msg.body))) Log.d(TAG, "乘客屏收到司机屏转发云端下发的道路事故 --- 2 ---") From 607b48a9d0833a8eefad1ce4f88f989250d604e4 Mon Sep 17 00:00:00 2001 From: renwj Date: Mon, 15 Jul 2024 19:50:35 +0800 Subject: [PATCH 5/5] =?UTF-8?q?[6.5.0][=E9=81=93=E8=B7=AF=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6]=20=E9=80=BB=E8=BE=91=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../angle/MoGoVisualAngleChangeProvider.kt | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/MoGoVisualAngleChangeProvider.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/MoGoVisualAngleChangeProvider.kt index d947b3ea98..ab544b13de 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/MoGoVisualAngleChangeProvider.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/MoGoVisualAngleChangeProvider.kt @@ -35,18 +35,19 @@ class MoGoVisualAngleChangeProvider: IMoGoVisualAngleChangeProvider { private val listeners by lazy { ConcurrentHashMap>() } - private val triggerLocation = AtomicReference() - - private val distanceOfCarToStopLine = AtomicReference(0.0) - - private val travelled by lazy { AtomicReference(0.0) } - private val prevScene by lazy { AtomicReference() } private val listener = object : IMoGoMapRoadListener { private val roadId = AtomicReference() private val triggerRoadId = AtomicReference() + @Volatile private var inCrossRoad = false + @Volatile + private var hasCrossRoad = false + private val distanceOfCarToStopLine = AtomicReference(0.0) + private val triggerLocation = AtomicReference() + private val travelled by lazy { AtomicReference(0.0) } + override fun onRoadIdInfo(roadId: String) { this.roadId.set(roadId) Log.d(TAG, "-- onRoadIdInfo --: prev: ${this.triggerRoadId.get()} -> curr: $roadId") @@ -132,9 +133,6 @@ class MoGoVisualAngleChangeProvider: IMoGoVisualAngleChangeProvider { CallerMapRoadListenerManager.addListener(TAG, listener) } - @Volatile - private var hasCrossRoad = false - private var scope: CoroutineScope = acquireScope() private fun acquireScope(): CoroutineScope {