[Sweeper-cloud] refactor: 大小任务状态枚举统一;业务处理任务结束/暂停 状态同步;
This commit is contained in:
@@ -50,7 +50,7 @@ interface ISweeperCloudTaskCallback {
|
||||
/**
|
||||
* 云端同步大任务状态
|
||||
*/
|
||||
fun onSweeperCloudBigTaskStatus(taskId:String, bigTaskStatus: SweeperBigTaskStatus.BigTaskStatus)
|
||||
fun onSweeperCloudBigTaskStatus(taskId:String, bigTaskStatus: SweeperCommon.TaskStatus)
|
||||
/**
|
||||
* 设置轨迹坐标点集合
|
||||
*/
|
||||
|
||||
@@ -194,7 +194,6 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
|
||||
getCurrentTaskView().setData(taskInfo, getCurrentRunningSubTaskPosition())
|
||||
setShowCurrentTaskPanelView(true)
|
||||
addTaskData()
|
||||
|
||||
mPresenter?.isHasTaskInfo(true)
|
||||
} else {//云端下发的大任务信息需要弹窗提示(V3.2.0开始不需要安全员确认接取任务,只能默认接收)
|
||||
//是否需要弹窗确认
|
||||
@@ -292,11 +291,12 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
|
||||
mPresenter?.isHasTaskInfo(false)
|
||||
resetTaskInfoPanel()
|
||||
|
||||
ToastUtils.showLong("任务已结束")
|
||||
if (stopTaskType == SweeperTaskStop.StopTaskType.NORMAL) {
|
||||
mDialog = sweeperCloudTaskNormalEndDialog()
|
||||
showNotice("任务已结束")
|
||||
ToastUtils.showLong("任务已结束")
|
||||
} else {
|
||||
// 产品确认有弹框时不需要同步弹toast,只需有TTS
|
||||
mDialog = createSweeperTaskEndDialog(context, object : SweeperCloudDialogClickListener {
|
||||
override fun onConfirm() {
|
||||
// mPresenter?.sendSweeperStopTaskResp(taskId, SweeperTaskStop.StopTaskCode.MANUAL_CONFIRM)
|
||||
@@ -355,8 +355,8 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
|
||||
private fun sweeperCloudTaskExceptionEndDialog(isCancel: Boolean): SweeperCloudDialog? {
|
||||
return createSweeperTaskExceptionEndDialog(context, object : SweeperCloudDialogClickListener {
|
||||
override fun onConfirm() {
|
||||
ToastUtils.showLong("任务已结束")
|
||||
resetTaskInfoPanel()
|
||||
// ToastUtils.showLong("任务已结束")
|
||||
// resetTaskInfoPanel()
|
||||
}
|
||||
|
||||
override fun onRefuseOrEnd() {
|
||||
@@ -364,8 +364,8 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
|
||||
}
|
||||
|
||||
override fun onCountDownStop() {
|
||||
ToastUtils.showLong("任务已结束")
|
||||
resetTaskInfoPanel()
|
||||
// ToastUtils.showLong("任务已结束")
|
||||
// resetTaskInfoPanel()
|
||||
}
|
||||
|
||||
override fun onNext() {
|
||||
@@ -378,7 +378,7 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
|
||||
/**
|
||||
* 云端同步大任务状态
|
||||
*/
|
||||
fun onSweeperCloudBigTaskStatus(taskId: String, bigTaskStatus: SweeperBigTaskStatus.BigTaskStatus) {
|
||||
fun onSweeperCloudBigTaskStatus(taskId: String, bigTaskStatus: SweeperCommon.TaskStatus) {
|
||||
//隐藏loading
|
||||
mLoadingDialog.hideLoading()
|
||||
mTaskInfo?.let {
|
||||
@@ -386,24 +386,28 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
|
||||
if (it.taskId != taskId) {
|
||||
return
|
||||
}
|
||||
//大任务处于取消状态 异常状态pad端都显示无任务列表
|
||||
if (bigTaskStatus == SweeperBigTaskStatus.BigTaskStatus.CANCLE
|
||||
|| bigTaskStatus == SweeperBigTaskStatus.BigTaskStatus.ABNORMAL
|
||||
|| bigTaskStatus == SweeperBigTaskStatus.BigTaskStatus.FINISHED) {
|
||||
//大任务处于取消状态/异常结束/正常结束 时都代表大任务结束了,任务列表切换为无任务列表状态
|
||||
if (bigTaskStatus == SweeperCommon.TaskStatus.CANCEL
|
||||
|| bigTaskStatus == SweeperCommon.TaskStatus.ABNORMAL
|
||||
|| bigTaskStatus == SweeperCommon.TaskStatus.FINISHED) {
|
||||
mPresenter?.isHasTaskInfo(false)
|
||||
//数据重复导致连续弹窗
|
||||
if (mDialog != null && mDialog!!.isShowing) {
|
||||
return
|
||||
}
|
||||
mDialog = if (bigTaskStatus == SweeperBigTaskStatus.BigTaskStatus.CANCLE
|
||||
|| bigTaskStatus == SweeperBigTaskStatus.BigTaskStatus.ABNORMAL)
|
||||
sweeperCloudTaskExceptionEndDialog(bigTaskStatus == SweeperBigTaskStatus.BigTaskStatus.CANCLE)
|
||||
mDialog = if (bigTaskStatus == SweeperCommon.TaskStatus.CANCEL
|
||||
|| bigTaskStatus == SweeperCommon.TaskStatus.ABNORMAL)
|
||||
sweeperCloudTaskExceptionEndDialog(bigTaskStatus == SweeperCommon.TaskStatus.CANCEL)
|
||||
else
|
||||
sweeperCloudTaskNormalEndDialog()
|
||||
mDialog?.show()
|
||||
showNotice("任务已结束")
|
||||
} else if (bigTaskStatus == SweeperBigTaskStatus.BigTaskStatus.SUSPENDED) {// 暂停
|
||||
|
||||
showNotice("任务已结束")
|
||||
resetTaskInfoPanel()
|
||||
} else if (bigTaskStatus == SweeperCommon.TaskStatus.SUSPENDED) {// 暂停
|
||||
showNotice("任务已暂停")
|
||||
ToastUtils.showLong("任务已暂停")
|
||||
//更新任务列表中大任务状态
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -212,7 +212,7 @@ public class SweeperPresenter extends Presenter<SweeperFragment>
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSweeperCloudBigTaskStatus(@NonNull String taskId, SweeperBigTaskStatus.BigTaskStatus bigTaskStatus) {
|
||||
public void onSweeperCloudBigTaskStatus(@NonNull String taskId, SweeperCommon.TaskStatus bigTaskStatus) {
|
||||
ThreadUtils.runOnUiThread(() -> mView.onSweeperCloudBigTaskStatus(taskId, bigTaskStatus));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user