[6.7.0-tmp]tab car info
This commit is contained in:
@@ -20,6 +20,7 @@ import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_AD
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ADAS_ROUTE
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ADAS_STATUS
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ADAS_STATUS_QUERY_RESP
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ADAS_SYSTEM_STATUS
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ADAS_TRAJECTORY
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ADAS_V2N_EVENT
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ADAS_VEHICLE
|
||||
@@ -444,9 +445,16 @@ class MoGoAdasListenerImpl : OnAdasListener {
|
||||
} else {
|
||||
CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo().ssmAutoPilotReady = false
|
||||
}
|
||||
|
||||
invokeAutopilotStatusRespByQuery(statusInfo)
|
||||
}
|
||||
|
||||
@ChainLog(
|
||||
linkChainLog = CHAIN_TYPE_SOCKET_AUTOPILOT,
|
||||
linkCode = CHAIN_SOURCE_ADAS,
|
||||
nodeAliasCode = CHAIN_CODE_ADAS_SYSTEM_STATUS,
|
||||
paramIndexes = [0, 1]
|
||||
)
|
||||
override fun onSystemStatus(header: MessagePad.Header?, statusInf: SsmInfo.SsmStatusInf?) {
|
||||
if (statusInf != null && statusInf.hasAutoPilotReady()) {
|
||||
CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo().ssmAutoPilotReady =
|
||||
|
||||
@@ -5,6 +5,7 @@ import android.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import com.mogo.eagle.core.function.hmi.R
|
||||
import kotlinx.android.synthetic.main.view_bone_tab.view.carInfoTabView
|
||||
import kotlinx.android.synthetic.main.view_bone_tab.view.tabSwitchCarInfo
|
||||
import kotlinx.android.synthetic.main.view_bone_tab.view.tabSwitchMore
|
||||
import kotlinx.android.synthetic.main.view_bone_tab.view.tabSwitchMsgBox
|
||||
@@ -66,39 +67,36 @@ class BoneTabLayout @JvmOverloads constructor(
|
||||
when (tabType) {
|
||||
TabType.CAR_INFO -> {
|
||||
tabSwitchCarInfo.switchTab(check)
|
||||
if(check){
|
||||
|
||||
}else{
|
||||
|
||||
}
|
||||
carInfoTabView.visibility = if (check) VISIBLE else GONE
|
||||
}
|
||||
|
||||
TabType.MSG_INFO -> {
|
||||
tabSwitchMsgBox.switchTab(check)
|
||||
if(check){
|
||||
if (check) {
|
||||
|
||||
}else{
|
||||
} else {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
TabType.REPORT_INFO -> {
|
||||
tabSwitchReport.switchTab(check)
|
||||
if(check){
|
||||
if (check) {
|
||||
|
||||
}else{
|
||||
} else {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
TabType.MORE_INFO -> {
|
||||
tabSwitchMore.switchTab(check)
|
||||
if(check){
|
||||
if (check) {
|
||||
|
||||
}else{
|
||||
} else {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
else -> {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,15 +4,204 @@ import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import com.mogo.commons.storage.SharedPrefsMgr
|
||||
import com.mogo.eagle.core.data.app.AppConfigInfo
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
|
||||
import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsListener
|
||||
import com.mogo.eagle.core.function.api.hmi.autopilot.IMoGoCheckAutoPilotBtnListener
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationWGS84ListenerManager
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsListenerManager
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager
|
||||
import com.mogo.eagle.core.function.call.hmi.CallerHmiListenerManager
|
||||
import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager
|
||||
import com.mogo.eagle.core.function.hmi.R
|
||||
import com.mogo.eagle.core.function.hmi.ui.tools.OfflineMapDialog
|
||||
import com.mogo.eagle.core.function.hmi.ui.utils.HmiActionLog
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.eagle.core.utilcode.util.AppUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
import com.mogo.map.MogoData
|
||||
import kotlinx.android.synthetic.main.view_car_info_tab.view.tvADMapVersion
|
||||
import kotlinx.android.synthetic.main.view_car_info_tab.view.tvADVersion
|
||||
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.tvHDMapUpdate
|
||||
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.tvSnInfo
|
||||
import system_master.SsmInfo
|
||||
import system_master.SystemStatusInfo
|
||||
|
||||
|
||||
class CarInfoTabView @JvmOverloads constructor(
|
||||
context: Context,
|
||||
attrs: AttributeSet? = null,
|
||||
defStyleAttr: Int = 0
|
||||
) : ConstraintLayout(context, attrs, defStyleAttr){
|
||||
) : ConstraintLayout(context, attrs, defStyleAttr), IMoGoCheckAutoPilotBtnListener,
|
||||
IMoGoAutopilotStatusListener, IMoGoDevaToolsListener {
|
||||
|
||||
companion object{
|
||||
private const val TAG = "CarInfoTabView"
|
||||
}
|
||||
|
||||
|
||||
private var loginOut: (() -> Unit)? = null
|
||||
@Volatile
|
||||
private var isHDCached = false
|
||||
|
||||
init {
|
||||
LayoutInflater.from(context).inflate(R.layout.view_car_info_tab, this, true)
|
||||
initView()
|
||||
}
|
||||
|
||||
override fun onAttachedToWindow() {
|
||||
super.onAttachedToWindow()
|
||||
CallerHmiListenerManager.addListener(TAG, this)
|
||||
CallerAutoPilotStatusListenerManager.addListener(TAG, this)
|
||||
CallerDevaToolsListenerManager.addListener(TAG, this)
|
||||
}
|
||||
|
||||
override fun onDetachedFromWindow() {
|
||||
super.onDetachedFromWindow()
|
||||
CallerHmiListenerManager.removeListener(TAG)
|
||||
CallerAutoPilotStatusListenerManager.removeListener(TAG)
|
||||
CallerDevaToolsListenerManager.removeListener(TAG)
|
||||
}
|
||||
|
||||
private fun initView() {
|
||||
showCurrentPadVersion()
|
||||
showCurrentAdVersion()
|
||||
updateAdHdMapVersion()
|
||||
|
||||
tvSnInfo.text = SharedPrefsMgr.getInstance().sn
|
||||
tvCarExit.setOnClickListener {
|
||||
loginOut?.invoke()
|
||||
}
|
||||
//鹰眼版本 检查更新
|
||||
tvPADUpdate.setOnClickListener {
|
||||
HmiActionLog.hmiAction(
|
||||
"${SceneConstant.M_HMI}${TAG}",
|
||||
"pad version view clicked"
|
||||
)
|
||||
val provider = CallerDevaToolsManager.upgradeProvider()
|
||||
if (provider?.isDownloading() == true) {
|
||||
ToastUtils.showShort("正在下载最新版本,请稍候再试...")
|
||||
return@setOnClickListener
|
||||
}
|
||||
CallerDevaToolsManager.queryAppUpgrade()
|
||||
}
|
||||
|
||||
//高精地图 检查更新
|
||||
tvHDMapUpdate.setOnClickListener {
|
||||
HmiActionLog.hmiAction(
|
||||
"${SceneConstant.M_HMI}${TAG}",
|
||||
mapOf("isHDCached" to isHDCached)
|
||||
)
|
||||
if (isHDCached) { // 已缓存
|
||||
ToastUtils.showShort(resources.getString(R.string.offline_had_downloaded))
|
||||
} else {// 未缓存
|
||||
if (CallerMapUIServiceManager.getCityCode().isNullOrEmpty()) {// 未拿到高德的cityCode
|
||||
if ((CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84().longitude <= 0.0 && CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84().latitude <= 0.0)) {// 未拿到高精的经纬度
|
||||
ToastUtils.showShort(resources.getString(R.string.location_try_again))
|
||||
} else { // 拿到了高精的经纬度
|
||||
val dialog = OfflineMapDialog(context)
|
||||
dialog.location = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84()
|
||||
dialog.show()
|
||||
}
|
||||
} else {// 拿到高德的cityCode
|
||||
OfflineMapDialog(context).show()
|
||||
}
|
||||
}
|
||||
}
|
||||
MogoData.mogoMapData.get()?.isCityDataCached {
|
||||
updateHDDataCacheStatus(it)
|
||||
}
|
||||
}
|
||||
|
||||
private fun showCurrentPadVersion() {
|
||||
tvPadVersion.text = tvPadVersion.text.toString() + AppUtils.getAppVersionName()
|
||||
}
|
||||
|
||||
|
||||
fun setLoginInfo(loginNo: String) {
|
||||
if (loginNo.isNotEmpty()) {
|
||||
tvCarLoginInfo.text = loginNo.take(3) + "****" + loginNo.takeLast(4)
|
||||
} else {
|
||||
tvCarLoginInfo.text = ""
|
||||
}
|
||||
}
|
||||
|
||||
fun setCarNo(carNo: String) {
|
||||
// todo emArrow 需要同时监听工控的车牌信息,防止调试跳过无车牌内容(链接先后顺序不一致也会导致数据显示异常)
|
||||
if (carNo.isEmpty()) {
|
||||
tvCarNo.visibility = GONE
|
||||
tvCarNo.text = ""
|
||||
} else {
|
||||
tvCarNo.visibility = VISIBLE
|
||||
tvCarNo.text = carNo.substring(0, 2) + " " + carNo.substring(2);
|
||||
}
|
||||
}
|
||||
|
||||
fun loginOut(loginOut: (() -> Unit)) {
|
||||
this.loginOut = loginOut
|
||||
}
|
||||
|
||||
override fun updateHDDataCacheStatus(isCached: Boolean) {
|
||||
isHDCached = isCached
|
||||
}
|
||||
|
||||
private fun showCurrentAdVersion() {
|
||||
UiThreadHandler.post {
|
||||
CallerAutoPilotStatusListenerManager.getDockerVersion()?.let {
|
||||
tvADVersion.text = tvADVersion.text.toString() + it
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onAutopilotDockerInfo(dockerVersion: String) {
|
||||
super.onAutopilotDockerInfo(dockerVersion)
|
||||
showCurrentAdVersion()
|
||||
}
|
||||
|
||||
private fun updateAdHdMapVersion() {
|
||||
if(AppConfigInfo.adHdMapVersion.isNotEmpty()){
|
||||
tvADMapVersion.text = tvADMapVersion.text.toString() + AppConfigInfo.adHdMapVersion
|
||||
}
|
||||
}
|
||||
|
||||
override fun onAutopilotStatusRespByQuery(status: SystemStatusInfo.StatusInfo) {
|
||||
CallerLogger.i(SceneConstant.M_HMI + TAG, "hdMapVer=" + status.hdMapVer)
|
||||
//hdMapVer返回示例:/home/mogo/autopilot/share/hadmap_engine/data/hadmap_data/db.sqlite|bj|2.2.7|对bus路线上的junction进行修改,对原609场景修改为6091、6092、6201、 6202四种细分场景,并对通往园区路口改为619
|
||||
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}"
|
||||
updateAdHdMapVersion()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 定频SSM接口
|
||||
* 1hz hq m1 MAP350开始支持,其他车型MAP360开始支持
|
||||
* 定频SSM接入后 onStatusQueryResp 状态查询应答接口将弃用
|
||||
* @param statusInf 数据
|
||||
*/
|
||||
override fun onSystemStatus(statusInf: SsmInfo.SsmStatusInf) {
|
||||
CallerLogger.i(SceneConstant.M_HMI + TAG, "hdMapVer=" + statusInf.hdMapVer)
|
||||
//hdMapVer返回示例:/home/mogo/autopilot/share/hadmap_engine/data/hadmap_data/db.sqlite|bj|2.2.7|对bus路线上的junction进行修改,对原609场景修改为6091、6092、6201、 6202四种细分场景,并对通往园区路口改为619
|
||||
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}"
|
||||
updateAdHdMapVersion()
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -53,6 +53,7 @@ class SystemVersionView @JvmOverloads constructor(
|
||||
private var previousProgress: Int = -1 //前一秒的下载进度,用于计算下载剩余时间
|
||||
private var currentProgress: Int = -1 //当前已下载包体大小
|
||||
|
||||
@Volatile
|
||||
private var isHDCached = false
|
||||
|
||||
init {
|
||||
@@ -67,7 +68,7 @@ class SystemVersionView @JvmOverloads constructor(
|
||||
|
||||
//鹰眼版本视图点击事件
|
||||
ivPadVersion.setOnClickListener {
|
||||
hmiAction("$M_HMI$$TAG", "pad version view clicked")
|
||||
hmiAction("$M_HMI$TAG", "pad version view clicked")
|
||||
val provider = CallerDevaToolsManager.upgradeProvider()
|
||||
if (provider?.isDownloading() == true) {
|
||||
ToastUtils.showShort("正在下载最新版本,请稍候再试...")
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 1.4 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 181 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 189 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.4 KiB |
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
|
||||
<solid android:color="@color/color_B3_000000" />
|
||||
<corners android:radius="@dimen/dp_10" />
|
||||
</shape>
|
||||
@@ -29,7 +29,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_224"
|
||||
android:layout_marginBottom="@dimen/dp_m_2"
|
||||
android:background="@drawable/bone_tab_bg"
|
||||
android:background="@drawable/bg_tab_switch"
|
||||
android:elevation="10dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
|
||||
@@ -4,91 +4,223 @@
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/background_color">
|
||||
android:background="@drawable/bg_tab_item">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
<ScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="@dimen/dp_21">
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<View
|
||||
android:id="@+id/topViewPos"
|
||||
android:layout_width="@dimen/dp_856"
|
||||
android:layout_height="@dimen/dp_100"
|
||||
android:background="@drawable/bg_tab_view_top"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="@dimen/dp_160"
|
||||
android:layout_height="@dimen/dp_56"
|
||||
android:layout_marginStart="@dimen/dp_64"
|
||||
android:layout_marginTop="@dimen/dp_34"
|
||||
android:text="@string/tab_car_info"
|
||||
android:textColor="@color/color_CC_FFFFFF"
|
||||
android:textSize="@dimen/dp_40"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivCarType"
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_280"
|
||||
android:layout_marginTop="@dimen/dp_75"
|
||||
app:layout_constraintTop_toBottomOf="@+id/topViewPos"
|
||||
tools:ignore="ContentDescription" />
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_21">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvCarLoginPos"
|
||||
android:layout_width="@dimen/dp_152"
|
||||
android:layout_height="@dimen/dp_53"
|
||||
android:layout_marginStart="@dimen/dp_60"
|
||||
android:layout_marginTop="@dimen/dp_22"
|
||||
android:text="@string/tab_car_login_info"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_38"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/ivCarType" />
|
||||
<View
|
||||
android:id="@+id/topViewPos"
|
||||
android:layout_width="@dimen/dp_856"
|
||||
android:layout_height="@dimen/dp_100"
|
||||
android:background="@drawable/bg_tab_view_top"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvCarLoginInfo"
|
||||
android:layout_width="@dimen/dp_185"
|
||||
android:layout_height="@dimen/dp_45"
|
||||
android:layout_marginStart="@dimen/dp_16"
|
||||
android:layout_marginTop="@dimen/dp_7"
|
||||
android:gravity="center"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_32"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tvCarLoginPos"
|
||||
app:layout_constraintLeft_toRightOf="@+id/tvCarLoginPos"
|
||||
app:layout_constraintTop_toTopOf="@+id/tvCarLoginPos" />
|
||||
<TextView
|
||||
android:layout_width="@dimen/dp_160"
|
||||
android:layout_height="@dimen/dp_56"
|
||||
android:layout_marginStart="@dimen/dp_64"
|
||||
android:layout_marginTop="@dimen/dp_34"
|
||||
android:text="@string/tab_car_info"
|
||||
android:textColor="@color/color_CC_FFFFFF"
|
||||
android:textSize="@dimen/dp_40"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvCarExit"
|
||||
android:layout_width="@dimen/dp_64"
|
||||
android:layout_height="@dimen/dp_45"
|
||||
android:layout_marginEnd="@dimen/dp_60"
|
||||
android:gravity="center"
|
||||
android:text="@string/tab_car_exit"
|
||||
android:textColor="@color/color_FF1943"
|
||||
android:textSize="@dimen/dp_32"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tvCarLoginInfo"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@+id/tvCarLoginInfo" />
|
||||
<ImageView
|
||||
android:id="@+id/ivCarType"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_280"
|
||||
android:layout_marginTop="@dimen/dp_75"
|
||||
app:layout_constraintTop_toBottomOf="@+id/topViewPos"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvCarNoPos"
|
||||
android:layout_width="@dimen/dp_152"
|
||||
android:layout_height="@dimen/dp_53"
|
||||
android:layout_marginStart="@dimen/dp_60"
|
||||
android:layout_marginTop="@dimen/dp_49"
|
||||
android:text="@string/tab_car_no"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_38"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tvCarLoginPos" />
|
||||
<TextView
|
||||
android:id="@+id/tvCarLoginPos"
|
||||
android:layout_width="@dimen/dp_152"
|
||||
android:layout_height="@dimen/dp_53"
|
||||
android:layout_marginStart="@dimen/dp_60"
|
||||
android:layout_marginTop="@dimen/dp_22"
|
||||
android:text="@string/tab_car_login_info"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_38"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/ivCarType" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvCarLoginInfo"
|
||||
android:layout_width="@dimen/dp_185"
|
||||
android:layout_height="@dimen/dp_45"
|
||||
android:layout_marginStart="@dimen/dp_16"
|
||||
android:gravity="center"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_32"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tvCarLoginPos"
|
||||
app:layout_constraintLeft_toRightOf="@+id/tvCarLoginPos"
|
||||
app:layout_constraintTop_toTopOf="@+id/tvCarLoginPos" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
<TextView
|
||||
android:id="@+id/tvCarExit"
|
||||
android:layout_width="@dimen/dp_64"
|
||||
android:layout_height="@dimen/dp_45"
|
||||
android:layout_marginEnd="@dimen/dp_60"
|
||||
android:gravity="center"
|
||||
android:text="@string/tab_car_exit"
|
||||
android:textColor="@color/color_FF1943"
|
||||
android:textSize="@dimen/dp_32"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tvCarLoginInfo"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@+id/tvCarLoginInfo" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvCarNoPos"
|
||||
android:layout_width="@dimen/dp_152"
|
||||
android:layout_height="@dimen/dp_53"
|
||||
android:layout_marginStart="@dimen/dp_60"
|
||||
android:layout_marginTop="@dimen/dp_49"
|
||||
android:text="@string/tab_car_no"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_38"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tvCarLoginPos" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvCarNo"
|
||||
android:layout_width="@dimen/dp_185"
|
||||
android:layout_height="@dimen/dp_72"
|
||||
android:layout_marginStart="@dimen/dp_16"
|
||||
android:background="@drawable/bg_tab_car_no"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_32"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tvCarNoPos"
|
||||
app:layout_constraintLeft_toRightOf="@+id/tvCarNoPos"
|
||||
app:layout_constraintTop_toTopOf="@+id/tvCarNoPos" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvVersionPos"
|
||||
android:layout_width="@dimen/dp_152"
|
||||
android:layout_height="@dimen/dp_53"
|
||||
android:layout_marginStart="@dimen/dp_60"
|
||||
android:layout_marginTop="@dimen/dp_68"
|
||||
android:text="@string/tab_version_info"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_38"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tvCarNoPos" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvPadVersion"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_45"
|
||||
android:layout_marginStart="@dimen/dp_16"
|
||||
android:gravity="center"
|
||||
android:text="@string/tab_version_pad_info"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_32"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tvVersionPos"
|
||||
app:layout_constraintLeft_toRightOf="@+id/tvVersionPos"
|
||||
app:layout_constraintTop_toTopOf="@+id/tvVersionPos" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvPADUpdate"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_45"
|
||||
android:text="@string/tab_version_update"
|
||||
android:textColor="@color/color_2EACFF"
|
||||
android:textSize="@dimen/dp_32"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tvPadVersion"
|
||||
app:layout_constraintRight_toRightOf="@+id/tvCarExit"
|
||||
app:layout_constraintTop_toTopOf="@+id/tvPadVersion" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvADVersion"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_45"
|
||||
android:layout_marginTop="@dimen/dp_20"
|
||||
android:gravity="center"
|
||||
android:text="@string/tab_version_ad_info"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_32"
|
||||
app:layout_constraintLeft_toLeftOf="@+id/tvPadVersion"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tvPadVersion" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvADUpdate"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_45"
|
||||
android:text="@string/tab_version_update"
|
||||
android:textColor="@color/color_2EACFF"
|
||||
android:textSize="@dimen/dp_32"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tvADVersion"
|
||||
app:layout_constraintRight_toRightOf="@+id/tvCarExit"
|
||||
app:layout_constraintTop_toTopOf="@+id/tvADVersion" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvHDMapVersion"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_45"
|
||||
android:layout_marginTop="@dimen/dp_20"
|
||||
android:gravity="center"
|
||||
android:text="@string/tab_version_hdmap_info"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_32"
|
||||
app:layout_constraintLeft_toLeftOf="@+id/tvADVersion"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tvADVersion" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvHDMapUpdate"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_45"
|
||||
android:text="@string/tab_version_update"
|
||||
android:textColor="@color/color_2EACFF"
|
||||
android:textSize="@dimen/dp_32"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tvHDMapVersion"
|
||||
app:layout_constraintRight_toRightOf="@+id/tvCarExit"
|
||||
app:layout_constraintTop_toTopOf="@+id/tvHDMapVersion" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvADMapVersion"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_45"
|
||||
android:layout_marginTop="@dimen/dp_20"
|
||||
android:gravity="center"
|
||||
android:text="@string/tab_version_admap_info"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_32"
|
||||
app:layout_constraintLeft_toLeftOf="@+id/tvHDMapVersion"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tvHDMapVersion" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvSnPos"
|
||||
android:layout_width="@dimen/dp_152"
|
||||
android:layout_height="@dimen/dp_53"
|
||||
android:layout_marginStart="@dimen/dp_60"
|
||||
android:layout_marginTop="@dimen/dp_232"
|
||||
android:text="@string/tab_sn"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_38"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tvVersionPos" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvSnInfo"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/dp_39"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_32"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tvSnPos"
|
||||
app:layout_constraintLeft_toRightOf="@+id/tvSnPos"
|
||||
app:layout_constraintTop_toTopOf="@+id/tvSnPos" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</ScrollView>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -16,7 +16,9 @@
|
||||
<color name="colorPrimaryDark">#3700B3</color>
|
||||
<color name="colorAccent">#03DAC5</color>
|
||||
<color name="color_000000">#000000</color>
|
||||
<color name="color_B3_000000">#B3000000</color>
|
||||
<color name="color_8F0005">#8F0005</color>
|
||||
<color name="color_2EACFF">#2EACFF</color>
|
||||
<color name="color_FF0006">#FF0006</color>
|
||||
<color name="color_0099dd">#0099dd</color>
|
||||
<color name="color_FFFFFF">#FFFFFF</color>
|
||||
|
||||
@@ -6,6 +6,13 @@
|
||||
<string name="tab_car_login_info">登陆信息</string>
|
||||
<string name="tab_car_exit">退出</string>
|
||||
<string name="tab_car_no">车辆绑定</string>
|
||||
<string name="tab_version_info">版本信息</string>
|
||||
<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_update">检查更新</string>
|
||||
|
||||
<string name="log_min">最小化</string>
|
||||
<string name="log_info">日志</string>
|
||||
|
||||
@@ -67,6 +67,7 @@ class ChainConstant {
|
||||
const val CHAIN_CODE_ADAS_P_OBJECTS = "CHAIN_CODE_ADAS_P_OBJECTS"
|
||||
const val CHAIN_CODE_ADAS_P_ACTIONS = "CHAIN_CODE_ADAS_P_ACTIONS"
|
||||
const val CHAIN_CODE_ADAS_STATUS_QUERY_RESP = "CHAIN_CODE_ADAS_STATUS_QUERY_RESP"
|
||||
const val CHAIN_CODE_ADAS_SYSTEM_STATUS = "CHAIN_CODE_ADAS_SYSTEM_STATUS"
|
||||
const val CHAIN_CODE_ADAS_PARALLEL = "CHAIN_CODE_ADAS_PARALLEL"
|
||||
const val CHAIN_CODE_ADAS_MAP_PARAM = "CHAIN_CODE_ADAS_MAP_PARAM"
|
||||
const val CHAIN_CODE_ADAS_V2N_EVENT = "CHAIN_CODE_ADAS_V2N_EVENT"
|
||||
|
||||
Reference in New Issue
Block a user