[Sweeper Cloud] refactor: 云控流程重构 & 代码优化 step 1;

This commit is contained in:
aibingbing
2023-07-18 21:00:12 +08:00
parent 6c0bc2e8b4
commit 077b339956
4 changed files with 119 additions and 110 deletions

View File

@@ -50,7 +50,7 @@ interface ISweeperCloudTaskCallback {
/**
* 云端同步大任务状态
*/
fun onSweeperCloudBigTaskStatus(taskId:String,subTaskStatus: SweeperBigTaskStatus.BigTaskStatus)
fun onSweeperCloudBigTaskStatus(taskId:String, bigTaskStatus: SweeperBigTaskStatus.BigTaskStatus)
/**
* 设置轨迹坐标点集合
*/

View File

@@ -5,7 +5,6 @@ import android.view.View
import androidx.lifecycle.lifecycleScope
import chassis.ChassisStatesOuterClass
import com.amap.api.maps.model.LatLng
import com.elegant.utils.UiThreadHandler
import com.mogo.eagle.core.data.map.MogoLocation
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener.Companion.STATUS_AUTOPILOT_ENABLE
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
@@ -21,7 +20,7 @@ import com.mogo.och.sweepercloud.ui.dialog.SweeperCloudDialog
import com.mogo.och.sweepercloud.ui.dialog.SweeperCloudLoadingDialog
import com.mogo.och.sweepercloud.util.SweeperCloudTaskUtils
import com.mogo.och.sweepercloud.util.SweeperCloudTaskUtils.createConfirmStartSubTaskDialog
import com.mogo.och.sweepercloud.util.SweeperCloudTaskUtils.createReceivedTaskInfoDialog
import com.mogo.och.sweepercloud.util.SweeperCloudTaskUtils.createReceivedBigTaskInfoDialog
import com.mogo.och.sweepercloud.util.SweeperCloudTaskUtils.createSweeperTaskEndDialog
import com.mogo.och.sweepercloud.util.SweeperCloudTaskUtils.createSweeperTaskExceptionEndDialog
import com.mogo.och.sweepercloud.util.SweeperCloudTaskUtils.createSweeperTaskNormalEndDialog
@@ -56,7 +55,7 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
private var mLocation: MogoLocation? = null
private var mTaskInfo: SweeperTask.TaskInfo? = null
private var mSubTaskType: TaskModel = TaskModel.DEFAULT_MODEL //1:自动驾驶子任务 2人工驾驶子任务 -1:未知任务类型
private var mCurrentSubTaskInfo: SubTaskInfo? = null//当前正在执行的子任务
private var mCurrentRunningSubTaskInfo: SubTaskInfo? = null//当前正在执行的子任务
private val mLoadingDialog: SweeperCloudLoadingDialog by lazy { SweeperCloudLoadingDialog(requireContext()) }
private var mDialog: SweeperCloudDialog? = null
@@ -113,9 +112,9 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
* 设置各种监听事件
*/
private fun initListener() {
getCurrentView().getAutoBtn().setOnClickListener {
getCurrentTaskView().getAutoBtn().setOnClickListener {
//前置条件 (1)必须处于人工驾驶状态 2必须有正在执行的子任务且子任务类型为自动驾驶子任务 才能请求云端进入自驾
mCurrentSubTaskInfo?.let {
mCurrentRunningSubTaskInfo?.let {
if (mPresenter?.autopilotState == STATUS_AUTOPILOT_ENABLE
&& it.taskModel == TaskModel.AUTO) {
mLoadingDialog.showLoading()
@@ -127,7 +126,7 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
override fun setAutoState(state: Int) {
super.setAutoState(state)
getCurrentView().updateStartAutoPilotBtnState(state)
getCurrentTaskView().updateStartAutoPilotBtnState(state)
}
fun onSweeperFutianCleanSystemState(cleanSystemState: ChassisStatesOuterClass.SweeperFuTianTaskSystemStates) {
@@ -192,21 +191,23 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
}
//主动拉取云端正在执行的任务,有则直接在任务列表展示
if (messageType == SweeperCloudTask.MessageType.PadSendGetTaskReq) {
getCurrentView().setData(taskInfo, getCurrentRunningSubTaskPosition())
getCurrentTaskView().setData(taskInfo, getCurrentRunningSubTaskPosition())
setShowCurrentTaskPanelView(true)
addTaskData()
mPresenter?.isHasTaskInfo(true)
} else {//云端下发的大任务信息需要弹窗提示V3.2.0开始不需要安全员确认接取任务,只能默认接收)
//是否需要弹窗确认
getCurrentTaskView().setData(taskInfo)
setShowCurrentTaskPanelView(true)
addTaskData()
mPresenter?.isHasTaskInfo(true)
} else {//云端下发的任务信息需要弹窗接取
if (taskInfo.isPop) {//是否需要弹窗确认
receivedTaskInfoDialog()
} else {
mPresenter?.sendSweeperStartTaskResp(taskInfo.taskId, SweeperTask.StartTaskCode.RECEIVED)
setShowCurrentTaskPanelView(true)
getCurrentView().setData(taskInfo)
addTaskData()
mPresenter?.isHasTaskInfo(true)
//延时2秒再上报确认接取任务防止时间太短跟收到任务指令冲突
UiThreadHandler.postDelayed({ mPresenter?.sendSweeperStartTaskResp(taskInfo.taskId, SweeperTask.StartTaskCode.MANUAL_CONFIRM) }, 2000)
// 默认发送接收到消息的ACK回执
mPresenter?.sendSweeperStartTaskResp(taskInfo.taskId, SweeperTask.StartTaskCode.RECEIVED)
if (taskInfo.isPop) {
showReceivedBigTaskDialog()
}
//设置任务进度
this.mSubMutableList?.let {
@@ -238,11 +239,11 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
val subBuilder = subTaskList[index].toBuilder()
subBuilder.taskStatus = subTaskStatus
if (subTaskStatus == SweeperCommon.TaskStatus.RUNNING) {
mCurrentSubTaskInfo = subBuilder.build()
mCurrentRunningSubTaskInfo = subBuilder.build()
//更新当前正在执行的任务状态
updateCurrentSubTaskInfo(index + 1)
} else {
mCurrentSubTaskInfo = null
mCurrentRunningSubTaskInfo = null
}
//判断是否结束子任务
if (subTaskStatus == SweeperCommon.TaskStatus.FINISHED) {
@@ -254,7 +255,7 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
builder.setSubList(index, subBuilder.build())
mTaskInfo = builder.build()
mSubMutableList = mTaskInfo?.subListList
getCurrentView().setData(mTaskInfo, index)
getCurrentTaskView().setData(mTaskInfo, index)
}
}
}
@@ -270,10 +271,10 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
if (taskId != it.taskId) {
return
}
// 发送接收到信息的ACK回执
mPresenter?.sendSweeperStopTaskResp(taskId, SweeperTaskStop.StopTaskCode.RECEIVED)
if (isPop) {
sweeperCloudTaskStopDialog(taskId, stopTaskType, it)
} else {
mPresenter?.sendSweeperStopTaskResp(taskId, SweeperTaskStop.StopTaskCode.MANUAL_CONFIRM)
}
}
}
@@ -288,28 +289,31 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
if (mDialog != null && mDialog!!.isShowing) {
return
}
mPresenter?.isHasTaskInfo(false)
resetTaskInfoPanel()
ToastUtils.showLong("任务已结束")
if (stopTaskType == SweeperTaskStop.StopTaskType.NORMAL) {
mPresenter?.isHasTaskInfo(false)
mDialog = sweeperCloudTaskNormalEndDialog()
showNotice("任务已结束")
} else {
mDialog = createSweeperTaskEndDialog(context, object : SweeperCloudDialogClickListener {
override fun onConfirm() {
mPresenter?.sendSweeperStopTaskResp(taskId, SweeperTaskStop.StopTaskCode.MANUAL_CONFIRM)
mLoadingDialog.showLoading()
//ToastUtils.showLong("确认")
// mPresenter?.sendSweeperStopTaskResp(taskId, SweeperTaskStop.StopTaskCode.MANUAL_CONFIRM)
// mLoadingDialog.showLoading()
// //ToastUtils.showLong("确认")
}
override fun onRefuseOrEnd() {
mPresenter?.sendSweeperStopTaskResp(taskId, SweeperTaskStop.StopTaskCode.MANUAL_REFUSE)
mLoadingDialog.showLoading()
//ToastUtils.showLong("拒绝")
// mPresenter?.sendSweeperStopTaskResp(taskId, SweeperTaskStop.StopTaskCode.MANUAL_REFUSE)
// mLoadingDialog.showLoading()
// //ToastUtils.showLong("拒绝")
}
override fun onCountDownStop() {
mPresenter?.sendSweeperStopTaskResp(taskId, SweeperTaskStop.StopTaskCode.OVER_TIME)
mLoadingDialog.showLoading()
//ToastUtils.showLong("倒计时")
// mPresenter?.sendSweeperStopTaskResp(taskId, SweeperTaskStop.StopTaskCode.OVER_TIME)
// mLoadingDialog.showLoading()
// //ToastUtils.showLong("倒计时")
}
override fun onNext() {
@@ -326,8 +330,8 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
private fun sweeperCloudTaskNormalEndDialog(): SweeperCloudDialog? {
return createSweeperTaskNormalEndDialog(context, object : SweeperCloudDialogClickListener {
override fun onConfirm() {
ToastUtils.showLong("任务已结束")
resetTaskInfoPanel()
// ToastUtils.showLong("任务已结束")
// resetTaskInfoPanel()
}
override fun onRefuseOrEnd() {
@@ -335,8 +339,8 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
}
override fun onCountDownStop() {
ToastUtils.showLong("任务已结束")
resetTaskInfoPanel()
// ToastUtils.showLong("任务已结束")
// resetTaskInfoPanel()
}
override fun onNext() {
@@ -374,7 +378,7 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
/**
* 云端同步大任务状态
*/
fun onSweeperCloudBigTaskStatus(taskId: String, subTaskStatus: SweeperBigTaskStatus.BigTaskStatus) {
fun onSweeperCloudBigTaskStatus(taskId: String, bigTaskStatus: SweeperBigTaskStatus.BigTaskStatus) {
//隐藏loading
mLoadingDialog.hideLoading()
mTaskInfo?.let {
@@ -383,19 +387,23 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
return
}
//大任务处于取消状态 异常状态pad端都显示无任务列表
if (subTaskStatus == SweeperBigTaskStatus.BigTaskStatus.CANCLE || subTaskStatus == SweeperBigTaskStatus.BigTaskStatus.ABNORMAL || subTaskStatus == SweeperBigTaskStatus.BigTaskStatus.FINISHED) {
if (bigTaskStatus == SweeperBigTaskStatus.BigTaskStatus.CANCLE
|| bigTaskStatus == SweeperBigTaskStatus.BigTaskStatus.ABNORMAL
|| bigTaskStatus == SweeperBigTaskStatus.BigTaskStatus.FINISHED) {
mPresenter?.isHasTaskInfo(false)
//数据重复导致连续弹窗
if (mDialog != null && mDialog!!.isShowing) {
return
}
mDialog = if (subTaskStatus == SweeperBigTaskStatus.BigTaskStatus.CANCLE
|| subTaskStatus == SweeperBigTaskStatus.BigTaskStatus.ABNORMAL)
sweeperCloudTaskExceptionEndDialog(subTaskStatus == SweeperBigTaskStatus.BigTaskStatus.CANCLE)
mDialog = if (bigTaskStatus == SweeperBigTaskStatus.BigTaskStatus.CANCLE
|| bigTaskStatus == SweeperBigTaskStatus.BigTaskStatus.ABNORMAL)
sweeperCloudTaskExceptionEndDialog(bigTaskStatus == SweeperBigTaskStatus.BigTaskStatus.CANCLE)
else
sweeperCloudTaskNormalEndDialog()
mDialog?.show()
showNotice("任务已结束")
} else if (bigTaskStatus == SweeperBigTaskStatus.BigTaskStatus.SUSPENDED) {// 暂停
}
}
}
@@ -412,8 +420,10 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
}
if (isBootableResp.code == SweeperCommon.Code.SUCCEED) {
ToastUtils.showLong("上报云控成功")
showNotice("上报云控成功")
} else {
ToastUtils.showLong("上报云控失败")
showNotice("上报云控失败")
}
}
}
@@ -432,7 +442,7 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
}
setShowCurrentTaskPanelView(false)
mTaskInfo = null
mCurrentSubTaskInfo = null
mCurrentRunningSubTaskInfo = null
mSubMutableList = null
mSubTaskType = TaskModel.DEFAULT_MODEL
setTaskProgress("0")
@@ -447,7 +457,7 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
mSubMutableList?.apply {
for (index in 0 until size) {
if (get(index).taskStatus == SweeperCommon.TaskStatus.RUNNING) {
mCurrentSubTaskInfo = get(index)
mCurrentRunningSubTaskInfo = get(index)
updateCurrentSubTaskInfo(index + 1)
return index
}
@@ -475,7 +485,7 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
* 更新当前子任务信息
*/
private fun updateCurrentSubTaskInfo(position: Int) {
mCurrentSubTaskInfo?.let {
mCurrentRunningSubTaskInfo?.let {
mSubTaskType = it.taskModel
mPresenter?.setSubtask(it.subTaskId, it.taskModel, it.lineId)
setEndStationMarker(position)
@@ -493,19 +503,19 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
super.setTaskRouteList(routeList)
}
private fun getCurrentView(): SweeperCurrentTaskInfoView = sweeper_current_task_view
private fun getCurrentTaskView(): SweeperCurrentTaskInfoView = sweeper_current_task_view
fun handleSubTaskInfoDialog(taskId: String, subTaskId: String, isPop: Boolean) {
if (mTaskInfo == null) return
if (mTaskInfo?.taskId != taskId) return
val subInfo = getSubTaskInfoBySubId(subTaskId)
subInfo?.let {
// 发送接收到消息的ACK回执
mPresenter?.sendSweeperTaskConfirmResp(taskId, subTaskId, SweeperTaskConfirm.TaskConfirmCode.RECEIVED)
updateSubTaskInfo(taskId, subTaskId, SweeperCommon.TaskStatus.RUNNING)
if (isPop) {
showSubTaskConfirmDialog(taskId, subTaskId, it)
} else {
mPresenter?.sendSweeperTaskConfirmResp(taskId, subTaskId, SweeperTaskConfirm.TaskConfirmCode.MANUAL_CONFIRM)
//mPresenter?.setPreLineId(-1)
updateSubTaskInfo(taskId, subTaskId, SweeperCommon.TaskStatus.RUNNING)
}
}
}
@@ -523,69 +533,68 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
}
mDialog = createConfirmStartSubTaskDialog(context, object : SweeperCloudDialogClickListener {
override fun onConfirm() {
//ToastUtils.showLong("确认")
mPresenter?.sendSweeperTaskConfirmResp(taskId, subTaskId, SweeperTaskConfirm.TaskConfirmCode.MANUAL_CONFIRM)
//mPresenter?.setPreLineId(-1)
updateSubTaskInfo(taskId, subTaskId, SweeperCommon.TaskStatus.RUNNING)
mLoadingDialog.showLoading()
// //ToastUtils.showLong("确认")
// mPresenter?.sendSweeperTaskConfirmResp(taskId, subTaskId, SweeperTaskConfirm.TaskConfirmCode.MANUAL_CONFIRM)
// //mPresenter?.setPreLineId(-1)
// updateSubTaskInfo(taskId, subTaskId, SweeperCommon.TaskStatus.RUNNING)
// mLoadingDialog.showLoading()
}
override fun onRefuseOrEnd() {
//ToastUtils.showLong("结束")
mPresenter?.sendSweeperTaskConfirmResp(taskId, subTaskId, SweeperTaskConfirm.TaskConfirmCode.MANUAL_REFUSE_ALL)
mLoadingDialog.showLoading()
// //ToastUtils.showLong("结束")
// mPresenter?.sendSweeperTaskConfirmResp(taskId, subTaskId, SweeperTaskConfirm.TaskConfirmCode.MANUAL_REFUSE_ALL)
// mLoadingDialog.showLoading()
}
override fun onCountDownStop() {
//ToastUtils.showLong("倒计时结束")
mPresenter?.sendSweeperTaskConfirmResp(taskId, subTaskId, SweeperTaskConfirm.TaskConfirmCode.OVER_TIME)
mLoadingDialog.showLoading()
// //ToastUtils.showLong("倒计时结束")
// mPresenter?.sendSweeperTaskConfirmResp(taskId, subTaskId, SweeperTaskConfirm.TaskConfirmCode.OVER_TIME)
// mLoadingDialog.showLoading()
}
override fun onNext() {
//ToastUtils.showLong("下一个")
mPresenter?.sendSweeperTaskConfirmResp(taskId, subTaskId, SweeperTaskConfirm.TaskConfirmCode.MANUAL_REFUSE_SINGLE)
mLoadingDialog.showLoading()
// //ToastUtils.showLong("下一个")
// mPresenter?.sendSweeperTaskConfirmResp(taskId, subTaskId, SweeperTaskConfirm.TaskConfirmCode.MANUAL_REFUSE_SINGLE)
// mLoadingDialog.showLoading()
}
}, subTaskInfo)
mDialog?.show()
showNotice("请确认是否执行任务")
showNotice("请确认执行任务")
}
/**
* 接取云端任务弹窗
* 接取云端任务弹窗提示
* V3.2.0 开始不需要确认/拒绝/下一个 操作了,安全员只能被动接取,弹框只是一个提示)
*/
private fun receivedTaskInfoDialog() {
private fun showReceivedBigTaskDialog() {
mTaskInfo?.let {
mPresenter?.sendSweeperStartTaskResp(it.taskId, SweeperTask.StartTaskCode.RECEIVED)
//数据重复导致连续弹窗
if (mDialog != null && mDialog!!.isShowing) {
return
}
mDialog = createReceivedTaskInfoDialog(context, object : SweeperCloudDialogClickListener {
mDialog = createReceivedBigTaskInfoDialog(context, object : SweeperCloudDialogClickListener {
override fun onConfirm() {
//ToastUtils.showLong("确认")
mPresenter?.sendSweeperStartTaskResp(it.taskId, SweeperTask.StartTaskCode.MANUAL_CONFIRM)
setShowCurrentTaskPanelView(true)
getCurrentView().setData(it)
mLoadingDialog.showLoading()
addTaskData()
mPresenter?.isHasTaskInfo(true)
// ToastUtils.showLong("确认")
// mPresenter?.sendSweeperStartTaskResp(it.taskId, SweeperTask.StartTaskCode.MANUAL_CONFIRM)
// setShowCurrentTaskPanelView(true)
// getCurrentTaskView().setData(it)
// mLoadingDialog.showLoading()
// addTaskData()
// mPresenter?.isHasTaskInfo(true)
}
override fun onRefuseOrEnd() {
//ToastUtils.showLong("拒绝")
mPresenter?.sendSweeperStartTaskResp(it.taskId, SweeperTask.StartTaskCode.MANUAL_REFUSE)
mLoadingDialog.showLoading()
resetTaskInfoPanel()
// ToastUtils.showLong("拒绝")
// mPresenter?.sendSweeperStartTaskResp(it.taskId, SweeperTask.StartTaskCode.MANUAL_REFUSE)
// mLoadingDialog.showLoading()
// resetTaskInfoPanel()
}
override fun onCountDownStop() {
//ToastUtils.showLong("倒计时结束")
resetTaskInfoPanel()
mPresenter?.sendSweeperStartTaskResp(it.taskId, SweeperTask.StartTaskCode.OVER_TIME)
mLoadingDialog.showLoading()
// ToastUtils.showLong("倒计时结束")
// resetTaskInfoPanel()
// mPresenter?.sendSweeperStartTaskResp(it.taskId, SweeperTask.StartTaskCode.OVER_TIME)
// mLoadingDialog.showLoading()
}
override fun onNext() {
@@ -593,7 +602,7 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
}
}, it)
mDialog?.show()
showNotice("请确认是否接取任务")
showNotice("已为您接取任务")
}
}
}

View File

@@ -212,8 +212,8 @@ public class SweeperPresenter extends Presenter<SweeperFragment>
}
@Override
public void onSweeperCloudBigTaskStatus(@NonNull String taskId, SweeperBigTaskStatus.BigTaskStatus subTaskStatus) {
ThreadUtils.runOnUiThread(() -> mView.onSweeperCloudBigTaskStatus(taskId, subTaskStatus));
public void onSweeperCloudBigTaskStatus(@NonNull String taskId, SweeperBigTaskStatus.BigTaskStatus bigTaskStatus) {
ThreadUtils.runOnUiThread(() -> mView.onSweeperCloudBigTaskStatus(taskId, bigTaskStatus));
}
@Override

View File

@@ -235,15 +235,15 @@ object SweeperCloudTaskUtils {
}
/**
* 创建接收任务弹窗
* 创建接收任务弹窗
*/
@JvmStatic
fun createReceivedTaskInfoDialog(context: Context?, listener: SweeperCloudDialogClickListener?, taskInfo: TaskInfo): SweeperCloudDialog? {
fun createReceivedBigTaskInfoDialog(context: Context?, listener: SweeperCloudDialogClickListener?, taskInfo: TaskInfo): SweeperCloudDialog? {
var builder: SweeperCloudDialog.Builder = SweeperCloudDialog.Builder()
val startCalendar = DateTimeUtil.formatLongToCalendar(taskInfo.taskStartTime)
val endCalendar = DateTimeUtil.formatLongToCalendar(taskInfo.taskEndTime)
builder.titleStr = "任务接取"
builder.contentStr = "请确认是否接取${taskInfo.taskName}"
builder.contentStr = "已为您接取任务${taskInfo.taskName}"
builder.tipStr = "(任务时间${DateTimeUtil.formatCalendarToString(startCalendar, DateTimeUtil.HH_mm)}-${
DateTimeUtil.formatCalendarToString(
endCalendar,
@@ -252,8 +252,8 @@ object SweeperCloudTaskUtils {
}"
builder.leftStr = "确认"
builder.middleStr = ""
builder.rightStr = "拒绝"
builder.countDownTime = 15
builder.rightStr = ""
builder.countDownTime = 10
builder.listener = listener
return context?.let { it1 -> builder.build(it1) }
}
@@ -268,14 +268,14 @@ object SweeperCloudTaskUtils {
subTaskInfo: SubTaskInfo
): SweeperCloudDialog? {
var builder: SweeperCloudDialog.Builder = SweeperCloudDialog.Builder()
builder.titleStr = "任务确认"
builder.contentStr = "请确认是否执行${subTaskInfo.subTaskName}"
builder.titleStr = "任务确认"
builder.contentStr = "请确认执行${subTaskInfo.subTaskName}"
builder.tipStr =
if (subTaskInfo.taskModel == TaskModel.MANUAL) "[需手动驾驶至终点${subTaskInfo.endLocation.siteName}]" else "[自动驾驶至终点${subTaskInfo.endLocation.siteName}]"
builder.leftStr = "确认"
builder.middleStr = "下一个"
builder.rightStr = "结束"
builder.countDownTime = 15
builder.middleStr = ""
builder.rightStr = ""
builder.countDownTime = 10
builder.listener = listener
return context?.let { it1 -> builder.build(it1) }
}
@@ -295,24 +295,24 @@ object SweeperCloudTaskUtils {
when (stopTaskType) {
//任务提前结束
SweeperTaskStop.StopTaskType.ADVANCE -> {
builder.contentStr = "云端请求终止任务,请确认"
builder.tipStr = "【确认后请接管停车】"
builder.contentStr = "云端止任务,注意车辆即将停车!"
builder.tipStr = ""
builder.leftStr = "确认"
builder.middleStr = ""
builder.rightStr = "拒绝"
VoiceNotice.showNotice("云端请求终止任务,请确认")
builder.rightStr = ""
VoiceNotice.showNotice("云端中止任务")
}
//任务超时结束
SweeperTaskStop.StopTaskType.TIMEOUT -> {
builder.contentStr = "任务已超时${timeoutStr},请确认是否结束"
builder.tipStr = "【结束后请接管停车】"
//任务异常结束
SweeperTaskStop.StopTaskType.EXCEPTION -> {
builder.contentStr = "云端异常结束任务!"
builder.tipStr = ""
builder.leftStr = "确认"
builder.middleStr = ""
builder.rightStr = "拒绝"
VoiceNotice.showNotice("任务已超时${timeoutStr},请确认是否结束")
builder.rightStr = ""
VoiceNotice.showNotice("云端异常结束任务")
}
}
builder.countDownTime = 15
builder.countDownTime = 10
builder.listener = listener
return context?.let { it1 -> builder.build(it1) }
}