[6.5.0][道路事件][视角切换] 优化道路ID数据回调逻辑

This commit is contained in:
renwj
2024-07-16 19:50:28 +08:00
parent 12210f1dc4
commit b901eb527c
2 changed files with 3 additions and 40 deletions

View File

@@ -32,17 +32,14 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener
import com.mogo.eagle.core.function.api.autopilot.IMoGoV2XListener
import com.mogo.eagle.core.function.api.cloud.IMoGoCloudListener
import com.mogo.eagle.core.function.api.map.road.IMoGoMapRoadListener
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.CallerChassisLocationGCJ02ListenerManager
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationWGS84ListenerManager
import com.mogo.eagle.core.function.call.autopilot.CallerV2XListenerManager
import com.mogo.eagle.core.function.call.autopilot.CallerV2XListenerManager.V2NCarTypeCheck.Companion.verifyCarType
import com.mogo.eagle.core.function.call.cloud.CallerCloudListenerManager
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
import com.mogo.eagle.core.function.call.map.CallerMapRoadListenerManager
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager
import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
@@ -61,7 +58,6 @@ import com.mogo.eagle.function.biz.v2x.v2n.receiver.SceneBroadcastReceiver
import com.mogo.eagle.function.biz.v2x.v2n.scenario.impl.V2XScenarioManager
import com.mogo.eagle.function.biz.v2x.v2n.utils.V2XEventAnalyticsManager
import com.mogo.eagle.function.biz.v2x.v2n.utils.toRoadMarker
import com.zhidaoauto.map.data.road.StopLine
import com.zhjt.service.chain.ChainLog
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
@@ -79,7 +75,7 @@ import java.util.concurrent.atomic.AtomicReference
object V2XEventManager : IMoGoChassisLocationGCJ02Listener, IV2XCallback,
IMoGoAutopilotIdentifyListener, IMoGoCloudListener,
IMoGoV2XListener, IMoGoAutopilotStatusListener, IMoGoMapRoadListener {
IMoGoV2XListener, IMoGoAutopilotStatusListener {
private const val TAG = "V2XEventManager"
@@ -108,39 +104,9 @@ object V2XEventManager : IMoGoChassisLocationGCJ02Listener, IV2XCallback,
v2xPoiLoader.startLoopPoi()
// 注册广播接收场景弹窗使用的
SceneBroadcastReceiver.register(context)
CallerMapRoadListenerManager.addListener(TAG, this)
}
}
override fun onRoadIdInfo(roadId: String) {
super.onRoadIdInfo(roadId)
Log.d(TAG, "--- onRoadIdInfo ---: $roadId")
this.roadId = roadId
val enterCrossRoadId = this.roadIdWithEnterCross
if (hasCrossRoad && roadId.isNotBlank() && enterCrossRoadId.isNotBlank() && enterCrossRoadId != roadId) {
hasCrossRoad = false
if (firstLocationInCross.get() == null) {
Log.d(TAG, "--- onRoadIdInfo --- 1 ---: $roadId")
firstLocationInCross.set(CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84())
}
}
}
override fun onStopLineInfo(info: StopLine) {
super.onStopLineInfo(info)
Log.d(TAG, "--- onStopLineInfo --- 1 ---: ${ info.distance }")
if (!hasCrossRoad && info.distance <= 10) {
Log.d(TAG, "--- onStopLineInfo --- 2 ---: $roadId")
hasCrossRoad = true
roadIdWithEnterCross = this.roadId
firstLocationInCross.set(null)
}
}
fun getFirstLocationInCross(): MogoLocation? {
return firstLocationInCross.get()
}
private fun registerListener() {
CallerChassisLocationGCJ02ListenerManager.addListener(TAG, 1, this)
v2xPoiLoader.addCallback(this)
@@ -363,7 +329,6 @@ object V2XEventManager : IMoGoChassisLocationGCJ02Listener, IV2XCallback,
unRegisterListener()
}
v2xPoiLoader.stopLoopPoi()
CallerMapRoadListenerManager.removeListener(TAG)
}
}

View File

@@ -242,10 +242,8 @@ class AMapViewWrapper(mMapView: MapAutoView) : IMogoMapView, IMogoMapUIControlle
* @param laneId
*/
override fun onRoadIdInfo(roadId: String?, laneId: String?) {
handler.post {
if (roadId != null && !TextUtils.isEmpty(roadId)) {
invokeListenersOnRoadIdGet(roadId)
}
if (roadId != null && !TextUtils.isEmpty(roadId)) {
invokeListenersOnRoadIdGet(roadId)
}
}