From 6895b542bab2563a38ca524699c1b435bad6017e Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Tue, 19 Sep 2023 19:35:36 +0800 Subject: [PATCH] =?UTF-8?q?[6.1.0]=20=E5=85=BC=E5=AE=B9map=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E5=88=B9=E8=BD=A6=E5=9B=9E=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/och/bus/model/OrderModel.java | 5 +++ .../mogo/och/charter/model/DriverM1Model.kt | 3 ++ .../callback/OchAdasStartFailureCallback.kt | 3 ++ .../OCHAdasAbilityManager.java | 36 ++++++++++++++++++- .../com/mogo/och/bus/model/OrderModel.java | 5 +++ .../och/sweeper/model/SweeperTaskModel.java | 5 +++ .../com/mogo/och/taxi/model/TaxiModel.java | 5 +++ .../passenger/model/TaxiPassengerModel.kt | 3 ++ .../mogo/och/taxi/ui/task/TaxiTaskModel.kt | 30 +++------------- .../passenger/model/TaxiPassengerModel.kt | 3 ++ 10 files changed, 72 insertions(+), 26 deletions(-) diff --git a/OCH/bus/driver/src/jinlvvan/java/com/mogo/och/bus/model/OrderModel.java b/OCH/bus/driver/src/jinlvvan/java/com/mogo/och/bus/model/OrderModel.java index 4e98870e57..0c12f4cad9 100644 --- a/OCH/bus/driver/src/jinlvvan/java/com/mogo/och/bus/model/OrderModel.java +++ b/OCH/bus/driver/src/jinlvvan/java/com/mogo/och/bus/model/OrderModel.java @@ -379,6 +379,11 @@ public class OrderModel { }; private final OchAdasStartFailureCallback mAdasStartFailureListener = new OchAdasStartFailureCallback() { + @Override + public void brakeStatusChanged(boolean isBrakeAvailable) { + + } + @Override public void onStartAutopilotFailure(@NotNull String startFailedCode, @NonNull String startFailedMessage) { BusAnalyticsManager.INSTANCE.triggerStartAutopilotFailureEventByAdas(startFailedCode, startFailedMessage); diff --git a/OCH/charter/driver/src/driverm1/java/com/magic/mogo/och/charter/model/DriverM1Model.kt b/OCH/charter/driver/src/driverm1/java/com/magic/mogo/och/charter/model/DriverM1Model.kt index b3c2d0d73a..1d801a261c 100644 --- a/OCH/charter/driver/src/driverm1/java/com/magic/mogo/och/charter/model/DriverM1Model.kt +++ b/OCH/charter/driver/src/driverm1/java/com/magic/mogo/och/charter/model/DriverM1Model.kt @@ -333,6 +333,9 @@ class DriverM1Model { mControllerStatusCallback?.onStartAdasFailure() } } + + override fun brakeStatusChanged(isBrakeAvailable: Boolean) { + } } //监听网络变化,避免启动机器时无网导致无法更新订单信息 diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/callback/OchAdasStartFailureCallback.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/callback/OchAdasStartFailureCallback.kt index e723b6248d..aa81a4e6e5 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/callback/OchAdasStartFailureCallback.kt +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/callback/OchAdasStartFailureCallback.kt @@ -6,4 +6,7 @@ package com.mogo.och.common.module.callback */ interface OchAdasStartFailureCallback { fun onStartAutopilotFailure(startFailedCode : String, startFailedMessage : String) + + fun brakeStatusChanged(isBrakeAvailable: Boolean) + } \ No newline at end of file diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/autopilotmanager/OCHAdasAbilityManager.java b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/autopilotmanager/OCHAdasAbilityManager.java index 799c399ca5..93f2d426bf 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/autopilotmanager/OCHAdasAbilityManager.java +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/autopilotmanager/OCHAdasAbilityManager.java @@ -6,9 +6,13 @@ import androidx.annotation.Nullable; 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.IMoGoParallelDrivingActionsListener; +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.function.call.autopilot.CallerParallelDrivingActionsListenerManager; import com.mogo.eagle.core.utilcode.mogo.logger.Logger; +import com.mogo.eagle.core.utilcode.util.ParseVersionUtils; import com.mogo.och.common.module.callback.OchAdasStartFailureCallback; import com.zhjt.mogo.adas.data.bean.AutopilotStatistics; import com.zhjt.mogo.adas.data.bean.UnableLaunchReason; @@ -20,7 +24,7 @@ import java.util.ArrayList; * 工控机状态信息回调(判断是否能否启动自动驾驶的回调) * 目前定的是3秒回调一次 */ -public class OCHAdasAbilityManager implements IMoGoAutopilotActionsListener, IMoGoAutopilotStatisticsListener { +public class OCHAdasAbilityManager implements IMoGoAutopilotActionsListener, IMoGoAutopilotStatisticsListener, IMoGoParallelDrivingActionsListener { private static final String TAG = OCHAdasAbilityManager.class.getSimpleName(); @@ -85,11 +89,14 @@ public class OCHAdasAbilityManager implements IMoGoAutopilotActionsListener, IMo //2022.10.9 工控机状态信息回调(判断是否能否启动自动驾驶的回调), 目前定的是3秒回调一次 CallerAutopilotActionsListenerManager.INSTANCE.addListener(TAG, this); CallerAutopilotStatisticsListenerManager.INSTANCE.addListener(TAG,this); + //map3.6.0且是东风或者红旗的时候返回 + CallerParallelDrivingActionsListenerManager.INSTANCE.addListener(TAG,this); } private void releaseListeners() { CallerAutopilotActionsListenerManager.INSTANCE.removeListener(this); CallerAutopilotStatisticsListenerManager.INSTANCE.removeListener(this); + CallerParallelDrivingActionsListenerManager.INSTANCE.removeListener(TAG); } @Override @@ -97,6 +104,16 @@ public class OCHAdasAbilityManager implements IMoGoAutopilotActionsListener, IMo this.isAutopilotAbility = isAutopilotAbility; this.unableAutopilotReasons = unableAutopilotReasons; Logger.d(TAG, "是否可以启动自动驾驶=" + isAutopilotAbility + " 原因=" + (unableAutopilotReasons == null ? null : unableAutopilotReasons.toString())); + if (unableAutopilotReasons != null && getMapVersion() < 30600) { + //刹车变化回调 + Logger.d(TAG,"onAutopilotAbility = " + isAutopilotAbility + + " onAutopilotAbility =" + unableAutopilotReasons.toString()); + if (unableAutopilotReasons.toString().contains(UnableLaunchReason.SourceType.CHASSIS.name()) + && unableAutopilotReasons.toString().contains(UnableLaunchReason.UnableType.BRAKE.name())) { + failureCallback.brakeStatusChanged(isAutopilotAbility); + } + + } } @Override @@ -112,6 +129,23 @@ public class OCHAdasAbilityManager implements IMoGoAutopilotActionsListener, IMo } } + @Override + public void onParallelDrivingAbility(boolean isParallelDrivingAbility, @Nullable ArrayList unableParallelDrivingReasons) { + if (unableParallelDrivingReasons != null && getMapVersion() >= 30600) { + //刹车变化回调 + Logger.d(TAG,"onParallelDrivingAbility = " + isParallelDrivingAbility + + " unableParallelDrivingReasons =" + unableParallelDrivingReasons.toString()); + if (unableParallelDrivingReasons.toString().contains(UnableLaunchReason.SourceType.CHASSIS.name()) + && unableParallelDrivingReasons.toString().contains(UnableLaunchReason.UnableType.BRAKE.name())) { + failureCallback.brakeStatusChanged(isParallelDrivingAbility); + } + + } + } + + private int getMapVersion(){ + return ParseVersionUtils.parseVersion(true, CallerAutoPilotStatusListenerManager.INSTANCE.getDockerVersion()); + } public void release() { releaseListeners(); } diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/model/OrderModel.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/model/OrderModel.java index 59562c4738..cdf4cd28d6 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/model/OrderModel.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/model/OrderModel.java @@ -382,6 +382,11 @@ public class OrderModel { }; private final OchAdasStartFailureCallback mAdasStartFailureListener = new OchAdasStartFailureCallback() { + @Override + public void brakeStatusChanged(boolean isBrakeAvailable) { + + } + @Override public void onStartAutopilotFailure(@NotNull String startFailedCode, @NonNull String startFailedMessage) { BusAnalyticsManager.getInstance().triggerStartAutopilotFailureEventByAdas(startFailedCode, startFailedMessage); diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/model/SweeperTaskModel.java b/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/model/SweeperTaskModel.java index 08006c5490..5e99dd5719 100644 --- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/model/SweeperTaskModel.java +++ b/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/model/SweeperTaskModel.java @@ -287,6 +287,11 @@ public class SweeperTaskModel { }; private final OchAdasStartFailureCallback mAdasStartFailureListener = new OchAdasStartFailureCallback() { + @Override + public void brakeStatusChanged(boolean isBrakeAvailable) { + + } + @Override public void onStartAutopilotFailure(@NotNull String startFailedCode, @NonNull String startFailedMessage) { SweeperAnalyticsManager.getInstance().triggerStartAutopilotFailureEventByAdas(startFailedCode, startFailedMessage); diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/model/TaxiModel.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/model/TaxiModel.java index 82b061e978..78c305d95f 100644 --- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/model/TaxiModel.java +++ b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/model/TaxiModel.java @@ -1064,6 +1064,11 @@ public class TaxiModel { }; private final OchAdasStartFailureCallback mAdasStartFailureListener = new OchAdasStartFailureCallback() { + @Override + public void brakeStatusChanged(boolean isBrakeAvailable) { + + } + @Override public void onStartAutopilotFailure(@NotNull String startFailedCode, @NonNull String startFailedMessage) { TaxiAnalyticsManager.INSTANCE.triggerStartAutopilotFailureEventByAdas(startFailedCode, startFailedMessage); diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.kt index 0527f0798c..0a0cb370fa 100644 --- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.kt +++ b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.kt @@ -235,7 +235,10 @@ object TaxiPassengerModel { override fun onStartAutopilotFailure(startFailedCode: String, startFailedMessage: String) { TaxiPassengerAnalyticsManager.triggerStartAutopilotFailureEventByAdas(startFailedCode, startFailedMessage) } + + override fun brakeStatusChanged(isBrakeAvailable: Boolean) { } + } private val iMsgBoxEventListener: IMsgBoxEventListener = object : IMsgBoxEventListener { override fun onSummaryClickEvent() { if (currentOCHOrder == null) { diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt index 267cd84f5f..c56d65498d 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt @@ -20,14 +20,12 @@ import com.mogo.eagle.core.data.deva.chain.ChainConstant import com.mogo.eagle.core.data.map.MogoLocation import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener -import com.mogo.eagle.core.function.api.autopilot.IMoGoParallelDrivingActionsListener import com.mogo.eagle.core.function.api.autopilot.IMoGoPlanningRottingListener 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.CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02 -import com.mogo.eagle.core.function.call.autopilot.CallerParallelDrivingActionsListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerPlanningRottingListenerManager import com.mogo.eagle.core.network.utils.GsonUtil import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d @@ -78,7 +76,6 @@ import com.mogo.och.taxi.ui.debug.DebugView import com.mogo.och.taxi.utils.RxJavaUtils import com.mogo.och.taxi.utils.TaxiAnalyticsManager import com.mogo.och.taxi.utils.TaxiTrajectoryManager -import com.zhjt.mogo.adas.data.bean.UnableLaunchReason import com.zhjt.service.chain.ChainLog import io.reactivex.Observable import io.reactivex.android.schedulers.AndroidSchedulers @@ -230,8 +227,6 @@ object TaxiTaskModel { AbnormalFactorsLoopManager.startLoopAbnormalFactors(mContext) TrajectoryAndDistanceManager.addDistanceListener(TAG, localCalculateDistanceListener) TrajectoryAndDistanceManager.addTrajectoryListener(TAG, localCalculateTrajectoryListener) - //3.6.0后平行驾驶.刹车 且只用于东风和红旗. 3.6.0前没有 - CallerParallelDrivingActionsListenerManager.addListener(TAG,mParallelDrivingActionsListener) } private fun releaseListeners() { @@ -248,28 +243,8 @@ object TaxiTaskModel { CallerPlanningRottingListenerManager.removeListener(mMogoAutopilotPlanningListener) OCHAdasAbilityManager.getInstance().setAdasStartFailureCallback(null) AbnormalFactorsLoopManager.stopLoopAbnormalFactors() - CallerParallelDrivingActionsListenerManager.removeListener(TAG) } - // 监听平行驾驶、刹车, 试用于MAP3.6.0以上 且只用于东风和红旗 - private val mParallelDrivingActionsListener: IMoGoParallelDrivingActionsListener = - object : IMoGoParallelDrivingActionsListener { - override fun onParallelDrivingAbility( - isParallelDrivingAbility: Boolean, - unableParallelDrivingReasons: ArrayList? - ) { - if (unableParallelDrivingReasons != null) { - if (unableParallelDrivingReasons.toString().contains(UnableLaunchReason.SourceType.CHASSIS.name) - && unableParallelDrivingReasons.toString().contains(UnableLaunchReason.UnableType.BRAKE.name)) { - //刹车变化回调 - d(TAG,"onParallelDrivingAbility = $isParallelDrivingAbility," + - " unableParallelDrivingReasons = ${unableParallelDrivingReasons.toString()}" ) - handleBrakeStatusChange(isParallelDrivingAbility) - } - } - } - } - /** * brakeStatus: true: 恢复启动自驾 * false: 暂停启动自驾 @@ -465,6 +440,11 @@ object TaxiTaskModel { mADASStatusCallback?.onStartAdasFailure() } } + + override fun brakeStatusChanged(isBrakeAvailable: Boolean) { + //刹车: true 松开, false 踩下 + handleBrakeStatusChange(isBrakeAvailable) + } } private val mMogoOnSocketMessageListener = diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.kt index 06be2ebae5..4ee5711666 100644 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.kt +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.kt @@ -346,6 +346,9 @@ object TaxiPassengerModel { startFailedMessage ) } + + override fun brakeStatusChanged(isBrakeAvailable: Boolean) { + } } private val iMsgBoxEventListener: IMsgBoxEventListener = object : IMsgBoxEventListener {