From 29913b6eeed32172aaf1549c2bb87670799c76dc Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Wed, 6 Mar 2024 19:24:47 +0800 Subject: [PATCH] =?UTF-8?q?[6.3.0]=E4=B8=80=E9=94=AE=E5=81=9C=E6=9C=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DevaToolsProvider.kt | 58 +++ .../adas/PowerOffManager.kt | 119 +++++ .../function/hmi/ui/widget/CheckSystemView.kt | 446 +++++++++++++++--- .../res/drawable-xhdpi/check_shut_down.png | Bin 24019 -> 0 bytes .../res/drawable-xhdpi/icon_shut_down.png | Bin 0 -> 24009 bytes .../icon_shut_down_background.png | Bin 0 -> 19905 bytes .../icon_shut_down_complete.png | Bin 0 -> 23653 bytes .../drawable-xhdpi/icon_shut_down_fail.png | Bin 0 -> 25183 bytes .../icon_shut_down_progress.png | Bin 0 -> 4536 bytes .../icon_shut_down_progress_background.png | Bin 0 -> 2792 bytes .../drawable-xhdpi/icon_shut_down_success.png | Bin 0 -> 24028 bytes .../src/main/res/layout/view_check_system.xml | 86 +++- .../src/main/res/values/strings.xml | 2 +- .../eagle/core/data/enums/EventTypeEnumNew.kt | 15 + .../api/devatools/IDevaToolsProvider.kt | 40 ++ .../api/devatools/IPowerOffListener.kt | 25 + ...CallerReceiveReceivedAckListenerManager.kt | 3 - .../call/devatools/CallerDevaToolsManager.kt | 56 +++ .../call/devatools/CallerPowerOffManager.kt | 48 ++ .../zhjt/mogo/adas/data/bean/ReceivedAck.java | 14 +- 20 files changed, 816 insertions(+), 96 deletions(-) create mode 100644 core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/adas/PowerOffManager.kt delete mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/check_shut_down.png create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_shut_down.png create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_shut_down_background.png create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_shut_down_complete.png create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_shut_down_fail.png create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_shut_down_progress.png create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_shut_down_progress_background.png create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_shut_down_success.png create mode 100644 core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IPowerOffListener.kt create mode 100644 core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerPowerOffManager.kt diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt index 827aa6b940..f823bf758a 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt @@ -39,6 +39,7 @@ import com.tencent.matrix.trace.config.TraceConfig import com.zhjt.mogo_core_function_devatools.apm.* import com.mogo.eagle.core.function.api.upgrade.* import com.mogo.weak.network.SdtManager +import com.zhjt.mogo_core_function_devatools.adas.PowerOffManager import com.zhjt.mogo_core_function_devatools.badcase.BadCaseManager import com.zhjt.mogo_core_function_devatools.badcase.consts.BadCaseConfig import com.zhjt.mogo_core_function_devatools.binding.* @@ -305,6 +306,63 @@ class DevaToolsProvider : IDevaToolsProvider { BadCaseManager.showBadCaseManagerWindow(context) } + /** + * 启动调用SSM停服命令超时检测 + */ + override fun startCommandWaitCountDown() { + PowerOffManager.startCommandWaitCountDown() + } + + /** + * 停止调用SSM停服命令超时检测 + */ + override fun stopCommandWaitCountDown() { + PowerOffManager.stopCommandWaitCountDown() + } + + /** + * 开始车辆下电等待倒计时 + */ + override fun startPowerDownCountDown() { + PowerOffManager.startPowerDownCountDown() + } + + /** + * 结束车辆下电等待倒计时 + */ + override fun stopPowerDownCountDown() { + PowerOffManager.stopPowerDownCountDown() + } + + /** + * 状态按钮变更倒计时 + */ + override fun statusChangeCountDown(isSuccess: Boolean) { + PowerOffManager.statusChangeCountDown(isSuccess) + } + + /** + * 结束状态按钮变更倒计时 + */ + override fun stopStatusCountDown() { + PowerOffManager.stopStatusCountDown() + } + + /** + * 设置停服状态 + */ + override fun setPowerOffStatus(status: Int) { + PowerOffManager.setPowerOffStatus(status) + } + + /** + * 获取停服状态 + */ + override fun getPowerOffStatus(): Int { + return PowerOffManager.getPowerOffStatus() + } + + override fun showReportListWindow(context: Context, isShow: Boolean) { iPCReportManager.showReportListWindow(context, isShow) } diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/adas/PowerOffManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/adas/PowerOffManager.kt new file mode 100644 index 0000000000..a75bb2dc7c --- /dev/null +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/adas/PowerOffManager.kt @@ -0,0 +1,119 @@ +package com.zhjt.mogo_core_function_devatools.adas + +import android.os.CountDownTimer +import com.mogo.eagle.core.function.call.devatools.CallerPowerOffManager + +/** + * 停止域控服务管理类 + */ +object PowerOffManager { + + private var commandWaitCountDownTimer: CountDownTimer ?= null + private var powerDownCountDownTimer: CountDownTimer ?= null + private var statusChangeCountDownTimer: CountDownTimer ?= null + private var powerDownNum = 60 + /** + * 停止域控服务状态 + * 0:准备停服 1:停服命令下发成功 2:停服命令下发失败 3:停服命令下发超时 + * 4:停服中 5:停服成功 6:停服成功不可点击 + */ + private var powerOffStatus: Int = 0 + + /** + * 启动调用SSM停服命令超时检测 + */ + fun startCommandWaitCountDown(){ + commandWaitCountDownTimer = object: CountDownTimer(10000,10000){ + override fun onTick(millisUntilFinished: Long) { + + } + + override fun onFinish() { + CallerPowerOffManager.invokeCommandTimeout() + } + } + commandWaitCountDownTimer?.start() + } + + /** + * 停止调用SSM停服命令超时检测 + */ + fun stopCommandWaitCountDown(){ + if(commandWaitCountDownTimer != null){ + commandWaitCountDownTimer?.cancel() + commandWaitCountDownTimer = null + } + } + + /** + * 开始车辆下电等待倒计时 + */ + fun startPowerDownCountDown(){ + powerDownNum = 60 + powerDownCountDownTimer = object: CountDownTimer(60000,1000){ + override fun onTick(millisUntilFinished: Long) { + if(powerDownNum > 0){ + CallerPowerOffManager.invokePowerDownTick(powerDownNum--) + } + } + + override fun onFinish() { + powerDownNum = 0 + CallerPowerOffManager.invokePowerDownFinish() + } + } + powerDownCountDownTimer?.start() + } + + /** + * 结束车辆下电等待倒计时 + */ + fun stopPowerDownCountDown(){ + if(powerDownCountDownTimer != null){ + powerDownCountDownTimer?.cancel() + powerDownCountDownTimer = null + } + } + + /** + * 状态按钮变更倒计时 + */ + fun statusChangeCountDown(isSuccess: Boolean){ + statusChangeCountDownTimer = object: CountDownTimer(1000,1000){ + override fun onTick(millisUntilFinished: Long) { + + } + + override fun onFinish() { + CallerPowerOffManager.invokeStatusChange(isSuccess) + } + } + statusChangeCountDownTimer?.start() + } + + /** + * 结束状态按钮变更倒计时 + */ + fun stopStatusCountDown(){ + if(statusChangeCountDownTimer != null){ + statusChangeCountDownTimer?.cancel() + statusChangeCountDownTimer = null + } + } + + /** + * 设置停服状态 + */ + fun setPowerOffStatus(status: Int){ + powerOffStatus = status + } + + /** + * 获取停服状态 + */ + fun getPowerOffStatus(): Int{ + return powerOffStatus + } + + +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/CheckSystemView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/CheckSystemView.kt index 7feec03b76..4c5ea24b0d 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/CheckSystemView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/CheckSystemView.kt @@ -1,37 +1,64 @@ package com.mogo.eagle.core.function.hmi.ui.widget +import android.animation.ObjectAnimator +import android.animation.ValueAnimator import android.content.Context import android.util.AttributeSet -import android.view.Gravity import android.view.LayoutInflater import android.view.View +import android.view.animation.LinearInterpolator import androidx.constraintlayout.widget.ConstraintLayout -import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_HMI +import androidx.core.content.ContextCompat +import com.mogo.commons.voice.AIAssist +import com.mogo.eagle.core.data.enums.EventTypeEnumNew +import com.mogo.eagle.core.data.msgbox.MsgBoxBean +import com.mogo.eagle.core.data.msgbox.MsgBoxType +import com.mogo.eagle.core.data.msgbox.V2XMsg import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener +import com.mogo.eagle.core.function.api.autopilot.IMoGoReceiveReceivedAckListener +import com.mogo.eagle.core.function.api.devatools.IPowerOffListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager -import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger +import com.mogo.eagle.core.function.call.autopilot.CallerReceiveReceivedAckListenerManager +import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager +import com.mogo.eagle.core.function.call.devatools.CallerPowerOffManager +import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager.saveMsgBox import com.mogo.eagle.core.function.hmi.R -import com.mogo.eagle.core.function.hmi.notification.WarningFloat import com.mogo.eagle.core.function.hmi.ui.tools.DockerRebootDialog +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_HMI import com.mogo.eagle.core.utilcode.util.ThreadUtils import com.mogo.eagle.core.utilcode.util.ToastUtils +import com.zhjt.mogo.adas.common.MessageType import com.zhjt.mogo.adas.data.AdasConstants +import com.zhjt.mogo.adas.data.bean.ReceivedAck import kotlinx.android.synthetic.main.view_check_system.view.* + class CheckSystemView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0 -) : ConstraintLayout(context, attrs, defStyleAttr), IMoGoAutopilotStatusListener { +) : ConstraintLayout(context, attrs, defStyleAttr), IMoGoAutopilotStatusListener, + IPowerOffListener, IMoGoReceiveReceivedAckListener { companion object { const val TAG = "CheckSystemView" } + //重启系统对话框 private var dockerRebootDialog: DockerRebootDialog? = null - private var downloadStatus: String = "" //下载状态 - private var upgradeStatus: String = "" //升级状态 + private var connectStatus: Boolean = false //与工控机的连接状态 + private var isExecutingPowerOff: Boolean = false //是否正在下发一键停服命令 + private var isPowerOffCountDown: Boolean = false //一键停服是否处于1分钟倒计时 + private var powerOffMsgId: Long = -1 //一键停服命令下发Id + private var progressAnimator: ObjectAnimator ?= null //一键停服命令倒计时 + /** + * 停止域控服务状态 + * 0:准备停服 1:停服命令下发中 2:停服命令下发成功 3:停服命令下发失败 + * 4:停服命令下发超时 5:停服中 6:停服成功 7:停服成功不可点击 + */ + private var powerOffStatus: Int = 0 init { LayoutInflater.from(context).inflate(R.layout.view_check_system, this, true) @@ -39,85 +66,386 @@ class CheckSystemView @JvmOverloads constructor( } private fun initView() { + //一键停服 viewCheckShutDown.setOnClickListener { - //dialog -// showSystemOperationWindow() + powerOff() } + tvCheckShutDown.setOnClickListener { + powerOff() + } + //重启系统 viewCheckReboot.setOnClickListener { - //dialog - if (dockerRebootDialog == null) { - dockerRebootDialog = DockerRebootDialog(context) - dockerRebootDialog?.setClickListener(object : DockerRebootDialog.ClickListener { - override fun confirm() { - if (CallerAutoPilotStatusListenerManager.getState() == 2) { - //当前处于自动驾驶状态,不可进行重启,Toast提示 - ToastUtils.showShort("请先退出自动驾驶状态") - } - -// else if (AdUpgradeStateHelper.showCannotReboot( -// downloadStatus, -// upgradeStatus -// ) -// ) { -// //当工控机处于下载或者升级状态,需要先进行升级 -// ToastUtils.showShort("请先完成新自动驾驶系统的下载/升级") -// } - - else { - //确认重启 - CallerLogger.d("$M_HMI$TAG", "reboot confirm") - CallerAutoPilotControlManager.sendIpcReboot() - ToastUtils.showLong("重启命令已发送") - } - } - - override fun cancel() { - //取消重启 - CallerLogger.d("$M_HMI$TAG", "reboot cancel") - } - - }) - } - dockerRebootDialog?.showUpgradeDialog() + showRebootDialog() + } + tvCheckReboot.setOnClickListener { + showRebootDialog() + } + CallerDevaToolsManager.getPowerOffStatus()?.let { + powerOffStatus = it + } + when(powerOffStatus){ + //准备停服 + 0->{ + viewCheckShutDown.setImageDrawable( + ContextCompat.getDrawable( + context, + R.drawable.icon_shut_down + ) + ) + viewCheckShutDown.isClickable = true + } + //停服命令下发中 + 1->{ + isExecutingPowerOff = true + } + //停服命令下发成功 + 2->{ + viewProgressBackground.visibility = View.VISIBLE + viewProgress.visibility = View.VISIBLE + tvCountDown.visibility = View.VISIBLE + tvCountDownUnit.visibility = View.VISIBLE + //开始旋转动画 + if(progressAnimator == null){ + progressAnimator = ObjectAnimator.ofFloat(viewProgress,"rotation", 0f, 360f) + } + progressAnimator?.interpolator = LinearInterpolator() + progressAnimator?.repeatCount = ValueAnimator.INFINITE //无限循环 + progressAnimator?.duration = 6000 //设置持续时间 + progressAnimator?.startDelay = 0 + progressAnimator?.start() + //一键停服倒计时中 + isPowerOffCountDown = true + } + //停服命令下发失败 + 3->{ + viewCheckShutDown.setImageDrawable( + ContextCompat.getDrawable( + context, + R.drawable.icon_shut_down_fail + ) + ) + } + //停服命令下发超时 + 4->{ + //将图标改为失败 + viewCheckShutDown.setImageDrawable( + ContextCompat.getDrawable( + context, + R.drawable.icon_shut_down_fail + ) + ) + } + //停服中 + 5->{ + isPowerOffCountDown = true + viewCheckShutDown.setImageDrawable( + ContextCompat.getDrawable( + context, + R.drawable.icon_shut_down_background + ) + ) + viewProgressBackground.visibility = View.VISIBLE + viewProgress.visibility = View.VISIBLE + tvCountDown.visibility = View.VISIBLE + tvCountDownUnit.visibility = View.VISIBLE + //开始旋转动画 + if(progressAnimator == null){ + progressAnimator = ObjectAnimator.ofFloat(viewProgress,"rotation", 0f, 360f) + } + progressAnimator?.interpolator = LinearInterpolator() + progressAnimator?.repeatCount = ValueAnimator.INFINITE //无限循环 + progressAnimator?.duration = 6000 //设置持续时间 + progressAnimator?.startDelay = 0 + progressAnimator?.start() + } + //停服成功 + 6->{ + //停止一键停服进度属性动画 + progressAnimator?.cancel() + //隐藏一键停服进度视图 + viewProgressBackground.visibility = View.GONE + viewProgress.visibility = View.GONE + tvCountDown.visibility = View.GONE + tvCountDownUnit.visibility = View.GONE + //一键停服命令倒计时结束,变为成功状态,并且发送1s倒计时 + viewCheckShutDown.setImageDrawable( + ContextCompat.getDrawable( + context, + R.drawable.icon_shut_down_success + ) + ) + isPowerOffCountDown = false + } + //停服成功不可点击 + 7->{ + //将倒计时内容隐藏 + viewProgressBackground.visibility = View.GONE + viewProgress.visibility = View.GONE + tvCountDown.visibility = View.GONE + tvCountDownUnit.visibility = View.GONE + //停服成功,将按钮置为不可点击状态 + viewCheckShutDown.setImageDrawable( + ContextCompat.getDrawable( + context, + R.drawable.icon_shut_down_complete + ) + ) + viewCheckShutDown.isClickable = false + isPowerOffCountDown = false + } } } - fun setAdUpgradeStatus(downloadStatus: String, upgradeStatus: String) { - this.downloadStatus = downloadStatus - this.upgradeStatus = upgradeStatus + /** + * 一键停服 + */ + private fun powerOff() { + if (!connectStatus) { + ToastUtils.showShort("尚未连接工控机,无法下发一键停服命令") + return + } + if (isExecutingPowerOff) { + //一键停服命令下发执行中 + ToastUtils.showShort("一键停服命令下发中,请勿重复点击") + return + } + if (isPowerOffCountDown) { + //系统停服中 + ToastUtils.showShort("系统停服中,请勿重复点击") + return + } + //将是否正在下发一键停服命令标签改为true + isExecutingPowerOff = true + CallerDevaToolsManager.setPowerOffStatus(1) + //系统命令请求 关机 + powerOffMsgId = CallerAutoPilotControlManager.sendIpcPowerOff() + //开始执行10秒等待倒计时 + CallerDevaToolsManager.startCommandWaitCountDown() } - private fun showSystemOperationWindow(view: View) { - WarningFloat.with(context).setGravity(Gravity.CENTER).setLayout(view) - .setImmersionStatusBar(true).show() + /** + * 展示系统重启确认窗 + */ + private fun showRebootDialog() { + if (!connectStatus) { + ToastUtils.showShort("尚未连接工控机,无法重启系统") + return + } + //dialog + if (dockerRebootDialog == null) { + dockerRebootDialog = DockerRebootDialog(context) + dockerRebootDialog?.setClickListener(object : DockerRebootDialog.ClickListener { + override fun confirm() { + if (CallerAutoPilotStatusListenerManager.getState() == 2) { + //当前处于自动驾驶状态,不可进行重启,Toast提示 + ToastUtils.showShort("请先退出自动驾驶状态") + } else { + //确认重启 + CallerLogger.d("$M_HMI$TAG", "reboot confirm") + CallerAutoPilotControlManager.sendIpcReboot() + ToastUtils.showLong("重启命令已发送") + } + } + + override fun cancel() { + //取消重启 + CallerLogger.d("$M_HMI$TAG", "reboot cancel") + } + + }) + } + dockerRebootDialog?.showUpgradeDialog() } override fun onAttachedToWindow() { super.onAttachedToWindow() CallerAutoPilotStatusListenerManager.addListener(TAG, this) + CallerPowerOffManager.addListener(TAG, this) + CallerReceiveReceivedAckListenerManager.addListener(TAG, this) } override fun onDetachedFromWindow() { super.onDetachedFromWindow() CallerAutoPilotStatusListenerManager.removeListener(TAG) + CallerPowerOffManager.removeListener(TAG) + CallerReceiveReceivedAckListenerManager.removeListener(TAG) } - override fun onAutopilotIpcConnectStatusChanged(status: AdasConstants.IpcConnectionStatus, reason: String?) { + override fun onAutopilotIpcConnectStatusChanged( + status: AdasConstants.IpcConnectionStatus, + reason: String? + ) { super.onAutopilotIpcConnectStatusChanged(status, reason) ThreadUtils.runOnUiThread { - setViewStatus(status == AdasConstants.IpcConnectionStatus.CONNECTED) + setViewStatus(status == AdasConstants.IpcConnectionStatus.CONNECTED) } } - private fun setViewStatus(connectInfo:Boolean) { - if (connectInfo) { - viewCheckShutDown.requestFocus() + private fun setViewStatus(connectInfo: Boolean) { + connectStatus = connectInfo + //下发一键停服命令后又和域控重新连接 + if((powerOffStatus == 6 || powerOffStatus == 7) && connectStatus){ + CallerDevaToolsManager.setPowerOffStatus(0) + viewCheckShutDown.setImageDrawable( + ContextCompat.getDrawable( + context, + R.drawable.icon_shut_down + ) + ) viewCheckShutDown.isClickable = true - viewCheckReboot.requestFocus() - viewCheckReboot.isClickable = true - } else { + } + } + + /** + * 一键停服调用SSM停服命令超时 + */ + override fun commandTimeout() { + //停止命令超时倒计时 + CallerDevaToolsManager.stopCommandWaitCountDown() + /** + * 如果点击一键停服按钮10秒后,是否正在执行命令的标签仍为true,代表域控未返回执行结果 + * 此时应该将按钮状态短暂置为失败,之后再置为常态,并将此标签置为false + */ + if (isExecutingPowerOff) { + //更改标签状态 + isExecutingPowerOff = false + CallerDevaToolsManager.setPowerOffStatus(4) + //将图标改为失败 + viewCheckShutDown.setImageDrawable( + ContextCompat.getDrawable( + context, + R.drawable.icon_shut_down_fail + ) + ) + //执行1秒倒计时命令 + CallerDevaToolsManager.statusChangeCountDown(false) + } + } + + /** + * 一键停服车辆下电等待倒计时 + */ + override fun powerDownTick(second: Int) { + tvCountDown.text = second.toString() + CallerDevaToolsManager.setPowerOffStatus(5) + } + + /** + * 一键停服车辆下电等待倒计时结束 + */ + override fun powerDownFinish() { + CallerDevaToolsManager.setPowerOffStatus(6) + //停止一键停服进度属性动画 + progressAnimator?.cancel() + //隐藏一键停服进度视图 + viewProgressBackground.visibility = View.GONE + viewProgress.visibility = View.GONE + tvCountDown.visibility = View.GONE + tvCountDownUnit.visibility = View.GONE + //一键停服命令倒计时结束,变为成功状态,并且发送1s倒计时 + viewCheckShutDown.setImageDrawable( + ContextCompat.getDrawable( + context, + R.drawable.icon_shut_down_success + ) + ) + isPowerOffCountDown = false + //执行1秒倒计时命令 + CallerDevaToolsManager.statusChangeCountDown(true) + } + + /** + * 一键停服状态按钮变更通知 + */ + override fun statusChange(isSuccess: Boolean) { + CallerDevaToolsManager.stopStatusCountDown() + if (isSuccess) { + //将倒计时内容隐藏 + viewProgressBackground.visibility = View.GONE + viewProgress.visibility = View.GONE + tvCountDown.visibility = View.GONE + tvCountDownUnit.visibility = View.GONE + //停服成功,将按钮置为不可点击状态 + viewCheckShutDown.setImageDrawable( + ContextCompat.getDrawable( + context, + R.drawable.icon_shut_down_complete + ) + ) viewCheckShutDown.isClickable = false - viewCheckReboot.isClickable = false + CallerDevaToolsManager.setPowerOffStatus(7) + } else { + //停服命令下发失败,将按钮置为常态,可点击 + viewCheckShutDown.setImageDrawable( + ContextCompat.getDrawable( + context, + R.drawable.icon_shut_down + ) + ) + viewCheckShutDown.isClickable = true + } + } + + /** + * 命令下发回执 + */ + override fun onReceiveReceivedAck(receivedAck: ReceivedAck) { + ThreadUtils.runOnUiThread { + if (receivedAck.messageType == MessageType.TYPE_SEND_SYSTEM_CMD_REQ && receivedAck.msgId == powerOffMsgId) { + isExecutingPowerOff = false + //停止命令超时倒计时 + CallerDevaToolsManager.stopCommandWaitCountDown() + if ( receivedAck.status == ReceivedAck.Status.NORMAL) { + //一键停服命令回执成功,则正常进入停服阶段中,1分钟倒计时,并且TTS和消息盒子提示 + CallerDevaToolsManager.setPowerOffStatus(2) + AIAssist.getInstance(context).speakTTSVoice("请等待1分钟再执行车辆下电") + saveMsgBox( + MsgBoxBean( + MsgBoxType.V2X, V2XMsg( + EventTypeEnumNew.TYPE_POWER_OFF_TIP.poiType, + EventTypeEnumNew.TYPE_POWER_OFF_TIP.content, + EventTypeEnumNew.TYPE_POWER_OFF_TIP.tts + ) + ) + ) + + viewCheckShutDown.setImageDrawable( + ContextCompat.getDrawable( + context, + R.drawable.icon_shut_down_background + ) + ) + viewProgressBackground.visibility = View.VISIBLE + viewProgress.visibility = View.VISIBLE + tvCountDown.visibility = View.VISIBLE + tvCountDownUnit.visibility = View.VISIBLE + //开始旋转动画 + if(progressAnimator == null){ + progressAnimator = ObjectAnimator.ofFloat(viewProgress,"rotation", 0f, 360f) + } + progressAnimator?.interpolator = LinearInterpolator() + progressAnimator?.repeatCount = ValueAnimator.INFINITE //无限循环 + progressAnimator?.duration = 6000 //设置持续时间 + progressAnimator?.startDelay = 0 + progressAnimator?.start() + //开始60S倒计时 + CallerDevaToolsManager.startPowerDownCountDown() + //一键停服倒计时中 + isPowerOffCountDown = true + } else { + //一键停服命令回执失败,则走失败流程 + CallerDevaToolsManager.setPowerOffStatus(3) + viewCheckShutDown.setImageDrawable( + ContextCompat.getDrawable( + context, + R.drawable.icon_shut_down_fail + ) + ) + //执行1秒倒计时命令 + CallerDevaToolsManager.statusChangeCountDown(false) + } + } + } } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/check_shut_down.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/check_shut_down.png deleted file mode 100644 index 2e2017cb278fb51864c8238b1a151338a11ecc21..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24019 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 KMNUMnLSTZg^BV{N diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_shut_down.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_shut_down.png new file mode 100644 index 0000000000000000000000000000000000000000..ffea12238b87780de0387aad796e3ad9f9e45418 GIT binary patch literal 24009 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 Eg5C&@>i_@% literal 0 HcmV?d00001 diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_shut_down_complete.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_shut_down_complete.png new file mode 100644 index 0000000000000000000000000000000000000000..20ae14d3989344ee916b389791e034b90c953f35 GIT binary patch literal 23653 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 IM6N<$g5E6fng9R* literal 0 HcmV?d00001 diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_shut_down_fail.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_shut_down_fail.png new file mode 100644 index 0000000000000000000000000000000000000000..6b778922ccd5a7a7053cedb5f1c48a213fa03d79 GIT binary patch literal 25183 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 z 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 T{jHa100000NkvXXu0mjf4sKl2 literal 0 HcmV?d00001 diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_check_system.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_check_system.xml index 75bb525735..e5a5d715a5 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_check_system.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_check_system.xml @@ -7,50 +7,96 @@ + android:contentDescription="@string/check_system_shut_down" /> + + + + + + + + + app:layout_constraintLeft_toLeftOf="@id/viewCheckShutDown" + app:layout_constraintRight_toRightOf="@id/viewCheckShutDown" + /> + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintLeft_toRightOf="@id/viewCheckShutDown" + android:contentDescription="@string/check_system_reboot" /> diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/values/strings.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/values/strings.xml index 226ea8081a..4af209bad3 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/values/strings.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/values/strings.xml @@ -28,7 +28,7 @@ 车速设置 账户信息 系统运行 - 关机 + 一键停服 重启系统 重启提示 是否重启自动驾驶系统? diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt index c029e44e6d..d8b7412870 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt @@ -590,6 +590,13 @@ enum class EventTypeEnumNew( "详情%s" ), + TYPE_POWER_OFF_TIP("POWER_OFF_TIP", + "一键停服", + "请等待1分钟再执行车辆下电", + R.drawable.icon_warning_take_over, + "请等待1分钟再执行车辆下电", + "请等待1分钟再执行车辆下电"), + TYPE_VIP_IDENTIFICATION_PASS("20022", "VIP通行", "", R.drawable.icon_warning_v2x_vip_turn_light, "VIP车辆优先通行,已为您变为绿灯", "VIP车辆优先通行,已为您变为绿灯"), TYPE_VIP_IDENTIFICATION_EXTEND("20023", "VIP通行", "", R.drawable.icon_warning_v2x_vip_turn_light, "VIP车辆优先通行,已为您延长绿灯", "VIP车辆优先通行,已为您延长绿灯"), TYPE_VIP_ERROR_IDENTIFICATION("20024", "VIP通行", "", R.drawable.icon_warning_v2x_vip_turn_light, "请求失败,", "请求失败,稍后重试"), @@ -947,6 +954,10 @@ enum class EventTypeEnumNew( TYPE_DEVICE_STATUS_ABNORMAL.poiType ->{ TYPE_DEVICE_STATUS_ABNORMAL.poiTypeStr } + //一键停服 + TYPE_POWER_OFF_TIP.poiType ->{ + TYPE_POWER_OFF_TIP.poiTypeStr + } //机动车 TYPE_USECASE_ID_VRUCW_MOTOR_VEHICLES.poiType ->{ TYPE_USECASE_ID_VRUCW_MOTOR_VEHICLES.poiTypeStr @@ -1266,6 +1277,10 @@ enum class EventTypeEnumNew( TYPE_DEVICE_STATUS_ABNORMAL.poiType->{ R.drawable.icon_default } + //一键停服 + TYPE_POWER_OFF_TIP.poiType->{ + R.drawable.icon_warning_take_over + } //机动车 TYPE_USECASE_ID_VRUCW_MOTOR_VEHICLES.poiType -> { R.drawable.icon_warning_v2x_motorcycle_collision diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IDevaToolsProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IDevaToolsProvider.kt index 16f2b6358d..d211d737bd 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IDevaToolsProvider.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IDevaToolsProvider.kt @@ -128,6 +128,46 @@ interface IDevaToolsProvider : IProvider { */ fun showBadCaseManagerView(context: Context) + /** + * 启动调用SSM停服命令超时检测 + */ + fun startCommandWaitCountDown() + + /** + * 停止调用SSM停服命令超时检测 + */ + fun stopCommandWaitCountDown() + + /** + * 开始车辆下电等待倒计时 + */ + fun startPowerDownCountDown() + + /** + * 结束车辆下电等待倒计时 + */ + fun stopPowerDownCountDown() + + /** + * 状态按钮变更倒计时 + */ + fun statusChangeCountDown(isSuccess: Boolean) + + /** + * 结束状态按钮变更倒计时 + */ + fun stopStatusCountDown() + + /** + * 设置停服状态 + */ + fun setPowerOffStatus(status: Int) + + /** + * 获取停服状态 + */ + fun getPowerOffStatus(): Int + /** * 工控机异常上报列表 */ diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IPowerOffListener.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IPowerOffListener.kt new file mode 100644 index 0000000000..fe1a0fae2c --- /dev/null +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IPowerOffListener.kt @@ -0,0 +1,25 @@ +package com.mogo.eagle.core.function.api.devatools + +interface IPowerOffListener { + + /** + * 调用SSM停服命令超时 + */ + fun commandTimeout() + + /** + * 车辆下电等待倒计时 + */ + fun powerDownTick(second: Int) + + /** + * 车辆下电等待倒计时结束 + */ + fun powerDownFinish() + + /** + * 状态按钮变更通知 + */ + fun statusChange(isSuccess: Boolean) + +} \ No newline at end of file diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerReceiveReceivedAckListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerReceiveReceivedAckListenerManager.kt index 046b8796ac..3c08c650d9 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerReceiveReceivedAckListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerReceiveReceivedAckListenerManager.kt @@ -10,9 +10,6 @@ import com.zhjt.mogo.adas.data.bean.ReceivedAck */ object CallerReceiveReceivedAckListenerManager : CallerBase() { - /** - * 金旅M1 - */ fun invokeReceiveReceivedAck(receivedAck: ReceivedAck) { M_LISTENERS.forEach { val listener = it.value diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt index c5522e6937..b8d30fed0c 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt @@ -170,6 +170,62 @@ object CallerDevaToolsManager { devaToolsProviderApi?.showBadCaseManagerView(context) } + /** + * 启动调用SSM停服命令超时检测 + */ + fun startCommandWaitCountDown(){ + devaToolsProviderApi?.startCommandWaitCountDown() + } + + /** + * 停止调用SSM停服命令超时检测 + */ + fun stopCommandWaitCountDown(){ + devaToolsProviderApi?.stopCommandWaitCountDown() + } + + /** + * 开始车辆下电等待倒计时 + */ + fun startPowerDownCountDown(){ + devaToolsProviderApi?.startPowerDownCountDown() + } + + /** + * 结束车辆下电等待倒计时 + */ + fun stopPowerDownCountDown(){ + devaToolsProviderApi?.stopPowerDownCountDown() + } + + /** + * 状态按钮变更倒计时 + */ + fun statusChangeCountDown(isSuccess: Boolean){ + devaToolsProviderApi?.statusChangeCountDown(isSuccess) + } + + /** + * 结束状态按钮变更倒计时 + */ + fun stopStatusCountDown(){ + devaToolsProviderApi?.stopStatusCountDown() + } + + /** + * 设置停服状态 + */ + fun setPowerOffStatus(status: Int){ + devaToolsProviderApi?.setPowerOffStatus(status) + } + + /** + * 获取停服状态 + */ + fun getPowerOffStatus(): Int? { + return devaToolsProviderApi?.getPowerOffStatus() + } + /** * 工控机异常上报列表 */ diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerPowerOffManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerPowerOffManager.kt new file mode 100644 index 0000000000..7551fcfe1b --- /dev/null +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerPowerOffManager.kt @@ -0,0 +1,48 @@ +package com.mogo.eagle.core.function.call.devatools + +import com.mogo.eagle.core.function.api.devatools.IPowerOffListener +import com.mogo.eagle.core.function.call.base.CallerBase + +object CallerPowerOffManager : CallerBase() { + + /** + * 一键停服调用SSM停服命令超时 + */ + fun invokeCommandTimeout(){ + M_LISTENERS.forEach{ + val listener = it.value + listener.commandTimeout() + } + } + + /** + * 一键停服车辆下电等待倒计时 + */ + fun invokePowerDownTick(second: Int){ + M_LISTENERS.forEach{ + val listener = it.value + listener.powerDownTick(second) + } + } + + /** + * 一键停服车辆下电等待倒计时结束 + */ + fun invokePowerDownFinish(){ + M_LISTENERS.forEach{ + val listener = it.value + listener.powerDownFinish() + } + } + + /** + * 一键停服状态按钮变更通知 + */ + fun invokeStatusChange(isSuccess: Boolean){ + M_LISTENERS.forEach{ + val listener = it.value + listener.statusChange(isSuccess) + } + } + +} \ No newline at end of file diff --git a/libraries/mogo-adas-data/src/main/java/com/zhjt/mogo/adas/data/bean/ReceivedAck.java b/libraries/mogo-adas-data/src/main/java/com/zhjt/mogo/adas/data/bean/ReceivedAck.java index 65d5a3b263..100b438df3 100644 --- a/libraries/mogo-adas-data/src/main/java/com/zhjt/mogo/adas/data/bean/ReceivedAck.java +++ b/libraries/mogo-adas-data/src/main/java/com/zhjt/mogo/adas/data/bean/ReceivedAck.java @@ -125,19 +125,7 @@ public class ReceivedAck { this.receivedAck = receivedAck; } - /** - * 确认是否收到回执 - * - * @param msgId 下发的消息id - * @return 是否收到回执 - */ - public boolean isReceiptReceived(long msgId) { - Log.i("ReceivedAck", "消息=" + msgId + " 结果=" + toString()); - if (status == Status.NORMAL) { - return this.msgId == msgId; - } - return false; - } + @Override public String toString() {