[Sweeper Cloud] feat: 同步大任务状态 结束时增加isPop字段来控制是否弹框;

fix:下发中止大任务时,只是一个提示弹框,不需要 resetTaskpanel() ;
This commit is contained in:
aibingbing
2023-07-26 15:38:58 +08:00
parent a7778f713d
commit 0967bf1e1b
5 changed files with 17 additions and 17 deletions

View File

@@ -52,7 +52,7 @@ interface ISweeperCloudTaskCallback {
/**
* 云端同步大任务状态
*/
fun onSweeperCloudBigTaskStatus(taskId:String, bigTaskStatus: SweeperCommon.TaskStatus)
fun onSweeperCloudBigTaskStatus(taskId:String, bigTaskStatus: SweeperCommon.TaskStatus, isPop:Boolean)
/**
* 云端同步大任务暂停 / 恢复 指令

View File

@@ -331,7 +331,7 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
}
/**
* 结束任务弹窗处理
* 中止任务弹窗处理
*/
private fun sweeperCloudTaskStopDialog(
taskId: String,
@@ -345,15 +345,13 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
if (mDialog != null && mDialog!!.isShowing) {
return
}
mPresenter?.isHasTaskInfo(false)
resetTaskInfoPanel()
if (stopTaskType == SweeperTaskStop.StopTaskType.NORMAL) {
mDialog = sweeperCloudTaskNormalEndDialog()
showNotice("任务已结束")
ToastUtils.showLong("任务已结束")
} else {
// 产品确认有弹框时不需要同步弹toast,只需有TTS
// 产品确认有弹框时不需要同步弹toast, 只需有TTS
mDialog = createSweeperTaskEndDialog(context, object : SweeperCloudDialogClickListener {
override fun onConfirm() {
// mPresenter?.sendSweeperStopTaskResp(taskId, SweeperTaskStop.StopTaskCode.MANUAL_CONFIRM)
@@ -374,6 +372,7 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
}
override fun onNext() {
}
}, stopTaskType, timeoutHintString)
@@ -439,7 +438,7 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
/**
* 云端同步大任务状态
*/
fun onSweeperCloudBigTaskStatus(taskId: String, bigTaskStatus: SweeperCommon.TaskStatus) {
fun onSweeperCloudBigTaskStatus(taskId: String, bigTaskStatus: SweeperCommon.TaskStatus, isPop: Boolean) {
//隐藏loading
mLoadingDialog.hideLoading()
mTaskInfo?.let {
@@ -457,13 +456,14 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
if (mDialog != null && mDialog!!.isShowing) {
return
}
mDialog = if (bigTaskStatus == SweeperCommon.TaskStatus.CANCEL
|| bigTaskStatus == SweeperCommon.TaskStatus.ABNORMAL
)
sweeperCloudTaskExceptionEndDialog(bigTaskStatus == SweeperCommon.TaskStatus.CANCEL)
else
sweeperCloudTaskNormalEndDialog()
mDialog?.show()
if (isPop) {
mDialog = if (bigTaskStatus == SweeperCommon.TaskStatus.CANCEL
|| bigTaskStatus == SweeperCommon.TaskStatus.ABNORMAL){
sweeperCloudTaskExceptionEndDialog(bigTaskStatus == SweeperCommon.TaskStatus.CANCEL)}
else
sweeperCloudTaskNormalEndDialog()
mDialog?.show()
}
showNotice("任务已结束")
resetTaskInfoPanel()

View File

@@ -405,7 +405,7 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM
"onSweeperFutianCloudBigTaskStatus" + printMessage(bigTaskStatusPush));
if (mSweeperTaskCallback != null && bigTaskStatusPush != null) {
msgTypeAndReqNo.put(messageType.getNumber(), reqNo);
mSweeperTaskCallback.onSweeperCloudBigTaskStatus(bigTaskStatusPush.getTaskId(), bigTaskStatusPush.getTaskStatus());
mSweeperTaskCallback.onSweeperCloudBigTaskStatus(bigTaskStatusPush.getTaskId(), bigTaskStatusPush.getTaskStatus(), bigTaskStatusPush.getIsPop());
}
}

View File

@@ -221,8 +221,8 @@ public class SweeperPresenter extends Presenter<SweeperFragment>
}
@Override
public void onSweeperCloudBigTaskStatus(@NonNull String taskId, SweeperCommon.TaskStatus bigTaskStatus) {
ThreadUtils.runOnUiThread(() -> mView.onSweeperCloudBigTaskStatus(taskId, bigTaskStatus));
public void onSweeperCloudBigTaskStatus(@NonNull String taskId, SweeperCommon.TaskStatus bigTaskStatus, boolean isPop) {
ThreadUtils.runOnUiThread(() -> mView.onSweeperCloudBigTaskStatus(taskId, bigTaskStatus, isPop));
}
@Override

View File

@@ -283,7 +283,7 @@ object SweeperCloudTaskUtils {
}
/**
* 创建结束任务弹窗
* 创建任务中止弹窗
*/
@JvmStatic
fun createSweeperTaskEndDialog(