[6.0.0][adas-data][data-centre]能否启动自驾接口修改,加入消息来源字段,以及修改为多条消息同时上报;鹰眼数据中心中修改为事件触发式回调,以及融合域控连接状态原因等;加入主动获取当前状态接口;

This commit is contained in:
x8-phoenix
2023-08-04 16:59:15 +08:00
parent 4280050294
commit c69a3fe16f
14 changed files with 374 additions and 196 deletions

View File

@@ -2,36 +2,31 @@ package com.mogo.och.common.module.manager;
import android.content.Context;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.mogo.eagle.core.data.autopilot.AutopilotStatusInfo;
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotActionsListener;
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatisticsListener;
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener;
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager;
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager;
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotActionsListenerManager;
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotStatisticsListenerManager;
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
import com.mogo.och.common.module.callback.OchAdasStartFailureCallback;
import com.zhjt.mogo.adas.data.bean.AutopilotStatistics;
import com.zhjt.mogo.adas.data.bean.UnableAutopilotReason;
import mogo.telematics.pad.MessagePad;
import mogo_msg.MogoReportMsg;
import system_master.SystemStatusInfo;
import java.util.ArrayList;
import java.util.List;
/**
* Created on 2022/10/9
* 工控机状态信息回调(判断是否能否启动自动驾驶的回调)
* 目前定的是3秒回调一次
*/
public class OCHAdasAbilityManager implements IMoGoAutopilotActionsListener, IMoGoAutopilotStatisticsListener, IMoGoAutopilotStatusListener {
public class OCHAdasAbilityManager implements IMoGoAutopilotActionsListener, IMoGoAutopilotStatisticsListener {
private static final String TAG = OCHAdasAbilityManager.class.getSimpleName();
private boolean isAutopilotAbility;
private String autopilotAbilityReason;
private ArrayList<UnableAutopilotReason> unableAutopilotReasons;
private String startFailedCode = "";
private String startFailedMessage = "";
@@ -46,7 +41,8 @@ public class OCHAdasAbilityManager implements IMoGoAutopilotActionsListener, IMo
}
public void init(Context context) {
ipcConnectStatusChanged();
this.isAutopilotAbility = CallerAutopilotActionsListenerManager.INSTANCE.isAutopilotAbility();
this.unableAutopilotReasons = CallerAutopilotActionsListenerManager.INSTANCE.getUnableAutopilotReasons();
initListeners();
}
@@ -59,7 +55,7 @@ public class OCHAdasAbilityManager implements IMoGoAutopilotActionsListener, IMo
}
public String getAutopilotUnAbilityReason(){
return autopilotAbilityReason;
return unableAutopilotReasons.toString();//TODO 临时toString 需要拼接数据
}
public String getStartFailedCode() {
@@ -74,28 +70,20 @@ public class OCHAdasAbilityManager implements IMoGoAutopilotActionsListener, IMo
//2022.10.9 工控机状态信息回调(判断是否能否启动自动驾驶的回调), 目前定的是3秒回调一次
CallerAutopilotActionsListenerManager.INSTANCE.addListener(TAG, this);
CallerAutopilotStatisticsListenerManager.INSTANCE.addListener(TAG,this);
CallerAutoPilotStatusListenerManager.INSTANCE.addListener(TAG, this);
}
private void releaseListeners() {
CallerAutopilotActionsListenerManager.INSTANCE.removeListener(this);
CallerAutopilotStatisticsListenerManager.INSTANCE.removeListener(this);
CallerAutoPilotStatusListenerManager.INSTANCE.removeListener(this);
}
private void ipcConnectStatusChanged() {
this.isAutopilotAbility = CallerAutoPilotControlManager.INSTANCE.isConnected();
this.autopilotAbilityReason = isAutopilotAbility ? "" : "未连接自动驾驶系统";
}
@Override
public void onAutopilotAbility(boolean isAutopilotAbility, String unableAutopilotReason) {
public void onAutopilotAbility(boolean isAutopilotAbility, @Nullable ArrayList<UnableAutopilotReason> unableAutopilotReasons) {
this.isAutopilotAbility = isAutopilotAbility;
this.autopilotAbilityReason = unableAutopilotReason;
Logger.d(TAG, "是否可以启动自动驾驶=" + isAutopilotAbility + " 原因=" + autopilotAbilityReason);
this.unableAutopilotReasons = unableAutopilotReasons;
Logger.d(TAG, "是否可以启动自动驾驶=" + isAutopilotAbility + " 原因=" + (unableAutopilotReasons == null ? null : unableAutopilotReasons.toString()));
}
@Override
public void onAutopilotStatistics(@Nullable AutopilotStatistics statistics) {
if (statistics == null) return;
@@ -112,41 +100,4 @@ public class OCHAdasAbilityManager implements IMoGoAutopilotActionsListener, IMo
public void release() {
releaseListeners();
}
@Override
public void onAutopilotIpcConnectStatusChanged(int status, @Nullable String reason) {
ipcConnectStatusChanged();
}
@Override
public void onAutopilotStatusResponse(@NonNull AutopilotStatusInfo autoPilotStatusInfo) {
}
@Override
public void onAutopilotStatusResponse(int state) {
}
@Override
public void onAutopilotDockerInfo(@NonNull String dockerVersion) {
}
@Override
public void onAutopilotArriveAtStation(@Nullable MessagePad.ArrivalNotification arrivalNotification) {
}
@Override
public void onAutopilotSNRequest() {
}
@Override
public void onAutopilotGuardian(@Nullable MogoReportMsg.MogoReportMessage guardianInfo) {
}
@Override
public void onAutopilotStatusRespByQuery(@NonNull SystemStatusInfo.StatusInfo status) {
}
@Override
public void onAutopilotRouteLineId(long lineId) {
}
}