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