[sweeper-cloud]子任务确认和大任务结束逻辑mock测试

This commit is contained in:
bxb
2023-05-17 10:56:45 +08:00
parent 95295c90c2
commit 07212a55aa
9 changed files with 60 additions and 65 deletions

View File

@@ -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();
}
/**
* 结束子任务
*/

View File

@@ -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()

View File

@@ -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;

View File

@@ -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()}",

View File

@@ -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>

View File

@@ -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>

View File

@@ -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"

View File

@@ -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>

View File

@@ -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"