dev_sweeper310][adas]云控清扫车接收接口添加可空参数类型,添加未知类型回调
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package com.zhidao.support.adas.high;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.mogo.support.obu.ObuScene;
|
||||
import com.zhidao.support.adas.high.common.ProtocolStatus;
|
||||
@@ -273,7 +274,7 @@ public interface OnAdasListener {
|
||||
* @param sysTime 当前时间戳
|
||||
* @param taskInfo 数据
|
||||
*/
|
||||
void onSweeperFutianCloudTask(@NonNull MessagePad.Header header, @NonNull SweeperCloudTask.MessageType messageType, @NonNull String reqNo, long sysTime, @NonNull SweeperTask.TaskInfo taskInfo);
|
||||
void onSweeperFutianCloudTask(@NonNull MessagePad.Header header, @NonNull SweeperCloudTask.MessageType messageType, @Nullable String reqNo, long sysTime, @Nullable SweeperTask.TaskInfo taskInfo);
|
||||
|
||||
/**
|
||||
* 2、云端下发子任务,请求pad确认(type:100002)-> sweeper_task_confirm.proto
|
||||
@@ -284,7 +285,7 @@ public interface OnAdasListener {
|
||||
* @param sysTime 当前时间戳
|
||||
* @param taskConfirm 数据
|
||||
*/
|
||||
void onSweeperFutianCloudTaskConfirm(@NonNull MessagePad.Header header, @NonNull SweeperCloudTask.MessageType messageType, @NonNull String reqNo, long sysTime, @NonNull SweeperTaskConfirm.TaskConfirm taskConfirm);
|
||||
void onSweeperFutianCloudTaskConfirm(@NonNull MessagePad.Header header, @NonNull SweeperCloudTask.MessageType messageType, @Nullable String reqNo, long sysTime, @Nullable SweeperTaskConfirm.TaskConfirm taskConfirm);
|
||||
|
||||
/**
|
||||
* 3、云端下发任务状态到pad(type:100003)-> sweeper_task_status.proto
|
||||
@@ -295,7 +296,7 @@ public interface OnAdasListener {
|
||||
* @param sysTime 当前时间戳
|
||||
* @param taskStatusPush 数据
|
||||
*/
|
||||
void onSweeperFutianCloudTaskStatus(@NonNull MessagePad.Header header, @NonNull SweeperCloudTask.MessageType messageType, @NonNull String reqNo, long sysTime, @NonNull SweeperTaskStatus.TaskStatusPush taskStatusPush);
|
||||
void onSweeperFutianCloudTaskStatus(@NonNull MessagePad.Header header, @NonNull SweeperCloudTask.MessageType messageType, @Nullable String reqNo, long sysTime, @Nullable SweeperTaskStatus.TaskStatusPush taskStatusPush);
|
||||
|
||||
/**
|
||||
* 4、云端请求pad结束任务(type:100004)-> sweeper_task_stop.proto
|
||||
@@ -306,7 +307,7 @@ public interface OnAdasListener {
|
||||
* @param sysTime 当前时间戳
|
||||
* @param stopTaskReq 数据
|
||||
*/
|
||||
void onSweeperFutianCloudTaskStop(@NonNull MessagePad.Header header, @NonNull SweeperCloudTask.MessageType messageType, @NonNull String reqNo, long sysTime, @NonNull SweeperTaskStop.StopTaskReq stopTaskReq);
|
||||
void onSweeperFutianCloudTaskStop(@NonNull MessagePad.Header header, @NonNull SweeperCloudTask.MessageType messageType, @Nullable String reqNo, long sysTime, @Nullable SweeperTaskStop.StopTaskReq stopTaskReq);
|
||||
|
||||
/**
|
||||
* 5、pad请求挂起任务(type:100005)-> sweeper_task_suspend_resume.proto
|
||||
@@ -318,7 +319,7 @@ public interface OnAdasListener {
|
||||
* @param sysTime 当前时间戳
|
||||
* @param suspendResumeTaskResp 数据
|
||||
*/
|
||||
void onSweeperFutianCloudTaskSuspendResume(@NonNull MessagePad.Header header, @NonNull SweeperCloudTask.MessageType messageType, @NonNull String reqNo, long sysTime, @NonNull SweeperTaskSuspendResume.SuspendResumeTaskResp suspendResumeTaskResp);
|
||||
void onSweeperFutianCloudTaskSuspendResume(@NonNull MessagePad.Header header, @NonNull SweeperCloudTask.MessageType messageType, @Nullable String reqNo, long sysTime, @Nullable SweeperTaskSuspendResume.SuspendResumeTaskResp suspendResumeTaskResp);
|
||||
|
||||
/**
|
||||
* 8、接管后回自驾-pad上报状态给云端 云端下发启动自驾(type: 100008)-> sweeper_autopilot.proto
|
||||
@@ -329,7 +330,7 @@ public interface OnAdasListener {
|
||||
* @param sysTime 当前时间戳
|
||||
* @param isBootableResp 数据
|
||||
*/
|
||||
void onSweeperFutianCloudBootable(@NonNull MessagePad.Header header, @NonNull SweeperCloudTask.MessageType messageType, @NonNull String reqNo, long sysTime, @NonNull SweeperBootable.IsBootableResp isBootableResp);
|
||||
void onSweeperFutianCloudBootable(@NonNull MessagePad.Header header, @NonNull SweeperCloudTask.MessageType messageType, @Nullable String reqNo, long sysTime, @Nullable SweeperBootable.IsBootableResp isBootableResp);
|
||||
|
||||
/**
|
||||
* 9、云端下发pad大任务状态(type: 100009)-> sweeper_big_task_status.proto
|
||||
@@ -340,7 +341,15 @@ public interface OnAdasListener {
|
||||
* @param sysTime 当前时间戳
|
||||
* @param bigTaskStatusPush 数据
|
||||
*/
|
||||
void onSweeperFutianCloudBigTaskStatus(@NonNull MessagePad.Header header, @NonNull SweeperCloudTask.MessageType messageType, @NonNull String reqNo, long sysTime, @NonNull SweeperBigTaskStatus.BigTaskStatusPush bigTaskStatusPush);
|
||||
void onSweeperFutianCloudBigTaskStatus(@NonNull MessagePad.Header header, @NonNull SweeperCloudTask.MessageType messageType, @Nullable String reqNo, long sysTime, @Nullable SweeperBigTaskStatus.BigTaskStatusPush bigTaskStatusPush);
|
||||
|
||||
/**
|
||||
* 清扫车云端任务未知类型
|
||||
*
|
||||
* @param header 头
|
||||
* @param bytes 原始数据
|
||||
*/
|
||||
void onSweeperFutianCloudTaskUnknown(@NonNull MessagePad.Header header, @NonNull byte[] bytes);
|
||||
|
||||
/**
|
||||
* Bag管理应答
|
||||
|
||||
@@ -29,7 +29,8 @@ public class SweeperCloudTaskMessage extends MyAbstractMessageHandler {
|
||||
|
||||
@Override
|
||||
public void handlerMsg(RawData raw, OnAdasListener adasListener) throws InvalidProtocolBufferException {
|
||||
SweeperCloudTask.SweeperMessage message = SweeperCloudTask.SweeperMessage.parser().parseFrom(raw.originalData.toByteArray(), raw.getOffsetValue(), raw.getPackageLengthValue() - raw.getOffsetValue());
|
||||
byte[] bytes = raw.originalData.toByteArray();
|
||||
SweeperCloudTask.SweeperMessage message = SweeperCloudTask.SweeperMessage.parser().parseFrom(bytes, raw.getOffsetValue(), raw.getPackageLengthValue() - raw.getOffsetValue());
|
||||
AdasChannel.calculateTimeConsumingOnDispatchRaw("清扫车云端任务调度", raw.receiveTime);
|
||||
long nowTime = 0;
|
||||
if (CupidLogUtils.isEnableLog())
|
||||
@@ -40,36 +41,61 @@ public class SweeperCloudTaskMessage extends MyAbstractMessageHandler {
|
||||
String reqNo = message.getReqNo(); //请求编号,响应请求时,使用请求方的请求编号
|
||||
long sysTime = message.getSysTime(); //当前时间戳
|
||||
ByteString payload = message.getPayload();
|
||||
boolean isExistPayload = payload != null && !payload.isEmpty();
|
||||
if (msgType == SweeperCloudTask.MessageType.CloudPushTask || msgType == SweeperCloudTask.MessageType.PadSendGetTaskReq) {
|
||||
//1、云端下发大任务信息(type: 100001)-> sweeper_task.proto
|
||||
//7、pad主动拉取当前车辆正在执行任务的完整信息(type:100007)-> sweeper_task.proto
|
||||
SweeperTask.TaskInfo taskInfo = SweeperTask.TaskInfo.parseFrom(payload);
|
||||
SweeperTask.TaskInfo taskInfo = null;
|
||||
if (isExistPayload) {
|
||||
taskInfo = SweeperTask.TaskInfo.parseFrom(payload);
|
||||
}
|
||||
adasListener.onSweeperFutianCloudTask(header, msgType, reqNo, sysTime, taskInfo);
|
||||
} else if (msgType == SweeperCloudTask.MessageType.CloudPushTaskConfirm) {
|
||||
//2、云端下发子任务,请求pad确认(type:100002)-> sweeper_task_confirm.proto
|
||||
SweeperTaskConfirm.TaskConfirm taskConfirm = SweeperTaskConfirm.TaskConfirm.parseFrom(payload);
|
||||
SweeperTaskConfirm.TaskConfirm taskConfirm = null;
|
||||
if (isExistPayload) {
|
||||
taskConfirm = SweeperTaskConfirm.TaskConfirm.parseFrom(payload);
|
||||
}
|
||||
adasListener.onSweeperFutianCloudTaskConfirm(header, msgType, reqNo, sysTime, taskConfirm);
|
||||
} else if (msgType == SweeperCloudTask.MessageType.CloudPushTaskStatus) {
|
||||
//3、云端下发任务状态到pad(type:100003)-> sweeper_task_status.proto
|
||||
SweeperTaskStatus.TaskStatusPush taskStatusPush = SweeperTaskStatus.TaskStatusPush.parseFrom(payload);
|
||||
SweeperTaskStatus.TaskStatusPush taskStatusPush = null;
|
||||
if (isExistPayload) {
|
||||
taskStatusPush = SweeperTaskStatus.TaskStatusPush.parseFrom(payload);
|
||||
}
|
||||
adasListener.onSweeperFutianCloudTaskStatus(header, msgType, reqNo, sysTime, taskStatusPush);
|
||||
} else if (msgType == SweeperCloudTask.MessageType.CloudPushTaskStop) {
|
||||
//4、云端请求pad结束任务(type:100004)-> sweeper_task_stop.proto
|
||||
SweeperTaskStop.StopTaskReq stopTaskReq = SweeperTaskStop.StopTaskReq.parseFrom(payload);
|
||||
SweeperTaskStop.StopTaskReq stopTaskReq = null;
|
||||
if (isExistPayload) {
|
||||
stopTaskReq = SweeperTaskStop.StopTaskReq.parseFrom(payload);
|
||||
}
|
||||
adasListener.onSweeperFutianCloudTaskStop(header, msgType, reqNo, sysTime, stopTaskReq);
|
||||
} else if (msgType == SweeperCloudTask.MessageType.PadSendTaskSuspend || msgType == SweeperCloudTask.MessageType.PadSendTaskResume) {
|
||||
//5、pad请求挂起任务(type:100005)-> sweeper_task_suspend_resume.proto
|
||||
//6、pad请求恢复挂起的任务(type:100006)-> sweeper_task_suspend_resume.proto
|
||||
SweeperTaskSuspendResume.SuspendResumeTaskResp suspendResumeTaskResp = SweeperTaskSuspendResume.SuspendResumeTaskResp.parseFrom(payload);
|
||||
SweeperTaskSuspendResume.SuspendResumeTaskResp suspendResumeTaskResp = null;
|
||||
if (isExistPayload) {
|
||||
suspendResumeTaskResp = SweeperTaskSuspendResume.SuspendResumeTaskResp.parseFrom(payload);
|
||||
}
|
||||
adasListener.onSweeperFutianCloudTaskSuspendResume(header, msgType, reqNo, sysTime, suspendResumeTaskResp);
|
||||
} else if (msgType == SweeperCloudTask.MessageType.PadSendBootable) {
|
||||
//8、接管后回自驾-pad上报状态给云端 云端下发启动自驾(type: 100008)-> sweeper_autopilot.proto
|
||||
SweeperBootable.IsBootableResp isBootableResp = SweeperBootable.IsBootableResp.parseFrom(payload);
|
||||
SweeperBootable.IsBootableResp isBootableResp = null;
|
||||
if (isExistPayload) {
|
||||
isBootableResp = SweeperBootable.IsBootableResp.parseFrom(payload);
|
||||
}
|
||||
adasListener.onSweeperFutianCloudBootable(header, msgType, reqNo, sysTime, isBootableResp);
|
||||
} else if (msgType == SweeperCloudTask.MessageType.CloudPushBigTaskStatus) {
|
||||
//9、云端下发pad大任务状态(type: 100009)-> sweeper_big_task_status.proto
|
||||
SweeperBigTaskStatus.BigTaskStatusPush bigTaskStatusPush = SweeperBigTaskStatus.BigTaskStatusPush.parseFrom(payload);
|
||||
SweeperBigTaskStatus.BigTaskStatusPush bigTaskStatusPush = null;
|
||||
if (isExistPayload) {
|
||||
bigTaskStatusPush = SweeperBigTaskStatus.BigTaskStatusPush.parseFrom(payload);
|
||||
}
|
||||
adasListener.onSweeperFutianCloudBigTaskStatus(header, msgType, reqNo, sysTime, bigTaskStatusPush);
|
||||
} else {
|
||||
//未知数据类型
|
||||
adasListener.onSweeperFutianCloudTaskUnknown(header, bytes);
|
||||
}
|
||||
// adasListener.onBagManagerCmd(raw.getHeader(), bagManager);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user