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 058019a8a9..5cfb30cd24 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 @@ -53,6 +53,7 @@ import com.mogo.och.bus.util.BusTrajectoryManager; import com.mogo.och.common.module.biz.constant.OchCommonConst; import com.mogo.och.common.module.biz.network.OchCommonServiceCallback; import com.mogo.och.common.module.biz.provider.LoginService; +import com.mogo.och.common.module.callback.OchAdasStartFailureCallback; import com.mogo.och.common.module.manager.OCHAdasAbilityManager; import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil; import com.mogo.och.common.module.utils.DateTimeUtil; @@ -159,6 +160,9 @@ public class BusOrderModel { //自动驾驶路线规划接口 CallerAutopilotPlanningListenerManager.INSTANCE.addListener(TAG, moGoAutopilotPlanningListener); + + //开启自驾后 异常信息返回 + OCHAdasAbilityManager.getInstance().setAdasStartFailureCallback(mAdasStartFailureListener); } //2022.1.28 @@ -296,6 +300,8 @@ public class BusOrderModel { //自动驾驶路线规划接口 CallerAutopilotPlanningListenerManager.INSTANCE.removeListener(moGoAutopilotPlanningListener); loginService = null; + + OCHAdasAbilityManager.getInstance().setAdasStartFailureCallback(null); } private Object readResolve() { @@ -315,6 +321,13 @@ public class BusOrderModel { } }; + private final OchAdasStartFailureCallback mAdasStartFailureListener = new OchAdasStartFailureCallback() { + @Override + public void onStartAutopilotFailure(@NonNull String startFailedMessage) { + BusAnalyticsManager.getInstance().triggerStartAutopilotFailureEvent(startFailedMessage); + } + }; + // 自车定位 private final IMogoCarLocationChangedListener2 mCarLocationChangedListener2 = new IMogoCarLocationChangedListener2() { diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/util/BusAnalyticsManager.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/util/BusAnalyticsManager.java index 175d9e61d9..3a9db07933 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/util/BusAnalyticsManager.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/util/BusAnalyticsManager.java @@ -30,20 +30,22 @@ public class BusAnalyticsManager { return BusAnalyticsManager.SingletonHolder.INSTANCE; } - - private String mStartAutopilotKey; private HashMap mStartAutopilotParams = new HashMap<>(); private Runnable startAutopilotRunnable = () -> { // 15s内未开启,上报失败埋点 + triggerStartAutopilotFailureEvent("15s后app等待超时"); + }; + + public void triggerStartAutopilotFailureEvent(String failMsg){ mStartAutopilotParams.put(BusConst.EVENT_PARAM_START_RESULT , CallerAutoPilotStatusListenerManager.INSTANCE.getAutoPilotStatusInfo().getState() == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING); mStartAutopilotParams.put(BusConst.EVENT_PARAM_START_FAILURE_MSG, - OCHAdasAbilityManager.getInstance().getStartFailedMessage()); + failMsg); AnalyticsManager.INSTANCE.track(mStartAutopilotKey, mStartAutopilotParams); - }; + } /** * 触发'开启自动驾驶'埋点流程 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 new file mode 100644 index 0000000000..b66f82d19a --- /dev/null +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/callback/OchAdasStartFailureCallback.kt @@ -0,0 +1,9 @@ +package com.mogo.och.common.module.callback + +/** + * @author: wangmingjun + * @date: 2022/11/9 + */ +interface OchAdasStartFailureCallback { + fun onStartAutopilotFailure(startFailedMessage : String) +} \ No newline at end of file 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 54b2dfaa8c..9ef69dc1ad 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 @@ -10,6 +10,7 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatisticsListen 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.zhidao.support.adas.high.bean.AutopilotAbility; import com.zhidao.support.adas.high.bean.AutopilotStatistics; @@ -29,6 +30,8 @@ public class OCHAdasAbilityManager implements IMoGoAutopilotActionsListener, IMo private String autopilotAbilityReason = ""; private String startFailedMessage = ""; + private OchAdasStartFailureCallback failureCallback = null; + private static final class SingletonHolder { private static final OCHAdasAbilityManager INSTANCE = new OCHAdasAbilityManager(); } @@ -41,6 +44,10 @@ public class OCHAdasAbilityManager implements IMoGoAutopilotActionsListener, IMo initListeners(); } + public void setAdasStartFailureCallback(OchAdasStartFailureCallback callback){ + failureCallback = callback; + } + public boolean getAutopilotAbilityStatus(){ return isAutopilotAbility; } @@ -101,8 +108,12 @@ public class OCHAdasAbilityManager implements IMoGoAutopilotActionsListener, IMo @Override public void onAutopilotStatistics(@Nullable AutopilotStatistics statistics) { - if (1 == statistics.status || 3 == statistics.status){ //失败、超时 + if (statistics == null || statistics.failedMessage == null) return; + Logger.d(TAG, "failedMessage= " + statistics.failedMessage.getMsg()); + if (failureCallback != null && 1 == statistics.status){ startFailedMessage = statistics.failedMessage.getMsg(); + failureCallback.onStartAutopilotFailure(startFailedMessage); + Logger.d(TAG, "startFailedMessage= " + startFailedMessage); } } 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 eff7f1e255..0927b9b0d6 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 @@ -38,6 +38,7 @@ import com.mogo.och.common.module.biz.constant.LoginStatusManager; import com.mogo.och.common.module.biz.constant.OchCommonConst; import com.mogo.och.common.module.biz.network.OchCommonServiceCallback; import com.mogo.och.common.module.biz.provider.LoginService; +import com.mogo.och.common.module.callback.OchAdasStartFailureCallback; import com.mogo.och.common.module.manager.OCHAdasAbilityManager; import com.mogo.och.common.module.map.AmapNaviToDestinationModel; import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil; @@ -232,6 +233,9 @@ public class TaxiModel { //2021.11.1 自动驾驶路线规划接口 CallerAutopilotPlanningListenerManager.INSTANCE.addListener(TAG, moGoAutopilotPlanningListener); + + //开启自驾后 异常信息返回 + OCHAdasAbilityManager.getInstance().setAdasStartFailureCallback(mAdasStartFailureListener); } private void releaseListeners() { @@ -251,6 +255,7 @@ public class TaxiModel { CallerAutoPilotStatusListenerManager.INSTANCE.removeListener(mGoAutopilotStatusListener); CallerAutopilotPlanningListenerManager.INSTANCE.removeListener(moGoAutopilotPlanningListener); + OCHAdasAbilityManager.getInstance().setAdasStartFailureCallback(null); } public void startOrStopOrderLoop(boolean start) { @@ -1008,6 +1013,13 @@ public class TaxiModel { } }; + private final OchAdasStartFailureCallback mAdasStartFailureListener = new OchAdasStartFailureCallback() { + @Override + public void onStartAutopilotFailure(@NonNull String startFailedMessage) { + TaxiAnalyticsManager.getInstance().triggerStartAutopilotFailureEvent(startFailedMessage); + } + }; + private final IMogoStatusChangedListener mMogoStatusChangedListener = new IMogoStatusChangedListener() { // VR mode变更回调 @Override diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/utils/TaxiAnalyticsManager.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/utils/TaxiAnalyticsManager.java index fe12078c44..e1fbcb954b 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/utils/TaxiAnalyticsManager.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/utils/TaxiAnalyticsManager.java @@ -35,11 +35,15 @@ public class TaxiAnalyticsManager { private Runnable startAutopilotRunnable = () -> { // 15s内未开启,上报失败埋点 + triggerStartAutopilotFailureEvent("15s后app等待超时"); + }; + + public void triggerStartAutopilotFailureEvent(String failMsg){ mStartAutopilotParams.put(TaxiConst.EVENT_PARAM_START_RESULT, false); mStartAutopilotParams.put(TaxiConst.EVENT_PARAM_START_FAILURE_MSG, - OCHAdasAbilityManager.getInstance().getStartFailedMessage()); + failMsg); AnalyticsManager.INSTANCE.track(mStartAutopilotKey, mStartAutopilotParams); - }; + } /** * 触发'开启自动驾驶'埋点流程