diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/routeoverlay/MogoRouteOverlayManager.java b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/routeoverlay/MogoRouteOverlayManager.java index 9f022ffb9e..49b6c17ac4 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/routeoverlay/MogoRouteOverlayManager.java +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/routeoverlay/MogoRouteOverlayManager.java @@ -30,14 +30,10 @@ import system_master.SystemStatusInfo; public class MogoRouteOverlayManager implements IMoGoPlanningTrajectoryListener, - IMoGoAutopilotStatusListener, IMoGoChassisLocationGCJ02Listener { private static volatile MogoRouteOverlayManager sInstance; private static final String TAG = "Route"; - private final AtomicBoolean isArriveAtStation = new AtomicBoolean(false); - private final AtomicInteger autopilotMode = new AtomicInteger(0); - private final LinkedList> queue = new LinkedList<>(); private MogoRouteOverlayManager() { @@ -46,7 +42,6 @@ public class MogoRouteOverlayManager implements public void init() { CallerPlanningTrajectoryListenerManager.INSTANCE.addListener(TAG, this); - CallerAutoPilotStatusListenerManager.INSTANCE.addListener(TAG, this); CallerChassisLocationGCJ02ListenerManager.INSTANCE.addListener(TAG, 20,this); } @@ -75,14 +70,16 @@ public class MogoRouteOverlayManager implements if (gnssInfo == null) { return; } - Log.d(TAG, "-- onChassisLocationGCJ02 -- 1 ---" + ":auto-mode:" + autopilotMode.get() + ", isArriveAtStation: " + isArriveAtStation.get()); - if (isArriveAtStation.get() && autopilotMode.get() != 2) { + int autoPilotState = CallerAutoPilotStatusListenerManager.INSTANCE.getState(); + boolean isArriveAtStation = CallerAutoPilotStatusListenerManager.INSTANCE.isArriveAtStation(); + Log.d(TAG, "-- onChassisLocationGCJ02 -- 1 ---" + ":auto-mode:" + autoPilotState + ", isArriveAtStation: " + isArriveAtStation); + if (isArriveAtStation && autoPilotState != 2) { RouteOverlayDrawer.getInstance().clearMogoRouteOverlay(); return; } - Log.d(TAG, "-- onChassisLocationGCJ02 -- 2 ---" + "auto-mode:" + autopilotMode.get() + ", isDemoMode:" + FunctionBuildConfig.isDemoMode + ", force:" + FunctionBuildConfig.isForceDrawAutopilotTrajectoryByDebugSettingView); + Log.d(TAG, "-- onChassisLocationGCJ02 -- 2 ---" + "auto-mode:" + autoPilotState + ", isDemoMode:" + FunctionBuildConfig.isDemoMode + ", force:" + FunctionBuildConfig.isForceDrawAutopilotTrajectoryByDebugSettingView); boolean force = FunctionBuildConfig.isForceDrawAutopilotTrajectoryByDebugSettingView || FunctionBuildConfig.isDemoMode && FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData; - if (!force && autopilotMode.get() != 2) { + if (!force && autoPilotState != 2) { RouteOverlayDrawer.getInstance().clearMogoRouteOverlay(); return; } @@ -96,66 +93,4 @@ public class MogoRouteOverlayManager implements } } } - - @Override - public void onAutopilotStatusResponse(int state) { - if (state == 2) { - isArriveAtStation.set(false); - } - Log.d(TAG, "-- onAutopilotStatusResponse ---: state:" + state); - this.autopilotMode.set(state); - } - - @Override - public void onAutopilotStatusResponse(@NotNull AutopilotStatusInfo autoPilotStatusInfo) { - } - - @Override - public void onAutopilotArriveAtStation(MessagePad.ArrivalNotification arrivalNotification) { - Log.d(TAG, "-- onAutopilotArriveAtStation --- 1 ---"); - if (arrivalNotification == null) { - return; - } - Log.d(TAG, "-- onAutopilotArriveAtStation --- 2 ---"); - if(!HdMapBuildConfig.isMapLoaded){ - return; - } - Log.d(TAG, "-- onAutopilotArriveAtStation --- 3 ---"); - if (!isArriveAtStation.get()) { - isArriveAtStation.set(true); - } - } - - - @Override - public void onAutopilotSNRequest() { - - } - - @Override - public void onAutopilotGuardian(MogoReportMsg.MogoReportMessage guardianInfo) { - - } - - @Override - public void onAutopilotIpcConnectStatusChanged(int status, @androidx.annotation.Nullable String reason) { - } - - @Override - public void onAutopilotStatusRespByQuery(@NonNull SystemStatusInfo.StatusInfo status) { - } - - @Override - public void onSystemStatus(@NonNull SsmInfo.SsmStatusInf statusInf) { - } - - @Override - public void onAutopilotRouteLineId(long lineId) { - - } - - @Override - public void onAutopilotDockerInfo(@NonNull String dockerVersion) { - } - } diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/autopilot/AutopilotStatusInfo.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/autopilot/AutopilotStatusInfo.kt index 030332407f..afe5bf3a52 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/autopilot/AutopilotStatusInfo.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/autopilot/AutopilotStatusInfo.kt @@ -70,6 +70,12 @@ open class AutopilotStatusInfo : Serializable, Cloneable { @Volatile var autopilotControlParameters: AutopilotControlParameters? = null + /** + * 是否到站 + */ + @Volatile + var isArriveAtStation: Boolean = false + override fun toString(): String { return "connectIP=$connectIP, connectPort=$connectPort, " + "connectStatus=$connectStatus, connectDescribe=$connectStatusDescribe, version=$version, dockVersion=$dockVersion," + diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotStatusListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotStatusListenerManager.kt index 70ef154e84..9f614cc914 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotStatusListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotStatusListenerManager.kt @@ -34,6 +34,7 @@ object CallerAutoPilotStatusListenerManager : CallerBase if (oldValue != newValue) { + fixAtStationState(newValue) M_LISTENERS.forEach { val listener = it.value listener.onAutopilotStatusResponse(newValue) @@ -41,6 +42,19 @@ object CallerAutoPilotStatusListenerManager : CallerBase if (!oldValue.contentEquals(newValue)) { M_LISTENERS.forEach { @@ -105,6 +119,8 @@ object CallerAutoPilotStatusListenerManager : CallerBase