[Sweeper Cloud] fix: 大任务状态 增加 running状态;
refactor: 任务中止弹框 title和content 文案调整; fix: 大任务状态展示issue ;
This commit is contained in:
@@ -481,6 +481,12 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
|
||||
showNotice("任务已恢复")
|
||||
ToastUtils.showLong("任务已恢复")
|
||||
|
||||
//更新任务列表中大任务状态
|
||||
val builder = it.toBuilder()
|
||||
builder.taskStatus = SweeperCommon.TaskStatus.RUNNING
|
||||
mTaskInfo = builder.build()
|
||||
getCurrentTaskView().setData(mTaskInfo, getCurrentRunningSubTaskPosition())
|
||||
} else if (bigTaskStatus == SweeperCommon.TaskStatus.RUNNING) { //首次开始运行的时候,非恢复后的运行
|
||||
//更新任务列表中大任务状态
|
||||
val builder = it.toBuilder()
|
||||
builder.taskStatus = SweeperCommon.TaskStatus.RUNNING
|
||||
@@ -522,7 +528,6 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
|
||||
}
|
||||
|
||||
else -> {
|
||||
mDialog = sweeperCloudTaskResumeDialog()
|
||||
var ttsString = "云端恢复任务,注意车辆即将启动!"
|
||||
mCurrentSuspendSubTaskInfo?.also { suspendSub ->
|
||||
val isAutoPoilotState =
|
||||
@@ -542,6 +547,7 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
|
||||
}
|
||||
}
|
||||
showNotice(ttsString)
|
||||
mDialog = sweeperCloudTaskResumeDialog(ttsString)
|
||||
}
|
||||
}
|
||||
mDialog?.show()
|
||||
@@ -792,7 +798,7 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
|
||||
/**
|
||||
* 大任务恢复弹框
|
||||
*/
|
||||
private fun sweeperCloudTaskResumeDialog(): SweeperCloudDialog? {
|
||||
private fun sweeperCloudTaskResumeDialog(contentStr: String): SweeperCloudDialog? {
|
||||
return createSweeperTaskResumeDialog(context, object : SweeperCloudDialogClickListener {
|
||||
override fun onConfirm() {
|
||||
|
||||
@@ -809,7 +815,7 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
|
||||
override fun onNext() {
|
||||
|
||||
}
|
||||
})
|
||||
}, contentStr)
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -271,9 +271,9 @@ object SweeperCloudTaskUtils {
|
||||
): SweeperCloudDialog? {
|
||||
var builder: SweeperCloudDialog.Builder = SweeperCloudDialog.Builder()
|
||||
builder.titleStr = "子任务确认"
|
||||
builder.contentStr = "请确认并执行${subTaskInfo.subTaskName}"
|
||||
builder.contentStr = "请确认并执行子任务 ${subTaskInfo.subTaskName}"
|
||||
builder.tipStr =
|
||||
if (subTaskInfo.taskModel == TaskModel.MANUAL) "[需手动驾驶至终点${subTaskInfo.endLocation.siteName}]" else "[自动驾驶至终点${subTaskInfo.endLocation.siteName}]"
|
||||
if (subTaskInfo.taskModel == TaskModel.MANUAL) "[需手动驾驶至终点 ${subTaskInfo.endLocation.siteName}]" else "[自动驾驶至终点 ${subTaskInfo.endLocation.siteName},请保持N档拉手刹再进入自动驾驶]"
|
||||
builder.leftStr = "确认"
|
||||
builder.middleStr = ""
|
||||
builder.rightStr = ""
|
||||
@@ -293,7 +293,12 @@ object SweeperCloudTaskUtils {
|
||||
timeoutStr: String
|
||||
): SweeperCloudDialog? {
|
||||
var builder: SweeperCloudDialog.Builder = SweeperCloudDialog.Builder()
|
||||
builder.titleStr = "任务结束"
|
||||
val titleStr = when (stopTaskType) {
|
||||
SweeperTaskStop.StopTaskType.ADVANCE -> "任务中止"
|
||||
SweeperTaskStop.StopTaskType.EXCEPTION -> "任务异常结束"
|
||||
else -> "任务结束"
|
||||
}
|
||||
builder.titleStr = titleStr
|
||||
when (stopTaskType) {
|
||||
//任务提前结束
|
||||
SweeperTaskStop.StopTaskType.ADVANCE -> {
|
||||
@@ -380,11 +385,12 @@ object SweeperCloudTaskUtils {
|
||||
@JvmStatic
|
||||
fun createSweeperTaskResumeDialog(
|
||||
context: Context?,
|
||||
listener: SweeperCloudDialogClickListener?
|
||||
listener: SweeperCloudDialogClickListener?,
|
||||
contentStr: String
|
||||
): SweeperCloudDialog? {
|
||||
var builder: SweeperCloudDialog.Builder = SweeperCloudDialog.Builder()
|
||||
builder.titleStr = "任务恢复"
|
||||
builder.contentStr = "云端恢复任务,注意车辆即将启动!"
|
||||
builder.contentStr = contentStr
|
||||
builder.tipStr = "【注意安全,坐稳扶好】"
|
||||
builder.leftStr = "确认"
|
||||
builder.middleStr = ""
|
||||
|
||||
@@ -30,15 +30,20 @@ class SubTaskView : ConstraintLayout {
|
||||
/**
|
||||
* 设置子任务信息
|
||||
*/
|
||||
fun setData(taskInfo: SubTaskInfo,isLastTask: Boolean = false) {
|
||||
fun setData(taskInfo: SubTaskInfo, isLastTask: Boolean = false) {
|
||||
tvSubTaskName.text = taskInfo.subTaskName
|
||||
tvSubTaskName.setTextColor(if (taskInfo.taskStatus==SweeperCommon.TaskStatus.RUNNING) Color.parseColor("#3BD2FF") else Color.parseColor("#FFFFFF"))
|
||||
tvSubTaskName.setTextColor(
|
||||
if (taskInfo.taskStatus == SweeperCommon.TaskStatus.RUNNING)
|
||||
Color.parseColor("#3BD2FF")
|
||||
else
|
||||
Color.parseColor("#FFFFFF")
|
||||
)
|
||||
if (taskInfo.taskModel == TaskModel.MANUAL) {//人工驾驶子任务
|
||||
ivManualDriving.visibility = View.VISIBLE
|
||||
} else {
|
||||
ivManualDriving.visibility = View.GONE
|
||||
}
|
||||
if (taskInfo.taskStatus==SweeperCommon.TaskStatus.RUNNING) {
|
||||
if (taskInfo.taskStatus == SweeperCommon.TaskStatus.RUNNING) {
|
||||
ivSubTask.setImageResource(R.drawable.sweeper_icon_select_subtask)
|
||||
} else {
|
||||
ivSubTask.setImageResource(R.drawable.sweeper_icon_not_select_subtask)
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.mogo.och.sweepercloud.view
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.graphics.Color
|
||||
import android.util.AttributeSet
|
||||
@@ -14,7 +15,13 @@ import com.zhjt.mogo.adas.data.sweeper.common.SweeperCommon
|
||||
import com.zhjt.mogo.adas.data.sweeper.common.SweeperCommon.TaskStatus
|
||||
import com.zhjt.mogo.adas.data.sweeper.task.SweeperTask.SubTaskInfo
|
||||
import com.zhjt.mogo.adas.data.sweeper.task.SweeperTask.TaskInfo
|
||||
import kotlinx.android.synthetic.main.sweeper_current_task_info.view.*
|
||||
import kotlinx.android.synthetic.main.sweeper_current_task_info.view.currentSubTask
|
||||
import kotlinx.android.synthetic.main.sweeper_current_task_info.view.lastSubTask
|
||||
import kotlinx.android.synthetic.main.sweeper_current_task_info.view.preSubTask
|
||||
import kotlinx.android.synthetic.main.sweeper_current_task_info.view.tvStartAuto
|
||||
import kotlinx.android.synthetic.main.sweeper_current_task_info.view.tvTaskName
|
||||
import kotlinx.android.synthetic.main.sweeper_current_task_info.view.tvTaskState
|
||||
import kotlinx.android.synthetic.main.sweeper_current_task_info.view.tvTaskTime
|
||||
|
||||
/**
|
||||
* 清扫车当前任务信息展示
|
||||
@@ -85,10 +92,12 @@ class SweeperCurrentTaskInfoView : ConstraintLayout {
|
||||
/**
|
||||
* 设置当前任务数据
|
||||
*/
|
||||
@SuppressLint("SetTextI18n")
|
||||
fun setData(
|
||||
taskInfo: TaskInfo?,
|
||||
currentPosition: Int = -1
|
||||
) {
|
||||
// 更新 任务名称、任务时间
|
||||
taskInfo?.apply {
|
||||
this@SweeperCurrentTaskInfoView.listTask = subListList
|
||||
tvTaskName.text = taskName
|
||||
@@ -102,13 +111,14 @@ class SweeperCurrentTaskInfoView : ConstraintLayout {
|
||||
)
|
||||
}"
|
||||
}
|
||||
// 更新大任务状态
|
||||
updateTaskStateText(taskInfo?.taskStatus ?: TaskStatus.TO_START)
|
||||
// 更新子任务列表
|
||||
listTask?.let {
|
||||
//特殊处理当前暂无执行中任务的情况
|
||||
if (currentPosition == -1) {
|
||||
updateTaskStateText(TaskStatus.TO_START)
|
||||
setCurrentData(currentPosition + 1)
|
||||
} else {
|
||||
updateTaskStateText(taskInfo?.taskStatus ?: TaskStatus.RUNNING)
|
||||
setCurrentData(currentPosition)
|
||||
}
|
||||
}
|
||||
@@ -123,10 +133,12 @@ class SweeperCurrentTaskInfoView : ConstraintLayout {
|
||||
tvTaskState.text = "任务执行中"
|
||||
tvTaskState.setBackgroundResource(R.drawable.bg_shape_task_state_working)
|
||||
}
|
||||
|
||||
SweeperCommon.TaskStatus.SUSPENDED -> {
|
||||
tvTaskState.text = "任务已暂停"
|
||||
tvTaskState.setBackgroundResource(R.drawable.bg_shape_task_state_not_ready)
|
||||
}
|
||||
|
||||
else -> {
|
||||
tvTaskState.text = "任务待开始"
|
||||
tvTaskState.setBackgroundResource(R.drawable.bg_shape_task_state_not_ready)
|
||||
|
||||
Reference in New Issue
Block a user