From 3f65bc39764c27e7f6787933beac443eda7011ee Mon Sep 17 00:00:00 2001 From: aibingbing Date: Thu, 27 Jun 2024 16:54:34 +0800 Subject: [PATCH] =?UTF-8?q?[650]=20refactor:=20=E8=AF=B7=E6=B1=82=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6=E6=8B=89=E6=B5=81=E5=9C=B0=E5=9D=80=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=20=E5=A2=9E=E5=8A=A0cityCod=20=E5=8F=82=E6=95=B0=EF=BC=9B=20re?= =?UTF-8?q?factor:=20=E5=BC=B9=E6=A1=86show,=20dissmiss=20=E4=B8=BB?= =?UTF-8?q?=E5=8A=A8=E5=88=87=E4=B8=BB=E7=BA=BF=E7=A8=8B=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hmi/ui/v2n/RoadV2NEventLivePlayView.kt | 4 +- .../hmi/ui/v2n/RoadV2NEventWindowView.kt | 52 +++++++++++-------- .../hmi/ui/v2n/net/INDERoadV2NApiService.kt | 3 +- .../hmi/ui/v2n/net/NDERoadV2NModel.kt | 3 +- 4 files changed, 36 insertions(+), 26 deletions(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/v2n/RoadV2NEventLivePlayView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/v2n/RoadV2NEventLivePlayView.kt index 9428ac4a9f..279dcb5f47 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/v2n/RoadV2NEventLivePlayView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/v2n/RoadV2NEventLivePlayView.kt @@ -114,14 +114,14 @@ class RoadV2NEventLivePlayView @JvmOverloads constructor( * 开始查询拉流url */ fun startRoadCameraLive( - cameraId: String, lon: Double, lat: Double + cameraId: String, lon: Double, lat: Double, cityCode: String ) { CallerLogger.i( "${SceneConstant.M_HMI}$TAG", "startRoadCameraLive, cameraId=$cameraId, lon=$lon, lat=$lat" ) startLoading() - NDERoadV2NModel.ndeRoadV2NModel.querySingleCameraLiveByCameraIp(cameraId, lon, lat, + NDERoadV2NModel.ndeRoadV2NModel.querySingleCameraLiveByCameraIp(cameraId, lon, lat, cityCode, onSuccess = { startPlay(it?.liveUrl) }, diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/v2n/RoadV2NEventWindowView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/v2n/RoadV2NEventWindowView.kt index 7a68f3ca41..ca23b0a328 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/v2n/RoadV2NEventWindowView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/v2n/RoadV2NEventWindowView.kt @@ -13,6 +13,7 @@ import com.mogo.commons.voice.AIAssist import com.mogo.eagle.core.data.config.FunctionBuildConfig 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.autopilot.CallerChassisLocationWGS84ListenerManager import com.mogo.eagle.core.function.call.hmi.CallerRoadV2NEventWindowListenerManager import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils @@ -27,6 +28,7 @@ import kotlinx.android.synthetic.main.hmi_view_road_v2n_event_window.view.roundR import kotlinx.android.synthetic.main.hmi_view_road_v2n_event_window.view.tvV2XHintContent import kotlinx.android.synthetic.main.hmi_view_road_v2n_event_window.view.tvV2XTimeStr import me.jessyan.autosize.utils.AutoSizeUtils +import java.util.UUID /** * 路侧V2N事件通用弹框 @@ -230,7 +232,9 @@ class RoadV2NEventWindowView @JvmOverloads constructor( CallerRoadV2NEventWindowListenerManager.addListener(TAG, this) initView() //TODO - val eventId = CallerRoadV2NEventWindowListenerManager.show( + val eventId = UUID.randomUUID().toString() + CallerRoadV2NEventWindowListenerManager.show( + eventId, System.currentTimeMillis(), R.drawable.v2x_icon_shigong_zhandao, "前方 200米 道路积水", @@ -243,6 +247,7 @@ class RoadV2NEventWindowView @JvmOverloads constructor( CallerRoadV2NEventWindowListenerManager.dismiss(eventId) val eventId1 = CallerRoadV2NEventWindowListenerManager.show( + UUID.randomUUID().toString(), System.currentTimeMillis(), R.drawable.v2x_icon_jiaotongshigu_vr, "前方 300米 发生交通事故", @@ -260,32 +265,35 @@ class RoadV2NEventWindowView @JvmOverloads constructor( } override fun show(dataBean: RoadV2NEventWindowBean) { - currentEventUUID = dataBean.uuid - ivV2XImage.setImageDrawable( - ContextCompat.getDrawable( - context, - dataBean.iconResId + UiThreadHandler.post { + currentEventUUID = dataBean.uuid + ivV2XImage.setImageDrawable( + ContextCompat.getDrawable( + context, + dataBean.iconResId + ) ) - ) - tvV2XHintContent.text = dataBean.hintStr - tvV2XTimeStr.text = - "更新时间:${DateTimeUtils.getTimeText(dataBean.timestamp, DateTimeUtils.HH_mm_ss)}" - if (dataBean.isNeedTTS) { - AIAssist.getInstance(context) - .speakTTSVoiceWithLevel(dataBean.hintStr, AIAssist.LEVEL0) + tvV2XHintContent.text = dataBean.hintStr + tvV2XTimeStr.text = + "更新时间:${DateTimeUtils.getTimeText(dataBean.timestamp, DateTimeUtils.HH_mm_ss)}" + if (dataBean.isNeedTTS) { + AIAssist.getInstance(context) + .speakTTSVoiceWithLevel(dataBean.hintStr, AIAssist.LEVEL0) + } + val cityCode = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84().cityCode + containerLivePlay.startRoadCameraLive( + dataBean.cameraIp, dataBean.lon, dataBean.lat, cityCode) + visibility = View.VISIBLE } - containerLivePlay.startRoadCameraLive( - dataBean.cameraIp, - dataBean.lon, dataBean.lat - ) - visibility = View.VISIBLE } override fun dismiss(eventId: String) { - if (eventId == currentEventUUID) { - visibility = View.GONE - currentEventUUID = "" - containerLivePlay.stopRoadCameraLive() + UiThreadHandler.post { + if (eventId == currentEventUUID) { + visibility = View.GONE + currentEventUUID = "" + containerLivePlay.stopRoadCameraLive() + } } } } \ 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/INDERoadV2NApiService.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/v2n/net/INDERoadV2NApiService.kt index 1d5d8a83ca..ee93b9ba92 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/v2n/net/INDERoadV2NApiService.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/v2n/net/INDERoadV2NApiService.kt @@ -19,7 +19,8 @@ interface INDERoadV2NApiService { @Header("MogoReqTime") time: String, @Query("ip") ip: String, @Query("lon") lon: Double, - @Query("lat") lat: Double + @Query("lat") lat: Double, + @Query("cityCode") cityCode: String ): BaseResponse } \ 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 index 3ace304cce..18f45bbc78 100644 --- 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 @@ -27,6 +27,7 @@ class NDERoadV2NModel private constructor() { cameraIp: String, lon: Double, lat: Double, + cityCode: String, onSuccess: ((RoadCameraLive?) -> Unit), onError: ((String) -> Unit) ) { @@ -36,7 +37,7 @@ class NDERoadV2NModel private constructor() { val time = System.currentTimeMillis().toString() val md5String = "${QUERY_SINGLE_LIVE.uppercase(Locale.getDefault())}$time" getNetWorkApi().querySingleCameraLiveByCameraIp( - Md5Util.getMD5Result(md5String), time, cameraIp, lon, lat + Md5Util.getMD5Result(md5String), time, cameraIp, lon, lat, cityCode ) } }