[sweeper-cloud]子任务确认和大任务结束逻辑mock测试
This commit is contained in:
@@ -117,28 +117,28 @@ public abstract class BaseSweeperTabFragment<V extends IView, P extends Presente
|
||||
setBottomBtnListener();
|
||||
// 模拟 查询当前任务
|
||||
findViewById(R.id.btnQueryCurrentTask).setOnClickListener(view ->
|
||||
SweeperCloudTaskUtils.mockQueryCurrentTaskInfo()
|
||||
SweeperCloudTaskUtils.mockQueryCurrentTaskInfo()
|
||||
);
|
||||
// 模拟 云端发送任务
|
||||
findViewById(R.id.btnSendTask).setOnClickListener(view ->
|
||||
mockSendCloudTaskInfo()
|
||||
SweeperCloudTaskUtils.mockSendCloudTaskInfo(SweeperCloudTask.MessageType.CloudPushTask)
|
||||
);
|
||||
// 模拟 云端发送子任务确认
|
||||
findViewById(R.id.btnSendSubTaskConfirm).setOnClickListener(view ->
|
||||
mockSendCloudSubTaskConfirm()
|
||||
SweeperCloudTaskUtils.mockSendCloudSubTaskConfirm()
|
||||
);
|
||||
|
||||
// 模拟 云端请求结束大任务
|
||||
findViewById(R.id.btnSendEndTask).setOnClickListener(view ->
|
||||
mockSendCloudEndBigTask()
|
||||
SweeperCloudTaskUtils.mockSendCloudBigTaskEnd()
|
||||
);
|
||||
// 模拟 云端发送子任务状态
|
||||
findViewById(R.id.btnSendSubtaskStatus).setOnClickListener(view ->
|
||||
mockSendCloudSubTaskStatus()
|
||||
SweeperCloudTaskUtils.mockSendCloudUpdateSubTaskStatus()
|
||||
);
|
||||
// 模拟 云端发送大任务状态
|
||||
findViewById(R.id.btnSendTaskStatus).setOnClickListener(view ->
|
||||
mockSendCloudBigTaskStatus()
|
||||
SweeperCloudTaskUtils.mockSendCloudBigTaskStatus()
|
||||
);
|
||||
mTrafficDataView.getSpeedImage().setOnLongClickListener(new View.OnLongClickListener() {
|
||||
@Override
|
||||
@@ -483,41 +483,18 @@ public abstract class BaseSweeperTabFragment<V extends IView, P extends Presente
|
||||
public void setTaskDataToFragmentCallback(ISweeperTaskDataToFragmentCallback mTaskDataToFragmentCallback) {
|
||||
this.mTaskDataToFragmentCallback = mTaskDataToFragmentCallback;
|
||||
}
|
||||
|
||||
/**
|
||||
* 模拟pad获取正在执行的任务
|
||||
*/
|
||||
public void mockCloudTaskInfo() {
|
||||
SweeperCloudTaskUtils.mockSendCloudTaskInfo(SweeperCloudTask.MessageType.CloudPushTask);
|
||||
}
|
||||
/**
|
||||
* 模拟云端发送任务信息
|
||||
*/
|
||||
public void mockSendCloudTaskInfo() {
|
||||
SweeperCloudTaskUtils.mockSendCloudTaskInfo(SweeperCloudTask.MessageType.PadSendGetTaskReq);
|
||||
SweeperCloudTaskUtils.mockSendCloudTaskInfo(SweeperCloudTask.MessageType.CloudPushTask);
|
||||
}
|
||||
|
||||
/**
|
||||
* 模拟云端发送子任务确认
|
||||
*/
|
||||
public void mockSendCloudSubTaskConfirm() {
|
||||
SweeperCloudTaskUtils.mockSendCloudSubTaskConfirm();
|
||||
}
|
||||
|
||||
/**
|
||||
* 模拟云端发送结束大任务
|
||||
*/
|
||||
public void mockSendCloudEndBigTask() {
|
||||
SweeperCloudTaskUtils.mockSendCloudBigTaskEnd();
|
||||
}
|
||||
/**
|
||||
* 模拟云端发送子任务状态
|
||||
*/
|
||||
public void mockSendCloudSubTaskStatus() {
|
||||
SweeperCloudTaskUtils.mockSendCloudUpdateSubTaskStatus();
|
||||
}
|
||||
|
||||
/**
|
||||
* 模拟云端发送大任务状态
|
||||
*/
|
||||
public void mockSendCloudBigTaskStatus() {
|
||||
SweeperCloudTaskUtils.mockSendCloudBigTaskStatus();
|
||||
}
|
||||
|
||||
/**
|
||||
* 结束子任务
|
||||
*/
|
||||
|
||||
@@ -109,9 +109,9 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
|
||||
*/
|
||||
private fun initListener() {
|
||||
getCurrentView().getAutoBtn().setOnClickListener {
|
||||
//前置条件 必须处于人工驾驶,并且有正在执行的子任务,才能请求云端进入自驾
|
||||
//前置条件 (1)必须处于人工驾驶状态 (2)必须有正在执行的子任务,且子任务类型为自动驾驶子任务 才能请求云端进入自驾
|
||||
mCurrentSubTaskInfo?.let {
|
||||
if (mPresenter?.autopilotState == STATUS_AUTOPILOT_ENABLE) {
|
||||
if (mPresenter?.autopilotState == STATUS_AUTOPILOT_ENABLE&&it.taskModel==TaskModel.AUTO) {
|
||||
mLoadingDialog.showLoading()
|
||||
mPresenter?.sendSweeperAutopilotBootable(mTaskInfo?.taskId, it.subTaskId, it.lineId.toLong())
|
||||
}
|
||||
@@ -477,7 +477,7 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
|
||||
}
|
||||
mDialog = createReceivedTaskInfoDialog(context, object : SweeperCloudDialogClickListener {
|
||||
override fun onConfirm() {
|
||||
ToastUtils.showLong("确认")
|
||||
//ToastUtils.showLong("确认")
|
||||
mPresenter?.sendSweeperStartTaskResp(it.taskId, SweeperTask.StartTaskCode.MANUAL_CONFIRM)
|
||||
setShowCurrentTaskPanelView(true)
|
||||
getCurrentView().setData(it)
|
||||
@@ -486,14 +486,14 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
|
||||
}
|
||||
|
||||
override fun onRefuseOrEnd() {
|
||||
ToastUtils.showLong("拒绝")
|
||||
//ToastUtils.showLong("拒绝")
|
||||
setShowCurrentTaskPanelView(false)
|
||||
mPresenter?.sendSweeperStartTaskResp(it.taskId, SweeperTask.StartTaskCode.MANUAL_REFUSE)
|
||||
mLoadingDialog.showLoading()
|
||||
}
|
||||
|
||||
override fun onCountDownStop() {
|
||||
ToastUtils.showLong("倒计时结束")
|
||||
//ToastUtils.showLong("倒计时结束")
|
||||
setShowCurrentTaskPanelView(false)
|
||||
mPresenter?.sendSweeperStartTaskResp(it.taskId, SweeperTask.StartTaskCode.OVER_TIME)
|
||||
mLoadingDialog.showLoading()
|
||||
|
||||
@@ -3,7 +3,6 @@ package com.mogo.och.sweepercloud.model;
|
||||
import android.content.Context;
|
||||
|
||||
import com.amap.api.maps.model.LatLng;
|
||||
import com.elegant.utils.UiThreadHandler;
|
||||
import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
|
||||
import com.mogo.commons.AbsMogoApplication;
|
||||
import com.mogo.commons.module.status.IMogoStatusChangedListener;
|
||||
|
||||
@@ -30,7 +30,9 @@ object SweeperCloudTaskUtils {
|
||||
*/
|
||||
@JvmStatic
|
||||
fun mockQueryCurrentTaskInfo() {
|
||||
SweeperTaskModel.getInstance().getCurrentTask()
|
||||
UiThreadHandler.getsUiHandler().postDelayed({
|
||||
mockSendCloudTaskInfo(MessageType.PadSendGetTaskReq)
|
||||
},1000)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -88,6 +90,8 @@ object SweeperCloudTaskUtils {
|
||||
endLocation1.longitude = 121.43138115208806
|
||||
endLocation1.latitude = 37.52987767688798
|
||||
subBuilder1.endLocation = endLocation1.build()
|
||||
subBuilder1.lineId = 124
|
||||
subBuilder1.lineName = "测试路线1"
|
||||
builder.addSubList(subBuilder1.build())
|
||||
//第三个子任务
|
||||
val subBuilder2 = SubTaskInfo.newBuilder()
|
||||
@@ -109,6 +113,8 @@ object SweeperCloudTaskUtils {
|
||||
endLocation2.longitude = 121.46030960742117
|
||||
endLocation2.latitude = 37.48032689641474
|
||||
subBuilder2.endLocation = endLocation2.build()
|
||||
subBuilder2.lineId = 125
|
||||
subBuilder2.lineName = "测试路线2"
|
||||
builder.addSubList(subBuilder2.build())
|
||||
//第四个子任务
|
||||
val subBuilder3 = SubTaskInfo.newBuilder()
|
||||
@@ -130,6 +136,8 @@ object SweeperCloudTaskUtils {
|
||||
endLocation3.longitude = 121.46030960742117
|
||||
endLocation3.latitude = 37.48032689641474
|
||||
subBuilder3.endLocation = endLocation3.build()
|
||||
subBuilder3.lineId = 126
|
||||
subBuilder3.lineName = "测试路线3"
|
||||
builder.addSubList(subBuilder3.build())
|
||||
SweeperTaskModel.getInstance().onSweeperFutianCloudTask(
|
||||
messageType,
|
||||
@@ -179,7 +187,7 @@ object SweeperCloudTaskUtils {
|
||||
val builder = SweeperTaskStop.StopTaskReq.newBuilder()
|
||||
builder.sn = getDriverSn()
|
||||
builder.taskId = "10"
|
||||
builder.type = SweeperTaskStop.StopTaskType.NORMAL
|
||||
builder.type = SweeperTaskStop.StopTaskType.ADVANCE
|
||||
SweeperTaskModel.getInstance().onSweeperFutianCloudTaskStop(
|
||||
MessageType.CloudPushTaskStop, "${System.currentTimeMillis()}",
|
||||
System.currentTimeMillis(), builder.build()
|
||||
@@ -194,7 +202,7 @@ object SweeperCloudTaskUtils {
|
||||
val builder = SweeperBigTaskStatus.BigTaskStatusPush.newBuilder()
|
||||
builder.sn = getDriverSn()
|
||||
builder.taskId = "10"
|
||||
builder.taskStatus = BigTaskStatus.CANCLE
|
||||
builder.taskStatus = BigTaskStatus.RUNNING
|
||||
builder.systemTime = System.currentTimeMillis()
|
||||
SweeperTaskModel.getInstance().onSweeperFutianCloudBigTaskStatus(
|
||||
MessageType.CloudPushBigTaskStatus, "${System.currentTimeMillis()}",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
|
||||
<gradient android:startColor="#2A537F" android:endColor="#263A5B" android:angle="135"/>
|
||||
<gradient android:startColor="#2A537F" android:endColor="#263A5B" android:angle="315"/>
|
||||
<corners android:radius="@dimen/dp_45"/>
|
||||
</shape>
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
|
||||
<gradient android:startColor="#20AAFF" android:endColor="#2F6EFF" android:angle="315"/>
|
||||
<gradient android:startColor="#20AAFF" android:endColor="#2F6EFF" android:angle="180"/>
|
||||
<corners android:bottomLeftRadius="@dimen/dp_45" />
|
||||
</shape>
|
||||
@@ -2,7 +2,7 @@
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:innerRadiusRatio="3"
|
||||
android:shape="ring"
|
||||
android:thicknessRatio="10"
|
||||
android:thicknessRatio="16"
|
||||
android:useLevel="false">
|
||||
<gradient
|
||||
android:endColor="#6020AAFF"
|
||||
|
||||
@@ -1,17 +1,26 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<com.mogo.och.common.module.wigets.OCHRoundConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<com.mogo.och.common.module.wigets.OCHBorderShadowLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="@dimen/dp_800"
|
||||
android:layout_height="@dimen/dp_560"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:background="@drawable/bg_shape_dialog_cloud_view"
|
||||
app:roundLayoutRadius="@dimen/dp_45">
|
||||
|
||||
app:bgColor="#00000000"
|
||||
app:blurRadius="@dimen/dp_28"
|
||||
app:shadowColor="#80121526"
|
||||
app:shadowRadius="@dimen/dp_45"
|
||||
app:shadow_position="outer"
|
||||
app:xOffset="0dp"
|
||||
app:yOffset="0dp">
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="@dimen/dp_800"
|
||||
android:layout_height="@dimen/dp_560"
|
||||
android:layout_gravity="center"
|
||||
android:background="@drawable/bg_shape_dialog_cloud_view">
|
||||
<ImageView
|
||||
android:id="@+id/sweeper_cloud_imageview"
|
||||
android:layout_width="@dimen/dp_75"
|
||||
android:layout_height="@dimen/dp_75"
|
||||
android:layout_width="@dimen/dp_84"
|
||||
android:layout_height="@dimen/dp_84"
|
||||
android:layout_marginStart="@dimen/dp_30"
|
||||
android:layout_marginTop="@dimen/dp_30"
|
||||
android:src="@drawable/shape_sweeper_cloud_rotation"
|
||||
@@ -20,8 +29,8 @@
|
||||
|
||||
<com.mogo.och.sweepercloud.view.CountDownView
|
||||
android:id="@+id/sweeper_cloud_countdown"
|
||||
android:layout_width="@dimen/dp_75"
|
||||
android:layout_height="@dimen/dp_75"
|
||||
android:layout_width="@dimen/dp_84"
|
||||
android:layout_height="@dimen/dp_84"
|
||||
android:gravity="center"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_32"
|
||||
@@ -120,4 +129,5 @@
|
||||
android:textSize="@dimen/dp_50"
|
||||
tools:text="拒绝" />
|
||||
</LinearLayout>
|
||||
</com.mogo.och.common.module.wigets.OCHRoundConstraintLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</com.mogo.och.common.module.wigets.OCHBorderShadowLayout>
|
||||
@@ -190,7 +190,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_200"
|
||||
android:background="#f80"
|
||||
android:text="查询当前任务"
|
||||
android:text="pad查询当前任务"
|
||||
android:textSize="30sp"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
@@ -200,7 +200,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="#f00"
|
||||
android:text="发送任务"
|
||||
android:text="接收云控任务"
|
||||
android:textSize="30sp"
|
||||
app:layout_constraintRight_toRightOf="@+id/btnQueryCurrentTask"
|
||||
app:layout_constraintTop_toBottomOf="@+id/btnQueryCurrentTask" />
|
||||
@@ -210,7 +210,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="#0f0"
|
||||
android:text="子任务开始确认"
|
||||
android:text="云控子任务确认"
|
||||
android:textSize="30sp"
|
||||
app:layout_constraintRight_toRightOf="@id/btnSendTask"
|
||||
app:layout_constraintTop_toBottomOf="@id/btnSendTask" />
|
||||
@@ -220,7 +220,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="#00f"
|
||||
android:text="结束大任务"
|
||||
android:text="云控结束大任务"
|
||||
android:textColor="#fff"
|
||||
android:textSize="30sp"
|
||||
app:layout_constraintRight_toRightOf="@id/btnSendTask"
|
||||
@@ -231,7 +231,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="#ffffff"
|
||||
android:text="子任务状态"
|
||||
android:text="云控子任务状态"
|
||||
android:textSize="30sp"
|
||||
app:layout_constraintRight_toRightOf="@id/btnSendEndTask"
|
||||
app:layout_constraintTop_toBottomOf="@id/btnSendEndTask" />
|
||||
@@ -241,7 +241,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="#000000"
|
||||
android:text="大任务状态"
|
||||
android:text="云控大任务状态"
|
||||
android:textColor="#fff"
|
||||
android:textSize="30sp"
|
||||
app:layout_constraintRight_toRightOf="@id/btnSendSubtaskStatus"
|
||||
|
||||
Reference in New Issue
Block a user