Merge branch 'dev_robotaxi-d_241112_6.8.0' of gitlab.zhidaoauto.com:SCA/L4HA/AndroidApp/MoGoEagleEye into dev_robotaxi-d_241112_6.8.0
This commit is contained in:
@@ -2,7 +2,11 @@ package com.mogo.eagle.core.function.hmi.ui.widget
|
||||
|
||||
import android.animation.ObjectAnimator
|
||||
import android.animation.ValueAnimator
|
||||
import android.content.BroadcastReceiver
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.IntentFilter
|
||||
import android.net.ConnectivityManager
|
||||
import android.os.CountDownTimer
|
||||
import android.text.TextUtils
|
||||
import android.util.AttributeSet
|
||||
@@ -32,20 +36,21 @@ import kotlinx.android.synthetic.main.view_cold_start.view.ivColdStartStatus
|
||||
import kotlinx.android.synthetic.main.view_cold_start.view.ivIpcConnectStatus
|
||||
import kotlinx.android.synthetic.main.view_cold_start.view.ivNodeListMask
|
||||
import kotlinx.android.synthetic.main.view_cold_start.view.ivSsmConnectStatus
|
||||
import kotlinx.android.synthetic.main.view_cold_start.view.ivWifiConnectStatus
|
||||
import kotlinx.android.synthetic.main.view_cold_start.view.rvNodeList
|
||||
import kotlinx.android.synthetic.main.view_cold_start.view.tvColdStartContent
|
||||
import kotlinx.android.synthetic.main.view_cold_start.view.tvColdStartNow
|
||||
import kotlinx.android.synthetic.main.view_cold_start.view.tvIpcConnectContent
|
||||
import kotlinx.android.synthetic.main.view_cold_start.view.tvSsmConnectContent
|
||||
import kotlinx.android.synthetic.main.view_cold_start.view.tvSystemStartupTitle
|
||||
import kotlinx.android.synthetic.main.view_cold_start.view.viewColdStartDivider
|
||||
import kotlinx.android.synthetic.main.view_cold_start.view.viewSsmConnectDivider
|
||||
import kotlinx.android.synthetic.main.view_cold_start.view.tvWifiConnectContent
|
||||
import system_master.SsmInfo
|
||||
import system_master.SystemStatusInfo
|
||||
import java.util.Locale
|
||||
import java.util.regex.Matcher
|
||||
import java.util.regex.Pattern
|
||||
|
||||
|
||||
/**
|
||||
* 冷启动呈现二期
|
||||
* 前置展示冷启动过程和结果
|
||||
@@ -63,12 +68,15 @@ class ColdStartView @JvmOverloads constructor(
|
||||
const val COLD_START_WAITING_TIME = 600000L //冷启动超时等待时间
|
||||
}
|
||||
|
||||
private var wifiConnectStatus = false //WIFI连接状态,默认是未连接
|
||||
private var ipcConnectStatus = false //连接域控状态,默认是未连接
|
||||
private var ssmConnectStatus = false //SSM连接状态,默认是未连接
|
||||
private var coldStartStatus = false //冷启动状态,默认是未冷启动成功
|
||||
|
||||
private var currentColdStartSuccess = false //冷启动成功状态,也是成功后动画完成状态
|
||||
|
||||
private var wifiRotationAnim: ObjectAnimator?= null //WIFI连接状态动画
|
||||
|
||||
private var ipcRotationAnim: ObjectAnimator?= null //域控连接状态动画
|
||||
|
||||
private var ssmRotationAnim: ObjectAnimator?= null //SSM连接状态动画
|
||||
@@ -117,6 +125,11 @@ class ColdStartView @JvmOverloads constructor(
|
||||
|
||||
override fun onAttachedToWindow() {
|
||||
super.onAttachedToWindow()
|
||||
// 注册广播接收器
|
||||
val intentFilter = IntentFilter()
|
||||
intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION)
|
||||
context.applicationContext.registerReceiver(networkStateReceiver, intentFilter)
|
||||
showWifiConnecting()
|
||||
CallerAutoPilotStatusListenerManager.addListener(TAG, this)
|
||||
CallerColdStartStateListenerManager.addListener(TAG,this)
|
||||
}
|
||||
@@ -125,24 +138,30 @@ class ColdStartView @JvmOverloads constructor(
|
||||
super.onDetachedFromWindow()
|
||||
CallerAutoPilotStatusListenerManager.removeListener(TAG)
|
||||
CallerColdStartStateListenerManager.removeListener(TAG)
|
||||
wifiRotationAnim?.cancel()
|
||||
ipcRotationAnim?.cancel()
|
||||
ssmRotationAnim?.cancel()
|
||||
connectSSMTimer?.cancel()
|
||||
coldStartRotationAnim?.cancel()
|
||||
connectColdStartTimer?.cancel()
|
||||
// 取消注册广播接收器
|
||||
context.applicationContext.unregisterReceiver(networkStateReceiver)
|
||||
}
|
||||
|
||||
override fun onAutopilotIpcConnectStatusChanged(
|
||||
status: AdasConstants.IpcConnectionStatus,
|
||||
reason: String?
|
||||
){
|
||||
ipcConnectStatus = status == AdasConstants.IpcConnectionStatus.CONNECTED
|
||||
if(!wifiConnectStatus){
|
||||
return
|
||||
}
|
||||
ThreadUtils.runOnUiThread {
|
||||
ipcConnectStatus = if(status == AdasConstants.IpcConnectionStatus.CONNECTED){
|
||||
if(status == AdasConstants.IpcConnectionStatus.CONNECTED){
|
||||
//域控连接成功
|
||||
if(!ipcConnectStatus){
|
||||
if(ipcConnectStatus){
|
||||
showIPCConnectSuccessView()
|
||||
}
|
||||
true
|
||||
}else{
|
||||
//域控连接失败
|
||||
when(status){
|
||||
@@ -206,8 +225,6 @@ class ColdStartView @JvmOverloads constructor(
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 状态查询应答
|
||||
* @param status 数据
|
||||
@@ -331,6 +348,28 @@ class ColdStartView @JvmOverloads constructor(
|
||||
}
|
||||
}
|
||||
|
||||
private val networkStateReceiver: BroadcastReceiver = object: BroadcastReceiver(){
|
||||
override fun onReceive(context: Context?, intent: Intent?) {
|
||||
if (intent!!.action.equals(ConnectivityManager.CONNECTIVITY_ACTION)) {
|
||||
val connectivityManager =
|
||||
context!!.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
|
||||
val networkInfo = connectivityManager.activeNetworkInfo
|
||||
ThreadUtils.runOnUiThread {
|
||||
if (networkInfo != null && networkInfo.isConnected) {
|
||||
// 网络连接可用
|
||||
connectWifiSuccess()
|
||||
} else {
|
||||
// 网络连接不可用
|
||||
showWifiConnecting()
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 冷启动状态
|
||||
*/
|
||||
@@ -392,12 +431,12 @@ class ColdStartView @JvmOverloads constructor(
|
||||
ipcRotationAnim?.cancel()
|
||||
ivIpcConnectStatus.rotation = 0f
|
||||
tvSystemStartupTitle.text = resources.getString(R.string.cold_start_title_ssm_wait)
|
||||
tvSystemStartupTitle.setTextColor(ContextCompat.getColor(context, R.color.white))
|
||||
ivIpcConnectStatus.setImageDrawable(ResourceUtils.getDrawable(R.drawable.icon_cold_start_success))
|
||||
tvIpcConnectContent.text = resources.getString(R.string.ipc_connect_success)
|
||||
//开启连接SSM倒计时
|
||||
connectSSMProcess()
|
||||
//域控连接成功后开始展示SSM连接状态
|
||||
viewSsmConnectDivider.visibility = View.VISIBLE
|
||||
ivSsmConnectStatus.setImageDrawable(ResourceUtils.getDrawable(R.drawable.icon_cold_start_process))
|
||||
//旋转动画
|
||||
if(ssmRotationAnim == null){
|
||||
@@ -411,13 +450,7 @@ class ColdStartView @JvmOverloads constructor(
|
||||
//设置SSM连接文案为连接中
|
||||
tvSsmConnectContent.text = resources.getString(R.string.ssm_connect_loading)
|
||||
tvSsmConnectContent.setTextColor(ContextCompat.getColor(context, android.R.color.white))
|
||||
viewSsmConnectDivider.visibility = View.VISIBLE
|
||||
ivSsmConnectStatus.visibility = View.VISIBLE
|
||||
tvSsmConnectContent.visibility = View.VISIBLE
|
||||
//隐藏冷启动相关视图
|
||||
viewColdStartDivider.visibility = View.GONE
|
||||
ivColdStartStatus.visibility = View.GONE
|
||||
tvColdStartContent.visibility = View.GONE
|
||||
rvNodeList.visibility = View.GONE
|
||||
ivNodeListMask.visibility = View.GONE
|
||||
//域控连接成功埋点统计
|
||||
@@ -434,6 +467,7 @@ class ColdStartView @JvmOverloads constructor(
|
||||
*/
|
||||
private fun showIPCConnectFailView(failReason: String?){
|
||||
tvSystemStartupTitle.text = resources.getString(R.string.cold_start_title_tel_exception)
|
||||
tvSystemStartupTitle.setTextColor(ContextCompat.getColor(context, R.color.cold_start_fail))
|
||||
if(tvIpcConnectContent.text.isNotEmpty() && tvIpcConnectContent.text.equals(failReason)){
|
||||
return
|
||||
}
|
||||
@@ -443,14 +477,7 @@ class ColdStartView @JvmOverloads constructor(
|
||||
failReason?.let {
|
||||
tvIpcConnectContent.text = it
|
||||
}
|
||||
//隐藏SSM相关视图
|
||||
viewSsmConnectDivider.visibility = View.GONE
|
||||
ivSsmConnectStatus.visibility = View.GONE
|
||||
tvSsmConnectContent.visibility = View.GONE
|
||||
//隐藏冷启动相关视图
|
||||
viewColdStartDivider.visibility = View.GONE
|
||||
ivColdStartStatus.visibility = View.GONE
|
||||
tvColdStartContent.visibility = View.GONE
|
||||
rvNodeList.visibility = View.GONE
|
||||
ivNodeListMask.visibility = View.GONE
|
||||
//域控连接失败埋点统计
|
||||
@@ -462,8 +489,75 @@ class ColdStartView @JvmOverloads constructor(
|
||||
newColdStart = false
|
||||
}
|
||||
|
||||
/**
|
||||
* 等待网络连接
|
||||
*/
|
||||
private fun showWifiConnecting(){
|
||||
wifiConnectStatus = false
|
||||
tvSystemStartupTitle.text = resources.getString(R.string.cold_start_title_wifi_wait)
|
||||
tvSystemStartupTitle.setTextColor(ContextCompat.getColor(context, R.color.white))
|
||||
ivWifiConnectStatus.setImageDrawable(ResourceUtils.getDrawable(R.drawable.icon_cold_start_process))
|
||||
tvWifiConnectContent.text = resources.getString(R.string.wifi_connect_loading)
|
||||
if(wifiRotationAnim == null){
|
||||
wifiRotationAnim = ObjectAnimator.ofFloat(ivWifiConnectStatus, "rotation", 0f, 360f)
|
||||
}
|
||||
wifiRotationAnim?.repeatCount = ValueAnimator.INFINITE
|
||||
wifiRotationAnim?.repeatMode = ValueAnimator.RESTART
|
||||
wifiRotationAnim?.duration = 1500
|
||||
wifiRotationAnim?.interpolator = LinearInterpolator()
|
||||
wifiRotationAnim?.start()
|
||||
//动画和计时器重置
|
||||
ipcRotationAnim?.cancel()
|
||||
ivIpcConnectStatus.rotation = 0f
|
||||
ssmRotationAnim?.cancel()
|
||||
ivSsmConnectStatus.rotation = 0f
|
||||
connectSSMTimer?.cancel()
|
||||
coldStartRotationAnim?.cancel()
|
||||
ivColdStartStatus.rotation = 0f
|
||||
connectColdStartTimer?.cancel()
|
||||
//域控连接状态展示
|
||||
ivIpcConnectStatus.setImageDrawable(ResourceUtils.getDrawable(R.drawable.icon_cold_start_wait))
|
||||
tvIpcConnectContent.text = resources.getString(R.string.ipc_connect_wait)
|
||||
//SSM连接状态展示
|
||||
ivSsmConnectStatus.setImageDrawable(ResourceUtils.getDrawable(R.drawable.icon_cold_start_wait))
|
||||
tvSsmConnectContent.text = resources.getString(R.string.ssm_connect_wait)
|
||||
//冷启动节点状态展示
|
||||
ivColdStartStatus.setImageDrawable(ResourceUtils.getDrawable(R.drawable.icon_cold_start_wait))
|
||||
tvColdStartContent.text = resources.getString(R.string.cold_start_wait)
|
||||
//隐藏Topic列表
|
||||
rvNodeList.visibility = View.GONE
|
||||
ivNodeListMask.visibility = View.GONE
|
||||
ipcConnectStatus = false
|
||||
}
|
||||
|
||||
private fun connectWifiSuccess(){
|
||||
wifiConnectStatus = true
|
||||
wifiRotationAnim?.cancel()
|
||||
ivWifiConnectStatus.rotation = 0f
|
||||
ivWifiConnectStatus.setImageDrawable(ResourceUtils.getDrawable(R.drawable.icon_cold_start_success))
|
||||
tvWifiConnectContent.text = resources.getString(R.string.wifi_connect_success)
|
||||
//开始连接域控
|
||||
tvIpcConnectContent.text = resources.getString(R.string.ipc_connect_loading)
|
||||
ivIpcConnectStatus.setImageDrawable(ResourceUtils.getDrawable(R.drawable.icon_cold_start_process))
|
||||
if(ipcRotationAnim == null){
|
||||
ipcRotationAnim = ObjectAnimator.ofFloat(ivIpcConnectStatus, "rotation", 0f, 360f)
|
||||
}
|
||||
ipcRotationAnim?.repeatCount = ValueAnimator.INFINITE
|
||||
ipcRotationAnim?.repeatMode = ValueAnimator.RESTART
|
||||
ipcRotationAnim?.duration = 1500
|
||||
ipcRotationAnim?.interpolator = LinearInterpolator()
|
||||
ipcRotationAnim?.start()
|
||||
//隐藏冷启动相关视图
|
||||
rvNodeList.visibility = View.GONE
|
||||
ivNodeListMask.visibility = View.GONE
|
||||
if(ipcConnectStatus){
|
||||
showIPCConnectSuccessView()
|
||||
}
|
||||
}
|
||||
|
||||
private fun showIPCConnecting(){
|
||||
tvSystemStartupTitle.text = resources.getString(R.string.cold_start_title_tel_wait)
|
||||
tvSystemStartupTitle.setTextColor(ContextCompat.getColor(context, R.color.white))
|
||||
ivIpcConnectStatus.setImageDrawable(ResourceUtils.getDrawable(R.drawable.icon_cold_start_process))
|
||||
tvIpcConnectContent.text = "正在重连域控..."
|
||||
if(ipcRotationAnim == null){
|
||||
@@ -474,14 +568,7 @@ class ColdStartView @JvmOverloads constructor(
|
||||
ipcRotationAnim?.duration = 1500
|
||||
ipcRotationAnim?.interpolator = LinearInterpolator()
|
||||
ipcRotationAnim?.start()
|
||||
//隐藏SSM相关视图
|
||||
viewSsmConnectDivider.visibility = View.GONE
|
||||
ivSsmConnectStatus.visibility = View.GONE
|
||||
tvSsmConnectContent.visibility = View.GONE
|
||||
//隐藏冷启动相关视图
|
||||
viewColdStartDivider.visibility = View.GONE
|
||||
ivColdStartStatus.visibility = View.GONE
|
||||
tvColdStartContent.visibility = View.GONE
|
||||
rvNodeList.visibility = View.GONE
|
||||
ivNodeListMask.visibility = View.GONE
|
||||
}
|
||||
@@ -508,6 +595,7 @@ class ColdStartView @JvmOverloads constructor(
|
||||
*/
|
||||
private fun showSSMConnectSuccessView(){
|
||||
tvSystemStartupTitle.text = resources.getString(R.string.cold_start_title_sys_wait)
|
||||
tvSystemStartupTitle.setTextColor(ContextCompat.getColor(context, R.color.white))
|
||||
//取消旋转动画
|
||||
ssmRotationAnim?.cancel()
|
||||
//取消连接SSM超时等待倒计时
|
||||
@@ -518,9 +606,6 @@ class ColdStartView @JvmOverloads constructor(
|
||||
tvSsmConnectContent.text = resources.getString(R.string.ssm_connect_success)
|
||||
tvSsmConnectContent.setTextColor(ContextCompat.getColor(context, R.color.white))
|
||||
//展示冷启动连接过程视图
|
||||
viewColdStartDivider.visibility = View.VISIBLE
|
||||
ivColdStartStatus.visibility = View.VISIBLE
|
||||
tvColdStartContent.visibility = View.VISIBLE
|
||||
rvNodeList.visibility = View.VISIBLE
|
||||
ivNodeListMask.visibility = View.VISIBLE
|
||||
tvColdStartContent.text = "启动中…"
|
||||
@@ -541,6 +626,7 @@ class ColdStartView @JvmOverloads constructor(
|
||||
*/
|
||||
private fun showSSMConnectFailView(){
|
||||
tvSystemStartupTitle.text = resources.getString(R.string.cold_start_title_ssm_exception)
|
||||
tvSystemStartupTitle.setTextColor(ContextCompat.getColor(context, R.color.cold_start_fail))
|
||||
//取消旋转动画
|
||||
ssmRotationAnim?.cancel()
|
||||
ivSsmConnectStatus.rotation = 0f
|
||||
@@ -606,6 +692,7 @@ class ColdStartView @JvmOverloads constructor(
|
||||
*/
|
||||
private fun showColdStartFailView(){
|
||||
tvSystemStartupTitle.text = resources.getString(R.string.cold_start_title_sys_exception)
|
||||
tvSystemStartupTitle.setTextColor(ContextCompat.getColor(context, R.color.cold_start_fail))
|
||||
coldStartRotationAnim?.cancel()
|
||||
ivColdStartStatus.rotation = 0f
|
||||
ivColdStartStatus.setImageDrawable(ResourceUtils.getDrawable(R.drawable.icon_cold_start_fail))
|
||||
@@ -619,6 +706,7 @@ class ColdStartView @JvmOverloads constructor(
|
||||
private fun showColdStartSuccessView(){
|
||||
if(coldStartStatus){
|
||||
tvSystemStartupTitle.text = resources.getString(R.string.cold_start_title_sys_success)
|
||||
tvSystemStartupTitle.setTextColor(ContextCompat.getColor(context, R.color.white))
|
||||
coldStartRotationAnim?.cancel()
|
||||
ivColdStartStatus.rotation = 0f
|
||||
ivColdStartStatus.setImageDrawable(ResourceUtils.getDrawable(R.drawable.icon_cold_start_success))
|
||||
|
||||
@@ -401,7 +401,7 @@ open class MainActivity : MvpActivity<MainView?, MainPresenter?>(), MainView,
|
||||
// 弹出对话框告诉用户需要权限的原因, 并引导用户去应用权限管理中手动打开权限按钮
|
||||
if (!isFirst) {
|
||||
if (reasong.isNotEmpty()) {
|
||||
val substring = reasong.substring(0, reasong.length - 2)
|
||||
val substring = reasong.substring(0, reasong.length - 1)
|
||||
PermissionsDialogUtils.openAppDetails(this, substring, REQUEST_CODE_DIALOG)
|
||||
}else {
|
||||
PermissionsDialogUtils.openAppDetails(this, null, REQUEST_CODE_DIALOG)
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 939 B After Width: | Height: | Size: 954 B |
Binary file not shown.
|
After Width: | Height: | Size: 1.3 KiB |
@@ -20,15 +20,49 @@
|
||||
/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivIpcConnectStatus"
|
||||
android:id="@+id/ivWifiConnectStatus"
|
||||
android:layout_width="@dimen/dp_40"
|
||||
android:layout_height="@dimen/dp_40"
|
||||
app:layout_constraintTop_toBottomOf="@id/tvSystemStartupTitle"
|
||||
app:layout_constraintLeft_toLeftOf="@id/tvSystemStartupTitle"
|
||||
android:contentDescription="@string/ipc_connect_icon"
|
||||
android:contentDescription="@string/wifi_connect_icon"
|
||||
android:layout_marginTop="@dimen/dp_50"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvWifiConnectContent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toTopOf="@id/ivWifiConnectStatus"
|
||||
app:layout_constraintBottom_toBottomOf="@id/ivWifiConnectStatus"
|
||||
app:layout_constraintLeft_toRightOf="@id/ivWifiConnectStatus"
|
||||
android:textSize="@dimen/sp_36"
|
||||
android:textColor="@color/white"
|
||||
android:layout_marginStart="@dimen/dp_15"
|
||||
android:text="@string/wifi_connect_loading"
|
||||
/>
|
||||
|
||||
<View
|
||||
android:id="@+id/viewWifiConnectDivider"
|
||||
android:layout_width="@dimen/dp_4"
|
||||
android:layout_height="@dimen/dp_26"
|
||||
app:layout_constraintLeft_toLeftOf="@id/ivWifiConnectStatus"
|
||||
app:layout_constraintRight_toRightOf="@id/ivWifiConnectStatus"
|
||||
app:layout_constraintTop_toBottomOf="@id/ivWifiConnectStatus"
|
||||
android:layout_marginTop="@dimen/dp_5"
|
||||
android:background="@drawable/bg_cold_start_divider"
|
||||
/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivIpcConnectStatus"
|
||||
android:layout_width="@dimen/dp_40"
|
||||
android:layout_height="@dimen/dp_40"
|
||||
app:layout_constraintTop_toBottomOf="@id/viewWifiConnectDivider"
|
||||
app:layout_constraintLeft_toLeftOf="@id/ivWifiConnectStatus"
|
||||
android:contentDescription="@string/ipc_connect_icon"
|
||||
android:layout_marginTop="@dimen/dp_5"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvIpcConnectContent"
|
||||
android:layout_width="wrap_content"
|
||||
@@ -50,7 +84,6 @@
|
||||
app:layout_constraintTop_toBottomOf="@id/ivIpcConnectStatus"
|
||||
android:layout_marginTop="@dimen/dp_5"
|
||||
android:background="@drawable/bg_cold_start_divider"
|
||||
android:visibility="invisible"
|
||||
/>
|
||||
|
||||
<ImageView
|
||||
@@ -85,7 +118,6 @@
|
||||
app:layout_constraintTop_toBottomOf="@id/ivSsmConnectStatus"
|
||||
android:layout_marginTop="@dimen/dp_5"
|
||||
android:background="@drawable/bg_cold_start_divider"
|
||||
android:visibility="invisible"
|
||||
/>
|
||||
|
||||
<ImageView
|
||||
|
||||
@@ -92,6 +92,6 @@
|
||||
|
||||
<color name="auto_exploration_content_p">#131415</color>
|
||||
|
||||
<color name="cold_start_fail">#FFCD3D</color>
|
||||
<color name="cold_start_fail">#FF4E41</color>
|
||||
|
||||
</resources>
|
||||
@@ -213,19 +213,27 @@
|
||||
<string name="traffic_light_source">红绿灯信号来源</string>
|
||||
<string name="report_success">已发起上报</string>
|
||||
|
||||
<string name="wifi_connect_icon">Wifi连接状态图标</string>
|
||||
<string name="ipc_connect_icon">域控连接状态图标</string>
|
||||
<string name="ssm_connect_icon">SSM连接状态图标</string>
|
||||
<string name="cold_start_icon">冷启动状态图标</string>
|
||||
<string name="wifi_connect_loading">等待连接车辆WiFi…</string>
|
||||
<string name="wifi_connect_success">已连接车辆Wi-Fi</string>
|
||||
<string name="ipc_connect_wait">待连接域控</string>
|
||||
<string name="ipc_connect_loading">连接域控…</string>
|
||||
<string name="ipc_connect_success">已连接域控</string>
|
||||
<string name="cold_start_in_progress_title">系统启动中…</string>
|
||||
<string name="cold_start_success_title">系统启动成功</string>
|
||||
<string name="cold_start_fail_title">系统启动失败</string>
|
||||
<string name="ssm_connect_wait">待连接SSM</string>
|
||||
<string name="ssm_connect_loading">正在等待SSM信息</string>
|
||||
<string name="ssm_connect_success">与SSM通信正常</string>
|
||||
<string name="ssm_connect_fail">超时未收到SSM信息,建议重启车辆并上报问题</string>
|
||||
<string name="cold_start_wait">待启动</string>
|
||||
<string name="cold_start_success_content">系统启动成功,即将进入主页</string>
|
||||
<string name="cold_start_fail_content">系统启动异常,建议上报问题,可尝试重启车辆</string>
|
||||
|
||||
<string name="cold_start_title_wifi_wait">等待车辆上电</string>
|
||||
<string name="cold_start_title_tel_wait">等待连接域控</string>
|
||||
<string name="cold_start_title_tel_exception">连接域控异常,持续重试中</string>
|
||||
<string name="cold_start_title_ssm_wait">等待SSM信息</string>
|
||||
|
||||
Reference in New Issue
Block a user