From 0df219c58a1e118be0e0d7b2b54faf042c719fd3 Mon Sep 17 00:00:00 2001 From: renwj Date: Thu, 21 Sep 2023 16:57:38 +0800 Subject: [PATCH] =?UTF-8?q?[6.1.0][=E8=BD=A6=E5=89=8D=E5=BC=95=E5=AF=BC?= =?UTF-8?q?=E7=BA=BF]=20=E4=BC=98=E5=8C=96=E5=9B=A0=E8=87=AA=E9=A9=BE?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E6=9C=AA=E5=90=8C=E6=AD=A5=EF=BC=8C=E5=AF=BC?= =?UTF-8?q?=E8=87=B4=E5=BC=95=E5=AF=BC=E7=BA=BF=E6=9C=AA=E7=BB=98=E5=88=B6?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../routeoverlay/MogoRouteOverlayManager.java | 77 ++----------------- .../data/autopilot/AutopilotStatusInfo.kt | 6 ++ .../CallerAutoPilotStatusListenerManager.kt | 17 ++++ 3 files changed, 29 insertions(+), 71 deletions(-) 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