From a9333e012396d5dae0f8f7ad0f466777e2247a23 Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Wed, 9 Nov 2022 21:32:03 +0800 Subject: [PATCH] =?UTF-8?q?[2.12.0]=20taxi/bus=E8=87=AA=E5=8A=A8=E9=A9=BE?= =?UTF-8?q?=E9=A9=B6=E5=90=AF=E5=8A=A8=E5=A4=B1=E8=B4=A5=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../och/bus/callback/IBusADASStatusCallback.java | 11 +++++++++++ .../mogo/och/bus/fragment/BaseBusTabFragment.java | 8 ++++++-- .../java/com/mogo/och/bus/model/BusOrderModel.java | 10 ++++++++++ .../com/mogo/och/bus/presenter/BusPresenter.java | 10 +++++++++- .../module/manager/OCHAdasAbilityManager.java | 6 +++--- .../och/taxi/callback/ITaxiADASStatusCallback.java | 3 +++ .../java/com/mogo/och/taxi/model/TaxiModel.java | 4 ++++ .../com/mogo/och/taxi/presenter/TaxiPresenter.java | 5 +++++ .../com/mogo/och/taxi/ui/BaseTaxiTabFragment.java | 14 +++++--------- 9 files changed, 56 insertions(+), 15 deletions(-) create mode 100644 OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/callback/IBusADASStatusCallback.java diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/callback/IBusADASStatusCallback.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/callback/IBusADASStatusCallback.java new file mode 100644 index 0000000000..186fc0b5f4 --- /dev/null +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/callback/IBusADASStatusCallback.java @@ -0,0 +1,11 @@ +package com.mogo.och.bus.callback; + +/** + * Created on 2021/9/8 + * + * Model->Presenter回调:ADAS相关(自动驾驶状态回调,到达终点等等) + */ +public interface IBusADASStatusCallback { + //自驾返回失败 + void onStartAdasFailure(); +} diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java index e9f730bdb4..a780ffb698 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java @@ -385,14 +385,18 @@ public abstract class BaseBusTabFragment return; } if (isAnimateRunning){ - stopAutopilotAnimation(); - updateAutopilotStatus(autopilotStatus); + stopAnimAndUpdateBtnStatus(); }else { setAutopilotBtnStatus(autopilotStatus); } } + public void stopAnimAndUpdateBtnStatus(){ + stopAutopilotAnimation(); + updateAutopilotStatus(CallerAutoPilotStatusListenerManager.INSTANCE.getAutoPilotStatusInfo().getState()); + } + /** * 隐藏【自动驾驶】按钮 */ diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java index 5cfb30cd24..1212ebb74a 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java @@ -40,6 +40,7 @@ import com.mogo.och.bus.bean.BusRoutesResponse; import com.mogo.och.bus.bean.BusRoutesResult; import com.mogo.och.bus.bean.BusStationBean; import com.mogo.och.bus.bean.WriteOffPassenger; +import com.mogo.och.bus.callback.IBusADASStatusCallback; import com.mogo.och.bus.callback.IBusControllerStatusCallback; import com.mogo.och.bus.callback.IPassengerCallback; import com.mogo.och.bus.callback.IRefreshBusStationsCallback; @@ -105,6 +106,7 @@ public class BusOrderModel { private ISlidePannelHideCallback slidePanelHideCallback; private IBusControllerStatusCallback mControllerStatusCallback; //Model->Presenter:VR mode等 private IPassengerCallback mPassengerCallback; //乘客核销回调 + private IBusADASStatusCallback mADASStatusCallback; List points = new ArrayList<>();//全路径信息 @@ -203,6 +205,10 @@ public class BusOrderModel { }); } + public void setAdasStatusCallback(IBusADASStatusCallback callback){ + this.mADASStatusCallback = callback; + } + public void setRefreshBusStationsCallback(IRefreshBusStationsCallback callback){ this.refreshBusStationsCallback = callback; } @@ -325,6 +331,10 @@ public class BusOrderModel { @Override public void onStartAutopilotFailure(@NonNull String startFailedMessage) { BusAnalyticsManager.getInstance().triggerStartAutopilotFailureEvent(startFailedMessage); + if (mADASStatusCallback != null){ + CallerLogger.INSTANCE.e( M_BUS + TAG, "mAdasStartFailureListener = "+startFailedMessage ); + mADASStatusCallback.onStartAdasFailure(); + } } }; diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java index 0ed6ee5692..c4d1be3b85 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java @@ -21,6 +21,7 @@ import com.mogo.eagle.core.utilcode.util.UiThreadHandler; import com.mogo.och.bus.R; import com.mogo.och.bus.bean.BusStationBean; import com.mogo.och.bus.bean.WriteOffPassenger; +import com.mogo.och.bus.callback.IBusADASStatusCallback; import com.mogo.och.bus.callback.IBusControllerStatusCallback; import com.mogo.och.bus.callback.IPassengerCallback; import com.mogo.och.bus.callback.IRefreshBusStationsCallback; @@ -51,7 +52,7 @@ import system_master.SystemStatusInfo; */ public class BusPresenter extends Presenter implements IRefreshBusStationsCallback, ISlidePannelHideCallback - , IMoGoAutopilotStatusListener, IBusControllerStatusCallback, ILoginCallback, IPassengerCallback { + , IMoGoAutopilotStatusListener, IBusControllerStatusCallback, ILoginCallback, IPassengerCallback, IBusADASStatusCallback { private static final String TAG = "BusPresenter"; @@ -86,6 +87,7 @@ public class BusPresenter extends Presenter BusOrderModel.getInstance().setSlidePanelHideCallback(this); BusOrderModel.getInstance().setControllerStatusCallback(this); BusOrderModel.getInstance().setPassengerCallback(this); + BusOrderModel.getInstance().setAdasStatusCallback(this); } public void releaseListener() { @@ -93,6 +95,7 @@ public class BusPresenter extends Presenter BusOrderModel.getInstance().setSlidePanelHideCallback(null); BusOrderModel.getInstance().setControllerStatusCallback(null); BusOrderModel.getInstance().setPassengerCallback(null); + BusOrderModel.getInstance().setAdasStatusCallback(null); OCHAdasAbilityManager.getInstance().release(); } @@ -311,4 +314,9 @@ public class BusPresenter extends Presenter VoiceNotice.showNotice("核验通过", AIAssist.LEVEL3); } } + + @Override + public void onStartAdasFailure() { + runOnUIThread(() -> mView.stopAnimAndUpdateBtnStatus()); + } } diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/OCHAdasAbilityManager.java b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/OCHAdasAbilityManager.java index 9ef69dc1ad..33d7fead37 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/OCHAdasAbilityManager.java +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/OCHAdasAbilityManager.java @@ -108,12 +108,12 @@ public class OCHAdasAbilityManager implements IMoGoAutopilotActionsListener, IMo @Override public void onAutopilotStatistics(@Nullable AutopilotStatistics statistics) { - if (statistics == null || statistics.failedMessage == null) return; - Logger.d(TAG, "failedMessage= " + statistics.failedMessage.getMsg()); + if (statistics == null) return; + Logger.d(TAG, "AutopilotStatistics= " + statistics.status); if (failureCallback != null && 1 == statistics.status){ startFailedMessage = statistics.failedMessage.getMsg(); failureCallback.onStartAutopilotFailure(startFailedMessage); - Logger.d(TAG, "startFailedMessage= " + startFailedMessage); + Logger.d(TAG, "statistics-startFailedMessage= " + startFailedMessage); } } diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/callback/ITaxiADASStatusCallback.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/callback/ITaxiADASStatusCallback.java index 7d89fd4718..278829580f 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/callback/ITaxiADASStatusCallback.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/callback/ITaxiADASStatusCallback.java @@ -20,4 +20,7 @@ public interface ITaxiADASStatusCallback { //人机共驾 void onManMachineCoDriving(); + + //自驾返回失败 + void onStartAdasFailure(); } diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java index 0927b9b0d6..764bff6369 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java @@ -1017,6 +1017,10 @@ public class TaxiModel { @Override public void onStartAutopilotFailure(@NonNull String startFailedMessage) { TaxiAnalyticsManager.getInstance().triggerStartAutopilotFailureEvent(startFailedMessage); + if (mADASStatusCallback != null){ + CallerLogger.INSTANCE.e(M_TAXI + TAG, "mAdasStartFailureListener = "+startFailedMessage); + mADASStatusCallback.onStartAdasFailure(); + } } }; diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java index f28f7bbb59..94dcdc28d2 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java @@ -226,6 +226,11 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS preAutopilotStatus = IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING; } + @Override + public void onStartAdasFailure() { + runOnUIThread(() -> mView.stopAnimAndUpdateBtnStatus()); + } + @Override public void onServiceDataUpdate(long dailyTimeDuration, long dailyOrderNum) { runOnUIThread(() -> mView.onServiceDataUpdate(dailyTimeDuration,dailyOrderNum)); diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java index 0d204d7ac5..8dc6ad1bab 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java @@ -354,19 +354,15 @@ public abstract class BaseTaxiTabFragment1 -// AIAssist.getInstance(getContext()).speakTTSVoice("已进入人工驾驶模式"); - } else if (IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE == status) { - // 2->0 -// AIAssist.getInstance(getContext()).speakTTSVoice("自动驾驶已停止,请人工接管"); - } - } mPrevAPStatus = status; }); } + public void stopAnimAndUpdateBtnStatus(){ + startOrStopLoadingAnim(false); + startAutopilotDone(false); + } + public void onManMachineCoDriving(int manMachineCoDriving){ if (mPrevAPStatus != manMachineCoDriving){ autopilotStatusAnimchanged(manMachineCoDriving);