diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/CarInfoTabView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/CarInfoTabView.kt index 5bf3577a34..936769975c 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/CarInfoTabView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/CarInfoTabView.kt @@ -44,10 +44,12 @@ import kotlinx.android.synthetic.main.view_car_info_tab.view.tvADVersionName import kotlinx.android.synthetic.main.view_car_info_tab.view.tvCarExit import kotlinx.android.synthetic.main.view_car_info_tab.view.tvCarLoginInfo import kotlinx.android.synthetic.main.view_car_info_tab.view.tvCarNo +import kotlinx.android.synthetic.main.view_car_info_tab.view.tvGridMapVersion import kotlinx.android.synthetic.main.view_car_info_tab.view.tvHDMapUpdate import kotlinx.android.synthetic.main.view_car_info_tab.view.tvHDMapVersion import kotlinx.android.synthetic.main.view_car_info_tab.view.tvPADUpdate import kotlinx.android.synthetic.main.view_car_info_tab.view.tvPadVersion +import kotlinx.android.synthetic.main.view_car_info_tab.view.tvSlamMapVersion import kotlinx.android.synthetic.main.view_car_info_tab.view.tvSnInfo import system_master.SsmInfo import system_master.SystemStatusInfo @@ -108,6 +110,8 @@ class CarInfoTabView @JvmOverloads constructor( showCurrentPadVersion() showCurrentAdVersion() updateAdHdMapVersion() + updateGridMapVersion() + updateSlamMapVersion() tvSnInfo.text = SharedPrefsMgr.getInstance().sn tvCarExit.setOnClickListener { @@ -254,21 +258,56 @@ class CarInfoTabView @JvmOverloads constructor( showCurrentAdVersion() } + /** + * 更新域控高精地图版本 + */ private fun updateAdHdMapVersion() { if (AppConfigInfo.adHdMapVersion.isNotEmpty()) { UiThreadHandler.post { - CallerLogger.i(SceneConstant.M_HMI + TAG, "updateAdHdMapVersion, adHdMapVersion:${AppConfigInfo.adHdMapVersion} , text:${tvADMapVersion.text}") if(tvADMapVersion.text.contains(AppConfigInfo.adHdMapVersion)){ return@post } + CallerLogger.i(SceneConstant.M_HMI + TAG, "updateAdHdMapVersion, adHdMapVersion:${AppConfigInfo.adHdMapVersion} , text:${tvADMapVersion.text}") tvADMapVersion.text = context.getString(R.string.tab_version_admap_info) + AppConfigInfo.adHdMapVersion } } } + /** + * 更新工控机栅格地图版本 + */ + private fun updateGridMapVersion(){ + if(AppConfigInfo.gridMapVersion.isNotEmpty()){ + UiThreadHandler.post{ + if(tvGridMapVersion.text.contains(AppConfigInfo.gridMapVersion)){ + return@post + } + CallerLogger.i(SceneConstant.M_HMI + TAG, "updateGridMapVersion, gridMapVersion:${AppConfigInfo.gridMapVersion}") + tvGridMapVersion.text = context.getString(R.string.tab_version_grid_map_info) + AppConfigInfo.gridMapVersion + } + } + } + + /** + * 更新工控机激光Slam地图版本 + */ + private fun updateSlamMapVersion(){ + if(AppConfigInfo.slamMapVersion.isNotEmpty()){ + UiThreadHandler.post{ + if(tvSlamMapVersion.text.contains(AppConfigInfo.slamMapVersion)){ + return@post + } + CallerLogger.i(SceneConstant.M_HMI + TAG, "updateSlamMapVersion, slamMapVersion:${AppConfigInfo.slamMapVersion}") + tvSlamMapVersion.text = context.getString(R.string.tab_version_slam_map_info) + AppConfigInfo.slamMapVersion + } + } + } + override fun onAutopilotStatusRespByQuery(status: SystemStatusInfo.StatusInfo) { CallerLogger.i(SceneConstant.M_HMI + TAG, "hdMapVer=" + status.hdMapVer) updateAdHdMapVersion() + updateGridMapVersion() + updateSlamMapVersion() } /** @@ -280,6 +319,8 @@ class CarInfoTabView @JvmOverloads constructor( override fun onSystemStatus(statusInf: SsmInfo.SsmStatusInf) { CallerLogger.i(SceneConstant.M_HMI + TAG, "hdMapVer=" + statusInf.hdMapVer) updateAdHdMapVersion() + updateGridMapVersion() + updateSlamMapVersion() } /** diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_car_info_tab.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_car_info_tab.xml index 5a89b3bff5..359a5779da 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_car_info_tab.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_car_info_tab.xml @@ -231,6 +231,32 @@ app:layout_constraintLeft_toLeftOf="@+id/tvHDMapVersion" app:layout_constraintTop_toBottomOf="@+id/tvHDMapVersion" /> + + + + + app:layout_constraintTop_toBottomOf="@+id/tvSlamMapVersion" /> 设备SN PAD: AD: - HDMAP: - ADMAP: + HD MAP: + AD MAP: + Grid Map: + Islam Map: 检查更新 访客(未登录) 登录 diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/app/AppConfigInfo.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/app/AppConfigInfo.kt index 9e3b2ef601..494c47f73f 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/app/AppConfigInfo.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/app/AppConfigInfo.kt @@ -55,6 +55,14 @@ object AppConfigInfo { @Volatile var adHdMapVersion: String = "" + //工控机栅格地图版本 + @Volatile + var gridMapVersion: String = "" + + //工控机激光Slam地图版本 + @Volatile + var slamMapVersion: String ="" + //业务状态信息 /** * debug 测试环境--2 diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotStatusListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotStatusListenerManager.kt index 083ef6f411..caf777eb55 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotStatusListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotStatusListenerManager.kt @@ -302,11 +302,29 @@ object CallerAutoPilotStatusListenerManager : CallerBase this.statusInfo = status - if (AppConfigInfo.adHdMapVersion.isEmpty() && status.hdMapVer != null && status.hdMapVer.isNotEmpty()) { + if (status.hdMapVer != null && status.hdMapVer.isNotEmpty()) { //对地图版本进行截取 val city = status.hdMapVer.substringAfter(".sqlite|").substringBefore("|") val version = status.hdMapVer.substringAfter("$city|").substringBefore("|") - AppConfigInfo.adHdMapVersion = "${city}_${version}" + if(AppConfigInfo.adHdMapVersion != "${city}_${version}"){ + AppConfigInfo.adHdMapVersion = "${city}_${version}" + } + } + if(status.gridMapVer != null && status.gridMapVer.isNotEmpty()){ + //对栅格地图版本进行截取 + val gridCity = status.gridMapVer.substringAfter(".sqlite|").substringBefore("|") + val gridVersion = status.gridMapVer.substringAfter("$gridCity|").substringBefore("|") + if(AppConfigInfo.gridMapVersion != "${gridCity}_${gridVersion}"){ + AppConfigInfo.gridMapVersion = "${gridCity}_${gridVersion}" + } + } + if(status.slamMapVer != null && status.slamMapVer.isNotEmpty()){ + //对激光slam地图版本进行截取 + val slamCity = status.slamMapVer.substringAfter(".sqlite|").substringBefore("|") + val slamVersion = status.slamMapVer.substringAfter("$slamCity|").substringBefore("|") + if(AppConfigInfo.slamMapVersion != "${slamCity}_${slamVersion}"){ + AppConfigInfo.slamMapVersion = "${slamCity}_${slamVersion}" + } } M_LISTENERS.forEach { itx -> val listener = itx.value @@ -322,11 +340,29 @@ object CallerAutoPilotStatusListenerManager : CallerBase val listener = itx.value