[6.10.0]各种地图版本呈现,车辆信息增加栅格地图和激光slam地图显示

This commit is contained in:
xuxinchao
2025-02-07 12:20:27 +08:00
parent b8e206a952
commit 3e17e9b761
5 changed files with 121 additions and 8 deletions

View File

@@ -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()
}
/**

View File

@@ -231,6 +231,32 @@
app:layout_constraintLeft_toLeftOf="@+id/tvHDMapVersion"
app:layout_constraintTop_toBottomOf="@+id/tvHDMapVersion" />
<TextView
android:id="@+id/tvGridMapVersion"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_20"
android:gravity="center_vertical"
android:text="@string/tab_version_grid_map_info"
android:textColor="@color/white"
android:textSize="@dimen/dp_32"
app:layout_constraintLeft_toLeftOf="@+id/tvADMapVersion"
app:layout_constraintTop_toBottomOf="@+id/tvADMapVersion"
/>
<TextView
android:id="@+id/tvSlamMapVersion"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_20"
android:gravity="center_vertical"
android:text="@string/tab_version_slam_map_info"
android:textColor="@color/white"
android:textSize="@dimen/dp_32"
app:layout_constraintLeft_toLeftOf="@+id/tvGridMapVersion"
app:layout_constraintTop_toBottomOf="@+id/tvGridMapVersion"
/>
<TextView
android:id="@+id/tvSnPos"
android:layout_width="@dimen/dp_152"
@@ -241,7 +267,7 @@
android:textColor="@color/white"
android:textSize="@dimen/dp_38"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvADMapVersion" />
app:layout_constraintTop_toBottomOf="@+id/tvSlamMapVersion" />
<TextView
android:id="@+id/tvSnInfo"

View File

@@ -11,8 +11,10 @@
<string name="tab_sn">设备SN</string>
<string name="tab_version_pad_info">PAD</string>
<string name="tab_version_ad_info">AD</string>
<string name="tab_version_hdmap_info">HDMAP</string>
<string name="tab_version_admap_info">ADMAP</string>
<string name="tab_version_hdmap_info">HD MAP</string>
<string name="tab_version_admap_info">AD MAP</string>
<string name="tab_version_grid_map_info">Grid Map</string>
<string name="tab_version_slam_map_info">Islam Map</string>
<string name="tab_version_update">检查更新</string>
<string name="tab_login_norphone"> 访客(未登录)</string>
<string name="tab_login_gophone">登录</string>

View File

@@ -55,6 +55,14 @@ object AppConfigInfo {
@Volatile
var adHdMapVersion: String = ""
//工控机栅格地图版本
@Volatile
var gridMapVersion: String = ""
//工控机激光Slam地图版本
@Volatile
var slamMapVersion: String =""
//业务状态信息
/**
* debug 测试环境--2

View File

@@ -302,11 +302,29 @@ object CallerAutoPilotStatusListenerManager : CallerBase<IMoGoAutopilotStatusLis
fun invokeAutopilotStatusRespByQuery(statusInfo: SystemStatusInfo.StatusInfo?) {
statusInfo?.also { status ->
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<IMoGoAutopilotStatusLis
fun invokeSystemStatus(statusInf: SsmInfo.SsmStatusInf?) {
statusInf?.also {
this.statusInf = statusInf
if (AppConfigInfo.adHdMapVersion.isEmpty() && statusInf.hdMapVer != null && statusInf.hdMapVer.isNotEmpty()) {
if (statusInf.hdMapVer != null && statusInf.hdMapVer.isNotEmpty()) {
//对地图版本进行截取
val city = statusInf.hdMapVer.substringAfter(".sqlite|").substringBefore("|")
val version = statusInf.hdMapVer.substringAfter("$city|").substringBefore("|")
AppConfigInfo.adHdMapVersion = "${city}_${version}"
if(AppConfigInfo.adHdMapVersion != "${city}_${version}"){
AppConfigInfo.adHdMapVersion = "${city}_${version}"
}
}
if(statusInf.gridMapVer != null && statusInf.gridMapVer.isNotEmpty()){
//对栅格地图版本进行截取
val gridCity = statusInf.gridMapVer.substringAfter(".sqlite|").substringBefore("|")
val gridVersion = statusInf.gridMapVer.substringAfter("$gridCity|").substringBefore("|")
if(AppConfigInfo.gridMapVersion != "${gridCity}_${gridVersion}"){
AppConfigInfo.gridMapVersion = "${gridCity}_${gridVersion}"
}
}
if(statusInf.slamMapVer != null && statusInf.slamMapVer.isNotEmpty()){
//对激光slam地图版本进行截取
val slamCity = statusInf.slamMapVer.substringAfter(".sqlite|").substringBefore("|")
val slamVersion = statusInf.slamMapVer.substringAfter("$slamCity|").substringBefore("|")
if(AppConfigInfo.slamMapVersion != "${slamCity}_${slamVersion}"){
AppConfigInfo.slamMapVersion = "${slamCity}_${slamVersion}"
}
}
M_LISTENERS.forEach { itx ->
val listener = itx.value