[630][adas] 修复处于PING状态时,无法停止PING问题
This commit is contained in:
@@ -29,6 +29,7 @@ import com.mogo.cloud.passport.MoGoAiCloudClientConfig
|
||||
import com.mogo.commons.constants.SharedPrefsConstants
|
||||
import com.mogo.commons.debug.DebugConfig
|
||||
import com.mogo.commons.module.status.MogoStatusManager
|
||||
import com.mogo.commons.storage.SharedPrefsMgr
|
||||
import com.mogo.eagle.core.data.app.AppConfigInfo
|
||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
||||
import com.mogo.eagle.core.data.config.HmiBuildConfig
|
||||
@@ -49,6 +50,7 @@ import com.mogo.eagle.core.data.multidisplay.TelematicConstant
|
||||
import com.mogo.eagle.core.data.obu.MogoObuConst
|
||||
import com.mogo.eagle.core.data.obu.ObuStatusInfo
|
||||
import com.mogo.eagle.core.function.api.autopilot.*
|
||||
import com.mogo.eagle.core.function.api.cloud.IMoGoCloudListener
|
||||
import com.mogo.eagle.core.function.api.datacenter.obu.IMoGoObuConnectListener
|
||||
import com.mogo.eagle.core.function.api.datacenter.obu.IMoGoObuInfoListener
|
||||
import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsFuncConfigListener
|
||||
@@ -58,6 +60,8 @@ import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener.Companion.
|
||||
import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener.Companion.FUNC_MODE_RAIN
|
||||
import com.mogo.eagle.core.function.api.setting.ISopSettingListener
|
||||
import com.mogo.eagle.core.function.call.autopilot.*
|
||||
import com.mogo.eagle.core.function.call.cloud.CallerCloudCertManager
|
||||
import com.mogo.eagle.core.function.call.cloud.CallerCloudListenerManager
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsFuncConfigListenerManager
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsListenerManager
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager
|
||||
@@ -82,15 +86,12 @@ import com.mogo.eagle.core.utilcode.mogo.logger.LogLevel
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.eagle.core.utilcode.mogo.permissions.BackgrounderPermission
|
||||
import com.mogo.commons.storage.SharedPrefsMgr
|
||||
import com.mogo.eagle.core.function.api.cloud.IMoGoCloudListener
|
||||
import com.mogo.eagle.core.function.call.cloud.CallerCloudCertManager
|
||||
import com.mogo.eagle.core.function.call.cloud.CallerCloudListenerManager
|
||||
import com.mogo.eagle.core.utilcode.mogo.toast.TipToast
|
||||
import com.mogo.eagle.core.utilcode.util.*
|
||||
import com.mogo.map.MogoData.Companion.mogoMapData
|
||||
import com.mogo.map.uicontroller.VisualAngleMode
|
||||
import com.mogo.map.uicontroller.VisualAngleMode.*
|
||||
import com.zhjt.mogo.adas.data.AdasConstants
|
||||
import com.zhjt.service.chain.ChainLog
|
||||
import kotlinx.android.synthetic.main.view_debug_setting.view.*
|
||||
import kotlinx.coroutines.*
|
||||
@@ -193,6 +194,8 @@ internal class DebugSettingView @JvmOverloads constructor(
|
||||
|
||||
// 高精地图是否已缓存
|
||||
private var isHDCached = false
|
||||
private var isClickCheckedCbSsl = false//是否已经点击且选中证书认证按钮
|
||||
private var isFirstDownLoadCertHint = false
|
||||
|
||||
init {
|
||||
LayoutInflater.from(context).inflate(R.layout.view_debug_setting, this, true)
|
||||
@@ -724,8 +727,8 @@ internal class DebugSettingView @JvmOverloads constructor(
|
||||
CallerAutoPilotControlManager.setDemoMode(FunctionBuildConfig.isDemoMode)
|
||||
CallerSopSettingManager.invokeDemoModeListener(isChecked)
|
||||
CallerHmiViewControlListenerManager.invokeFuncMode(
|
||||
FUNC_MODE_DEMO,
|
||||
FunctionBuildConfig.isDemoMode
|
||||
FUNC_MODE_DEMO,
|
||||
FunctionBuildConfig.isDemoMode
|
||||
)
|
||||
if (!FunctionBuildConfig.isDemoMode) {
|
||||
//关闭美化模式时,通知工控机
|
||||
@@ -1058,8 +1061,16 @@ internal class DebugSettingView @JvmOverloads constructor(
|
||||
ToastUtils.showLong("经纬度复制成功")
|
||||
}
|
||||
|
||||
val certTxt = if(CallerCloudCertManager.getRootCrtF().isNullOrEmpty()) "未下载证书" else "已下载证书"
|
||||
tvCertFile.text = "证书状态: $certTxt"
|
||||
val certTxt =
|
||||
if (CallerCloudCertManager.getRootCrtF()
|
||||
.isNullOrEmpty()
|
||||
) "<font color='red'>未下载证书</font>" else "<font color='green'>已下载证书</font>"
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
||||
tvCertFile.text = Html.fromHtml("证书状态: $certTxt", Html.FROM_HTML_MODE_LEGACY)
|
||||
} else {
|
||||
tvCertFile.text = Html.fromHtml("证书状态: $certTxt")
|
||||
}
|
||||
|
||||
|
||||
//状态中心-后台优化状态
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
||||
@@ -1272,27 +1283,49 @@ internal class DebugSettingView @JvmOverloads constructor(
|
||||
}
|
||||
}
|
||||
//是否启用证书认证
|
||||
cbSsl.isChecked = SharedPrefsMgr.getInstance().getBoolean(MoGoConfig.AUTOPILOT_CERTIFICATION,false)
|
||||
cbSsl.isChecked =
|
||||
SharedPrefsMgr.getInstance().getBoolean(
|
||||
MoGoConfig.AUTOPILOT_CERTIFICATION,
|
||||
MoGoConfig.AUTOPILOT_CERTIFICATION_DEFAULT_VALUE
|
||||
)
|
||||
cbSsl.setOnCheckedChangeListener { _, isChecked ->
|
||||
cbSsl.isChecked = isChecked
|
||||
SharedPrefsMgr.getInstance().putBoolean(MoGoConfig.AUTOPILOT_CERTIFICATION,isChecked)
|
||||
//下载证书
|
||||
if(isChecked){
|
||||
if(CallerCloudCertManager.getRootCrtF().isNullOrEmpty()){
|
||||
CallerCloudCertManager.certFileDownLoad{ errorMsg ->
|
||||
isClickCheckedCbSsl = isChecked
|
||||
// 下载证书
|
||||
if (isChecked) {
|
||||
if (CallerCloudCertManager.getRootCrtF().isNullOrEmpty()) {
|
||||
if (!isFirstDownLoadCertHint) {
|
||||
isFirstDownLoadCertHint = true
|
||||
ToastUtils.showShort("证书文件不存在,正在下载")
|
||||
}
|
||||
cbSsl.isChecked = false
|
||||
CallerCloudCertManager.certFileDownLoad { errorMsg ->
|
||||
ThreadUtils.runOnUiThread {
|
||||
ToastUtils.showShort(errorMsg)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
SharedPrefsMgr.getInstance()
|
||||
.putBoolean(MoGoConfig.AUTOPILOT_CERTIFICATION, cbSsl.isChecked)
|
||||
}
|
||||
}
|
||||
|
||||
override fun authCrtFile(device: String, root: String) {
|
||||
super.authCrtFile(device, root)
|
||||
ThreadUtils.runOnUiThread {
|
||||
tvCertFile.text = "证书状态: 已下载证书"
|
||||
if (isClickCheckedCbSsl) {
|
||||
cbSsl.isChecked = true
|
||||
SharedPrefsMgr.getInstance()
|
||||
.putBoolean(MoGoConfig.AUTOPILOT_CERTIFICATION, true)
|
||||
}
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
||||
tvCertFile.text = Html.fromHtml(
|
||||
"证书状态: <font color='green'>已下载证书</font>",
|
||||
Html.FROM_HTML_MODE_LEGACY
|
||||
)
|
||||
} else {
|
||||
tvCertFile.text = Html.fromHtml("证书状态: <font color='green'>已下载证书</font>")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1426,10 +1459,10 @@ internal class DebugSettingView @JvmOverloads constructor(
|
||||
/**
|
||||
* 设置是否开启pre check, true-打开,false-关闭
|
||||
*/
|
||||
tbTraceEnable.isChecked = SharedPrefsMgr.getInstance().getBoolean("TRACE_ENABLE",true)
|
||||
tbTraceEnable.isChecked = SharedPrefsMgr.getInstance().getBoolean("TRACE_ENABLE", true)
|
||||
tbTraceEnable.setOnCheckedChangeListener { _, isChecked ->
|
||||
HmiActionLog.hmiAction(TAG + "TRACE_ENABLE",isChecked)
|
||||
SharedPrefsMgr.getInstance().putBoolean("TRACE_ENABLE",isChecked)
|
||||
HmiActionLog.hmiAction(TAG + "TRACE_ENABLE", isChecked)
|
||||
SharedPrefsMgr.getInstance().putBoolean("TRACE_ENABLE", isChecked)
|
||||
CallerDevaToolsManager.setTraceEnable(isChecked)
|
||||
}
|
||||
|
||||
@@ -1924,55 +1957,47 @@ internal class DebugSettingView @JvmOverloads constructor(
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 自动驾驶状态回调
|
||||
*/
|
||||
override fun onAutopilotStatusResponse(state: Int) {
|
||||
setAutopilotConnectStatus()
|
||||
override fun onAutopilotIpcConnectStatusChanged(
|
||||
status: AdasConstants.IpcConnectionStatus,
|
||||
reason: String?
|
||||
) {
|
||||
setAutopilotConnectStatus(status)
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置工控机连接状态
|
||||
*/
|
||||
private fun setAutopilotConnectStatus() {
|
||||
ThreadUtils.runOnUiThread {
|
||||
tvAutopilotConnectStatus.text = Html.fromHtml(
|
||||
"工控机连接状态:${
|
||||
if (AppConfigInfo.isConnectAutopilot) {
|
||||
"<font color='blue'>正常"
|
||||
} else {
|
||||
"<font color='red'>异常 原因:${
|
||||
if (AppConfigInfo.connectStatusDescribe.isNullOrEmpty()) {
|
||||
"主动断开连接"
|
||||
} else {
|
||||
AppConfigInfo.connectStatusDescribe
|
||||
}
|
||||
}"
|
||||
}
|
||||
}"
|
||||
)
|
||||
private fun setAutopilotConnectStatus(status: AdasConstants.IpcConnectionStatus = AdasConstants.IpcConnectionStatus.DISCONNECTED) {
|
||||
val color = when (status) {
|
||||
AdasConstants.IpcConnectionStatus.CONNECTED -> {
|
||||
"<font color='green'>"
|
||||
}
|
||||
|
||||
if (AppConfigInfo.isConnectAutopilot) {
|
||||
AdasConstants.IpcConnectionStatus.CONNECTING,
|
||||
AdasConstants.IpcConnectionStatus.RECONNECTING_TIMER,
|
||||
AdasConstants.IpcConnectionStatus.RECONNECTING_NETWORK,
|
||||
AdasConstants.IpcConnectionStatus.SEARCH_ADDRESS -> {
|
||||
"<font color='blue'>"
|
||||
}
|
||||
|
||||
else -> {
|
||||
"<font color='red'>"
|
||||
}
|
||||
}
|
||||
val msg = Html.fromHtml("工控机连接状态:${color}${AppConfigInfo.connectStatusDescribe}")
|
||||
ThreadUtils.runOnUiThread {
|
||||
tvAutopilotConnectStatus.text = msg
|
||||
if (status == AdasConstants.IpcConnectionStatus.CONNECTED ||
|
||||
status == AdasConstants.IpcConnectionStatus.CONNECTING ||
|
||||
status == AdasConstants.IpcConnectionStatus.RECONNECTING_TIMER ||
|
||||
status == AdasConstants.IpcConnectionStatus.RECONNECTING_NETWORK ||
|
||||
status == AdasConstants.IpcConnectionStatus.SEARCH_ADDRESS
|
||||
) {
|
||||
tvIpcConnectStatus.minLines = 1
|
||||
} else {
|
||||
tvIpcConnectStatus.minLines = 4
|
||||
}
|
||||
|
||||
tvIpcConnectStatus.text = Html.fromHtml(
|
||||
"工控机连接状态:${
|
||||
if (AppConfigInfo.isConnectAutopilot) {
|
||||
"<font color='blue'>正常"
|
||||
} else {
|
||||
"<font color='red'>异常 原因:${
|
||||
if (AppConfigInfo.connectStatusDescribe.isNullOrEmpty()) {
|
||||
"主动断开连接"
|
||||
} else {
|
||||
AppConfigInfo.connectStatusDescribe
|
||||
}
|
||||
}"
|
||||
}
|
||||
}"
|
||||
)
|
||||
tvIpcConnectStatus.text = msg
|
||||
//如果是乘客端,则不显示工控机连接状态
|
||||
if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) {
|
||||
tvIpcConnectStatus.visibility = View.GONE
|
||||
|
||||
Reference in New Issue
Block a user