diff --git a/OCH/taxi/unmanned-passenger/src/main/res/layout/taxt_u_p_base_fragment.xml b/OCH/taxi/unmanned-passenger/src/main/res/layout/taxt_u_p_base_fragment.xml
index a8dc0fe8f9..c6280e5f48 100644
--- a/OCH/taxi/unmanned-passenger/src/main/res/layout/taxt_u_p_base_fragment.xml
+++ b/OCH/taxi/unmanned-passenger/src/main/res/layout/taxt_u_p_base_fragment.xml
@@ -200,12 +200,12 @@
+ android:visibility="gone"/>
+
+}
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/v2n/net/NDERoadV2NModel.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/v2n/net/NDERoadV2NModel.kt
new file mode 100644
index 0000000000..3ace304cce
--- /dev/null
+++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/v2n/net/NDERoadV2NModel.kt
@@ -0,0 +1,55 @@
+package com.mogo.eagle.core.function.business.roadcross.net
+
+import com.mogo.commons.constants.HostConst
+import com.mogo.eagle.core.data.BaseResponse
+import com.mogo.eagle.core.data.road.RoadCameraLive
+import com.mogo.eagle.core.network.MoGoRetrofitFactory
+import com.mogo.eagle.core.network.apiCall
+import com.mogo.eagle.core.network.cancel
+import com.mogo.eagle.core.network.request
+import com.mogo.eagle.core.utilcode.util.Md5Util
+import java.util.Locale
+
+class NDERoadV2NModel private constructor() {
+
+ companion object {
+ val ndeRoadV2NModel by lazy(LazyThreadSafetyMode.SYNCHRONIZED) {
+ NDERoadV2NModel()
+ }
+ }
+
+ private fun getNetWorkApi(baseUrl: String = HostConst.getNDEHost()): INDERoadV2NApiService {
+ return MoGoRetrofitFactory.getInstanceNoCallAdapter(baseUrl)
+ .create(INDERoadV2NApiService::class.java)
+ }
+
+ fun querySingleCameraLiveByCameraIp(
+ cameraIp: String,
+ lon: Double,
+ lat: Double,
+ onSuccess: ((RoadCameraLive?) -> Unit),
+ onError: ((String) -> Unit)
+ ) {
+ request>("querySingleCameraLiveByCameraIp") {
+ loader {
+ apiCall {
+ val time = System.currentTimeMillis().toString()
+ val md5String = "${QUERY_SINGLE_LIVE.uppercase(Locale.getDefault())}$time"
+ getNetWorkApi().querySingleCameraLiveByCameraIp(
+ Md5Util.getMD5Result(md5String), time, cameraIp, lon, lat
+ )
+ }
+ }
+ onSuccess {
+ onSuccess.invoke(it.result)
+ }
+ onError {
+ onError.invoke(it.message.toString())
+ }
+ }
+ }
+
+ fun cancelRequest(tag: String) {
+ cancel(tag)
+ }
+}
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/hmi_view_passenger_v2n_event.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/hmi_view_passenger_v2n_event.xml
index 6fc547d18d..50fd5a3a54 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/hmi_view_passenger_v2n_event.xml
+++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/hmi_view_passenger_v2n_event.xml
@@ -2,95 +2,107 @@
+ android:background="@drawable/hmi_v2n_event_bg_passenger"
+ android:padding="@dimen/dp_37">
-
+ app:layout_constraintRight_toRightOf="parent"
+ app:layout_constraintTop_toTopOf="parent">
+
+
+
+
+
+
+
+
+ app:layout_constraintTop_toBottomOf="@id/containerLivePlay"
+ tools:text="更新时间:10:38:20" />
+
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/road/RoadV2NEventWindowBean.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/v2x/RoadV2NEventWindowBean.kt
similarity index 53%
rename from core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/road/RoadV2NEventWindowBean.kt
rename to core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/v2x/RoadV2NEventWindowBean.kt
index d94a964cbf..ddd45686d5 100644
--- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/road/RoadV2NEventWindowBean.kt
+++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/v2x/RoadV2NEventWindowBean.kt
@@ -1,4 +1,4 @@
-package com.mogo.eagle.core.data.road
+package com.mogo.eagle.core.data.v2x
/**
* 路侧道路事件 弹框
@@ -9,9 +9,11 @@ data class RoadV2NEventWindowBean(
var iconResId: Int, //事件icon resource id
var hintStr: String, //事件提示文案
var isNeedTTS: Boolean = false, //事件文案是否需要同步tts
- var cameraIp: String // 路侧carema ip,用于请求获取拉流地址
+ var cameraIp: String, // 路侧camera ip,用于请求获取拉流地址
+ var lon: Double, //事件坐标-经度
+ var lat: Double, //事件坐标-纬度
) {
override fun toString(): String {
- return "RoadV2NEventWindowBean(id='$uuid', timestamp=$timestamp, iconResId=$iconResId, hintStr='$hintStr', isNeedTTS=$isNeedTTS, cameraIp='$cameraIp')"
+ return "RoadV2NEventWindowBean(uuid='$uuid', timestamp=$timestamp, iconResId=$iconResId, hintStr='$hintStr', isNeedTTS=$isNeedTTS, cameraIp='$cameraIp', lon=$lon, lat=$lat)"
}
}
\ No newline at end of file
diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/v2n/IRoadV2NEventWindowListener.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/v2n/IRoadV2NEventWindowListener.kt
index 8d4244662c..9919ec7285 100644
--- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/v2n/IRoadV2NEventWindowListener.kt
+++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/v2n/IRoadV2NEventWindowListener.kt
@@ -1,6 +1,6 @@
package com.mogo.eagle.core.function.api.hmi.v2n
-import com.mogo.eagle.core.data.road.RoadV2NEventWindowBean
+import com.mogo.eagle.core.data.v2x.RoadV2NEventWindowBean
/**
* 路侧道路事件弹框, 调用接口
diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerRoadV2NEventWindowListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerRoadV2NEventWindowListenerManager.kt
index 266ccae0d6..b419757309 100644
--- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerRoadV2NEventWindowListenerManager.kt
+++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerRoadV2NEventWindowListenerManager.kt
@@ -1,6 +1,6 @@
package com.mogo.eagle.core.function.call.hmi
-import com.mogo.eagle.core.data.road.RoadV2NEventWindowBean
+import com.mogo.eagle.core.data.v2x.RoadV2NEventWindowBean
import com.mogo.eagle.core.function.api.hmi.v2n.IRoadV2NEventWindowListener
import com.mogo.eagle.core.function.call.base.CallerBase
import java.util.UUID
@@ -15,10 +15,21 @@ object CallerRoadV2NEventWindowListenerManager : CallerBase