diff --git a/OCH/bus/driver/src/main/java/com/mogo/och/bus/model/OrderModel.java b/OCH/bus/driver/src/main/java/com/mogo/och/bus/model/OrderModel.java index 1f67b914a7..fadfc6080d 100644 --- a/OCH/bus/driver/src/main/java/com/mogo/och/bus/model/OrderModel.java +++ b/OCH/bus/driver/src/main/java/com/mogo/och/bus/model/OrderModel.java @@ -743,7 +743,7 @@ public class OrderModel { if(CallerAutoPilotStatusListenerManager.INSTANCE.getState() != IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING){ // 预写日志 - triggerStartServiceEvent(isRestart, false); + triggerStartServiceEvent(isRestart, false,0); } AutopilotControlParameters parameters = initAutopilotControlParameters(leaveIndex); @@ -1266,14 +1266,14 @@ public class OrderModel { LoginStatusManager.loginOut(); } - public void triggerStartServiceEvent(boolean isRestart, boolean send) { + public void triggerStartServiceEvent(boolean isRestart, boolean send,int source) { if (backgroundCurrentStationIndex >= stationList.size() - 1) { return; } BusStationBean currentStation = stationList.get(backgroundCurrentStationIndex); BusStationBean nextStation = stationList.get(backgroundCurrentStationIndex + 1); OchAutopilotAnalytics.INSTANCE.triggerStartAutopilotEvent(isRestart, send, - currentStation.getName(), nextStation.getName(), currentLineId,"",System.currentTimeMillis()); + currentStation.getName(), nextStation.getName(), currentLineId,"",System.currentTimeMillis(),source); } public void triggerUpdateStartAutoPilotSessionId(long sessionId) { diff --git a/OCH/bus/driver/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java b/OCH/bus/driver/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java index 7296f87782..9ea86ef602 100644 --- a/OCH/bus/driver/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java +++ b/OCH/bus/driver/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java @@ -212,7 +212,7 @@ public class BusPresenter extends Presenter break; case IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING: OrderModel.getInstance().triggerStartServiceEvent( - OrderModel.getInstance().isRestartAutopilot(), true); + OrderModel.getInstance().isRestartAutopilot(), true,0); // 改变UI自动驾驶状态 UiThreadHandler.post(new Runnable() { @Override @@ -236,6 +236,14 @@ public class BusPresenter extends Presenter } } + @Override + public void onAutopilotStatusResponseFromCan(int state) { + if (state == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING) { + OrderModel.getInstance().triggerStartServiceEvent( + OrderModel.getInstance().isRestartAutopilot(), true,1); + } + } + @Override public void startOpenAutopilot() { //非美化模式下启动动画 diff --git a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/model/DriverM1Model.kt b/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/model/DriverM1Model.kt index 6134f59ec4..1d2890b276 100644 --- a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/model/DriverM1Model.kt +++ b/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/model/DriverM1Model.kt @@ -488,7 +488,7 @@ class DriverM1Model { return; } - triggerStartServiceEvent(false, false) + triggerStartServiceEvent(false, false,0) val parameters = initAutopilotControlParameters() if (null == parameters) { @@ -526,7 +526,7 @@ class DriverM1Model { LoginStatusManager.loginOut() } - fun triggerStartServiceEvent(isRestart: Boolean, send: Boolean) { + fun triggerStartServiceEvent(isRestart: Boolean, send: Boolean,source:Int) { if (mCurrentOrder == null) { return } @@ -538,7 +538,8 @@ class DriverM1Model { OchAutopilotAnalytics.triggerStartAutopilotEvent( isRestart, send, - startSiteName, endSiteName, it, orderNo?:"", System.currentTimeMillis() + startSiteName, endSiteName, it, orderNo?:"", System.currentTimeMillis(), + source ) } } diff --git a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/presenter/DriverM1Presenter.kt b/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/presenter/DriverM1Presenter.kt index 6c8142f9f2..452ef9cde3 100644 --- a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/presenter/DriverM1Presenter.kt +++ b/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/presenter/DriverM1Presenter.kt @@ -139,7 +139,7 @@ class DriverM1Presenter(view: DriverM1Fragment?) : // // } IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING ->{ - DriverM1Model.get().triggerStartServiceEvent(false,true) + DriverM1Model.get().triggerStartServiceEvent(false,true,0) } // IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE ->{ // @@ -150,6 +150,15 @@ class DriverM1Presenter(view: DriverM1Fragment?) : } } + override fun onAutopilotStatusResponseFromCan(state: Int) { + super.onAutopilotStatusResponseFromCan(state) + when(state) { + IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING -> { + DriverM1Model.get().triggerStartServiceEvent(false, true,1) + } + } + } + override fun onStartAutopilotFailure( actionStatus: StopSideStatus, stopSideStatus: Boolean?, diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/IOchAutopilotStatusListener.java b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/IOchAutopilotStatusListener.java index ce3332b6d2..719120e389 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/IOchAutopilotStatusListener.java +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/IOchAutopilotStatusListener.java @@ -89,4 +89,11 @@ public interface IOchAutopilotStatusListener { default void canStartAutopilot(boolean canStart) { } + /** + * 自动驾驶状态信息 数据源来自底盘 不管是否存在FSM 都将进行底盘自驾状态的转发 + * + * @param state 状态信息 + */ + default void onAutopilotStatusResponseFromCan(int state) {} + } diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/OchAutoPilotManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/OchAutoPilotManager.kt index f9f5f49f04..115cb12eab 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/OchAutoPilotManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/OchAutoPilotManager.kt @@ -54,11 +54,17 @@ object OchAutoPilotManager : IMoGoReceiveReceivedAckListener, IMoGoFsm2024Listen fun canStartAutopilotBySessionId():Boolean{ return (globalSessionId.get()==-1L).apply { if(!this) { - OchAutopilotAnalytics.triggerDistance2LineorStation(globalSessionId.get()) + ToastUtils.showLong("自驾启动中,请勿重复点击") + OchAutopilotAnalytics.triggerCanStartAutopilotBySessionId(globalSessionId.get()) } } } + @JvmStatic + fun canStartAutopilotBySessionIdInner():Boolean{ + return (globalSessionId.get()==-1L) + } + @JvmStatic fun canStartAutoPilotSSM(): Boolean { if (!FunctionBuildConfig.isDemoMode && !OCHAdasAbilityManager.getInstance().autopilotAbilityStatus) { diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/OchAutoPilotStatusListenerManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/OchAutoPilotStatusListenerManager.kt index 866f97a78a..a66f117e19 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/OchAutoPilotStatusListenerManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/OchAutoPilotStatusListenerManager.kt @@ -180,6 +180,9 @@ object OchAutoPilotStatusListenerManager : CallerBase() map[EVENT_PARAM_AUTOPILOTANALYTICS_GROUP] = EVENT_PARAM_AUTOPILOTANALYTICS_GROUP - OchChainLogManager.writeChainLog("启动自驾Sessiong判断","已有globalSessionId:${globalSessionId}", eventID = EVENT_KEY_INFO_AUTOPILOT_SESSION, patch = map) + OchChainLogManager.writeChainLog("启动自驾Sessiong判断","已有globalSessionId:${globalSessionId}", eventID = EVENT_KEY_INFO_AUTOPILOT_SESSION_WAITSTATE, patch = map) } /** - * 等待底盘返回的间隙 重复启动自驾 + * 启动失败后 对比两个session是否相同 */ fun triggerStartAutopilotFailCheckSeesiongDiff(globalSessionId: Long, fsmBackSessionId: Long){ val map = hashMapOf() map[EVENT_PARAM_AUTOPILOTANALYTICS_GROUP] = EVENT_PARAM_AUTOPILOTANALYTICS_GROUP + map[EVENT_KEY_INFO_AUTOPILOT_SESSION_Inner] = globalSessionId + map[EVENT_KEY_INFO_AUTOPILOT_SESSION_FSMBACK] = fsmBackSessionId OchChainLogManager.writeChainLog("启动自驾失败且SessionId不同","globalSessionId:${globalSessionId}——————fsmBackSessionId:${fsmBackSessionId}", eventID = EVENT_KEY_INFO_AUTOPILOT_SESSION, patch = map) } - private val timeOutRunnable = Runnable { + private val timeOutRunnable = Runnable { // 15s内未开启,上报失败埋点 triggerStartAutopilotFailureEvent("", "15s后app等待超时", System.currentTimeMillis()) } @@ -122,10 +129,13 @@ object OchAutopilotAnalytics { private fun clearStartAutopilotParams() { mStartAutopilotParams.clear() - OchAutoPilotManager.clearGlobalSessionId() } private fun triggerStartAutopilotFailureEvent(failCode: String, failMsg: String, startFailDate: Long) { + if(OchAutoPilotManager.canStartAutopilotBySessionIdInner()){ + return + } + OchAutoPilotManager.clearGlobalSessionId() if (mStartAutopilotParams.isEmpty()) return CallerLogger.e(SceneConstant.M_OCHCOMMON + "triggerStartAutopilotFailureEvent", failMsg) if (CallerAutoPilotStatusListenerManager.getState() != IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING) { @@ -156,16 +166,22 @@ object OchAutopilotAnalytics { endName: String, lineId: Int, orderId:String?, - triggerDate: Long + triggerDate: Long, + source:Int = 0 ) { mStartAutopilotKey = if (restart) getEventKeyRestartService() else getEventKeyStartService() if (send) { + if(OchAutoPilotManager.canStartAutopilotBySessionIdInner()){ + return + } + OchAutoPilotManager.clearGlobalSessionId() if (mStartAutopilotParams.isEmpty()) return BizLoopManager.removeCallback(timeOutRunnable) // 开启成功,上报埋点 mStartAutopilotParams[EVENT_PARAM_START_FAILURE_CODE] = "" mStartAutopilotParams[EVENT_PARAM_START_FAILURE_MSG] = "" mStartAutopilotParams[EVENT_PARAM_START_RESULT] = true + mStartAutopilotParams[EVENT_PARAM_START_RESULT_SOURCE] = source // 自动驾驶状态变更时间 mStartAutopilotParams[EVENT_PARAM_START_SUCCESS_TIME] = DateTimeUtils.getTimeText(triggerDate,DateTimeUtils.yyyy_MM_dd_HH_mm_ss_SSS) mStartAutopilotParams[EVENT_PARAM_AUTOPILOTANALYTICS_GROUP] = EVENT_PARAM_AUTOPILOTANALYTICS_GROUP diff --git a/OCH/offline/driver/src/main/java/com/mogo/och/offline/model/OrderModel.java b/OCH/offline/driver/src/main/java/com/mogo/och/offline/model/OrderModel.java index 29662ad747..ba43b6a1ea 100644 --- a/OCH/offline/driver/src/main/java/com/mogo/och/offline/model/OrderModel.java +++ b/OCH/offline/driver/src/main/java/com/mogo/och/offline/model/OrderModel.java @@ -561,7 +561,7 @@ public class OrderModel { firstStartAutopilot++; - triggerStartServiceEvent(isRestart, false); + triggerStartServiceEvent(isRestart, false,0); AutopilotControlParameters parameters = initAutopilotControlParameters(leaveIndex); if (null == parameters) { @@ -994,14 +994,14 @@ public class OrderModel { LoginStatusManager.loginOut(); } - public void triggerStartServiceEvent(boolean isRestart, boolean send) { + public void triggerStartServiceEvent(boolean isRestart, boolean send,int source) { if (stationList == null || backgroundCurrentStationIndex >= stationList.size() - 1) { return; } BusStationBean currentStation = stationList.get(backgroundCurrentStationIndex); BusStationBean nextStation = stationList.get(backgroundCurrentStationIndex + 1); OchAutopilotAnalytics.INSTANCE.triggerStartAutopilotEvent(isRestart, send, - currentStation.getName(), nextStation.getName(), busRoutesResult.getLineId(), "", System.currentTimeMillis()); + currentStation.getName(), nextStation.getName(), busRoutesResult.getLineId(), "", System.currentTimeMillis(),source); } public void triggerUpdateStartAutoPilotSessionId(long sessionId) { diff --git a/OCH/offline/driver/src/main/java/com/mogo/och/offline/presenter/BusPresenter.java b/OCH/offline/driver/src/main/java/com/mogo/och/offline/presenter/BusPresenter.java index 38c1800c46..fcd6644a24 100644 --- a/OCH/offline/driver/src/main/java/com/mogo/och/offline/presenter/BusPresenter.java +++ b/OCH/offline/driver/src/main/java/com/mogo/och/offline/presenter/BusPresenter.java @@ -208,7 +208,7 @@ public class BusPresenter extends Presenter break; case IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING: OrderModel.getInstance().triggerStartServiceEvent( - OrderModel.getInstance().isRestartAutopilot(), true); + OrderModel.getInstance().isRestartAutopilot(), true,0); // 改变UI自动驾驶状态 UiThreadHandler.post(new Runnable() { @Override @@ -232,6 +232,14 @@ public class BusPresenter extends Presenter } } + @Override + public void onAutopilotStatusResponseFromCan(int state) { + if (state == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING) { + OrderModel.getInstance().triggerStartServiceEvent( + OrderModel.getInstance().isRestartAutopilot(), true,1); + } + } + @Override public void onCarLocationChanged(MogoLocation location) { // if (null != location) { diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/model/OrderModel.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/model/OrderModel.java index 4ca9d7e39b..aef3634d09 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/model/OrderModel.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/model/OrderModel.java @@ -653,7 +653,7 @@ public class OrderModel { firstStartAutopilot++; - triggerStartServiceEvent(isRestart, false); + triggerStartServiceEvent(isRestart, false,0); AutopilotControlParameters parameters = initAutopilotControlParameters(leaveIndex); if (null == parameters) { @@ -1147,14 +1147,14 @@ public class OrderModel { LoginStatusManager.loginOut(); } - public void triggerStartServiceEvent(boolean isRestart, boolean send) { + public void triggerStartServiceEvent(boolean isRestart, boolean send,int source) { if (stationList == null || backgroundCurrentStationIndex >= stationList.size() - 1) { return; } BusStationBean currentStation = stationList.get(backgroundCurrentStationIndex); BusStationBean nextStation = stationList.get(backgroundCurrentStationIndex + 1); OchAutopilotAnalytics.INSTANCE.triggerStartAutopilotEvent(isRestart, send, - currentStation.getName(), nextStation.getName(), busRoutesResult.getLineId(),"",System.currentTimeMillis()); + currentStation.getName(), nextStation.getName(), busRoutesResult.getLineId(),"",System.currentTimeMillis(),source); } public void triggerUpdateStartAutoPilotSessionId(long sessionId) { diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/presenter/BusPresenter.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/presenter/BusPresenter.java index bcec8f18ac..76a5128c8b 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/presenter/BusPresenter.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/shuttle/presenter/BusPresenter.java @@ -207,7 +207,7 @@ public class BusPresenter extends Presenter break; case IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING: OrderModel.getInstance().triggerStartServiceEvent( - OrderModel.getInstance().isRestartAutopilot(), true); + OrderModel.getInstance().isRestartAutopilot(), true,0); // 改变UI自动驾驶状态 UiThreadHandler.post(new Runnable() { @Override @@ -231,6 +231,14 @@ public class BusPresenter extends Presenter } } + @Override + public void onAutopilotStatusResponseFromCan(int state) { + if (state == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING) { + OrderModel.getInstance().triggerStartServiceEvent( + OrderModel.getInstance().isRestartAutopilot(), true,1); + } + } + @Override public void onCarLocationChanged(MogoLocation location) { // if (null != location) { diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/OrderModel.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/OrderModel.kt index 78cc149c30..ad59c6ddd2 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/OrderModel.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/OrderModel.kt @@ -423,7 +423,7 @@ object OrderModel { firstStartAutopilot++ - triggerStartServiceEvent(isRestart, false) + triggerStartServiceEvent(isRestart, false,0) val parameters = initAutopilotControlParameters() if (null == parameters) { @@ -703,7 +703,7 @@ object OrderModel { } @JvmStatic - fun triggerStartServiceEvent(isRestart: Boolean, send: Boolean) { + fun triggerStartServiceEvent(isRestart: Boolean, send: Boolean,source:Int) { LineManager.startStation?.let {startStation-> LineManager.endStation?.let {endStation-> OchAutopilotAnalytics.triggerStartAutopilotEvent( @@ -713,7 +713,8 @@ object OrderModel { endStation.name, LineManager.lineInfos!!.lineId.toInt(), "", - System.currentTimeMillis() + System.currentTimeMillis(), + source ) } } diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/presenter/BusPresenter.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/presenter/BusPresenter.kt index 9a5966b99c..5859665413 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/presenter/BusPresenter.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/presenter/BusPresenter.kt @@ -155,7 +155,7 @@ class BusPresenter(view: ShuttleFragment?) : Presenter(view), } IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING -> { - OrderModel.triggerStartServiceEvent(OrderModel.isRestartAutopilot, true) + OrderModel.triggerStartServiceEvent(OrderModel.isRestartAutopilot, true,0) // 改变UI自动驾驶状态 UiThreadHandler.post({ if (mView != null) { @@ -172,6 +172,14 @@ class BusPresenter(view: ShuttleFragment?) : Presenter(view), } } + override fun onAutopilotStatusResponseFromCan(state: Int) { + when (state) { + IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING -> { + OrderModel.triggerStartServiceEvent(OrderModel.isRestartAutopilot, true,1) + } + } + } + override fun startOpenAutopilot() { //非美化模式下启动动画 UiThreadHandler.post({ 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 1d0c77b4c1..57351e135a 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 @@ -983,7 +983,7 @@ public class TaxiModel { OchAutopilotAnalytics.INSTANCE.triggerStartAutopilotEvent(isRestartAutopilot, false, mCurrentOCHOrder.startSiteAddr, mCurrentOCHOrder.endSiteAddr, (int) mCurrentOCHOrder.lineId, - mCurrentOCHOrder.orderNo,System.currentTimeMillis()); + mCurrentOCHOrder.orderNo,System.currentTimeMillis(),0); OchAutopilotAnalytics.INSTANCE.triggerUpdateStartAutoPilotSessionId(sessionId); if (mControllerStatusCallback != null) { @@ -1208,6 +1208,15 @@ public class TaxiModel { TaxiTrajectoryManager.getInstance().onAutopilotGuardian(guardianInfo,lineId); } + @Override + public void onAutopilotStatusResponseFromCan(int state) { + if (state == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING) { + OchAutopilotAnalytics.INSTANCE.triggerStartAutopilotEvent(isRestartAutopilot, true, + mCurrentOCHOrder.startSiteAddr, mCurrentOCHOrder.endSiteAddr, + (int) mCurrentOCHOrder.lineId, mCurrentOCHOrder.orderNo,System.currentTimeMillis(),1); + } + } + @Override public void onAutopilotStatusResponse(int state) { if (state == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING) { @@ -1218,7 +1227,7 @@ public class TaxiModel { && TaxiOrderStatusEnum.OnTheWayToEnd.getCode() == mCurrentOCHOrder.orderStatus) { OchAutopilotAnalytics.INSTANCE.triggerStartAutopilotEvent(isRestartAutopilot, true, mCurrentOCHOrder.startSiteAddr, mCurrentOCHOrder.endSiteAddr, - (int) mCurrentOCHOrder.lineId, mCurrentOCHOrder.orderNo,System.currentTimeMillis()); + (int) mCurrentOCHOrder.lineId, mCurrentOCHOrder.orderNo,System.currentTimeMillis(),0); if (FunctionBuildConfig.isDemoMode) { // 当美化模式(演示模式)开启时: 订单对应自动驾驶开启后,置true FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData = true; diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/model/AutopilotManager.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/model/AutopilotManager.kt index 386a8af704..63d4d50ac6 100644 --- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/model/AutopilotManager.kt +++ b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/model/AutopilotManager.kt @@ -133,7 +133,7 @@ object AutopilotManager : IOchAutopilotStatusListener { TaxiPassengerModel.currentOCHOrder!!.endSiteAddr, TaxiPassengerModel.currentOCHOrder!!.lineId.toInt(), TaxiPassengerModel.currentOCHOrder!!.orderNo, - System.currentTimeMillis() + System.currentTimeMillis(),0 ) OchAutopilotAnalytics.triggerUpdateStartAutoPilotSessionId(sessionId) return "" @@ -220,7 +220,7 @@ object AutopilotManager : IOchAutopilotStatusListener { TaxiPassengerModel.currentOCHOrder!!.endSiteAddr, TaxiPassengerModel.currentOCHOrder!!.lineId.toInt(), TaxiPassengerModel.currentOCHOrder!!.orderNo, - System.currentTimeMillis() + System.currentTimeMillis(),0 ) //startServicePilotDone() } @@ -229,6 +229,26 @@ object AutopilotManager : IOchAutopilotStatusListener { } } + override fun onAutopilotStatusResponseFromCan(state: Int) { + super.onAutopilotStatusResponseFromCan(state) + when (state) { + IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING -> { + if (TaxiPassengerModel.currentOCHOrder != null && TaxiPassengerModel.curOrderStatus === TaxiOrderStatusEnum.UserArriveAtStart) { + OchAutopilotAnalytics.triggerStartAutopilotEvent( + false, + true, + TaxiPassengerModel.currentOCHOrder!!.startSiteAddr, + TaxiPassengerModel.currentOCHOrder!!.endSiteAddr, + TaxiPassengerModel.currentOCHOrder!!.lineId.toInt(), + TaxiPassengerModel.currentOCHOrder!!.orderNo, + System.currentTimeMillis(),1 + ) + //startServicePilotDone() + } + } + } + } + /** * 乘客屏启动自动驾驶成功 */ diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiTaskModel.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiTaskModel.kt index 6d32705416..c66d29a8b4 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiTaskModel.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiTaskModel.kt @@ -300,6 +300,23 @@ object TaxiTaskModel { TaxiTrajectoryManager.getInstance().onAutopilotGuardian(guardianInfo,lineId) } + override fun onAutopilotStatusResponseFromCan(state: Int) { + super.onAutopilotStatusResponseFromCan(state) + if (state == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING) { + if ((QueryCurrentTaskRespBean.isTaskStartTaskType(mCurrentTaskWithOrder))) { + OchAutopilotAnalytics.triggerStartAutopilotEvent( + isRestartAutopilot, + true, + mCurrentTaskWithOrder!!.order!!.orderStartSite!!.siteName, + mCurrentTaskWithOrder!!.order!!.orderEndSite!!.siteName, + mCurrentTaskWithOrder!!.lineId.toInt(), + mCurrentTaskWithOrder!!.order!!.orderNo, + System.currentTimeMillis(),1 + ) + } + } + } + override fun onAutopilotStatusResponse(state: Int) { i(TAG, "onAutopilotStatusResponse autopilotsState= $state") if (state == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING) { @@ -313,7 +330,7 @@ object TaxiTaskModel { mCurrentTaskWithOrder!!.order!!.orderEndSite!!.siteName, mCurrentTaskWithOrder!!.lineId.toInt(), mCurrentTaskWithOrder!!.order!!.orderNo, - System.currentTimeMillis() + System.currentTimeMillis(),0 ) setBeautificationMode(true) } @@ -1342,7 +1359,7 @@ object TaxiTaskModel { mCurrentTaskWithOrder!!.endSite!!.siteName, mCurrentTaskWithOrder!!.lineId.toInt(), if (mCurrentTaskWithOrder!!.order != null) mCurrentTaskWithOrder!!.order!!.orderNo else "", - System.currentTimeMillis() + System.currentTimeMillis(),0 ) OchAutopilotAnalytics.triggerUpdateStartAutoPilotSessionId(sessionId) mControllerStatusCallback?.startOpenAutopilot() diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/model/AutopilotManager.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/model/AutopilotManager.kt index b8fdbe43ec..b057c3d6c2 100644 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/model/AutopilotManager.kt +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/model/AutopilotManager.kt @@ -123,7 +123,8 @@ object AutopilotManager : IOchAutopilotStatusListener { TaxiPassengerModel.currentOCHOrder!!.orderEndSite.siteName, lineId.toInt(), TaxiPassengerModel.currentOCHOrder!!.orderNo, - System.currentTimeMillis() + System.currentTimeMillis(), + 0 ) OchAutopilotAnalytics.triggerUpdateStartAutoPilotSessionId(sessionId) needSpeakByStartAutopilot = true @@ -203,6 +204,26 @@ object AutopilotManager : IOchAutopilotStatusListener { CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters(null) } + override fun onAutopilotStatusResponseFromCan(state: Int) { + super.onAutopilotStatusResponseFromCan(state) + when (state) { + IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING -> { + if (TaxiPassengerModel.currentOCHOrder != null && TaxiPassengerModel.curOrderStatus === TaxiOrderStatusEnum.UserArriveAtStart) { + OchAutopilotAnalytics.triggerStartAutopilotEvent( + false, + true, + TaxiPassengerModel.currentOCHOrder!!.orderStartSite.siteName, + TaxiPassengerModel.currentOCHOrder!!.orderEndSite.siteName, + TaxiPassengerModel.currentOCHOrder!!.orderNo.toInt(), + TaxiPassengerModel.currentLineId.toString(), + System.currentTimeMillis(), + 1 + ) + } + } + } + } + override fun onAutopilotStatusResponse(state: Int) { // 启动自驾成功 when (state) { @@ -215,7 +236,8 @@ object AutopilotManager : IOchAutopilotStatusListener { TaxiPassengerModel.currentOCHOrder!!.orderEndSite.siteName, TaxiPassengerModel.currentOCHOrder!!.orderNo.toInt(), TaxiPassengerModel.currentLineId.toString(), - System.currentTimeMillis() + System.currentTimeMillis(), + 0 ) if(needSpeakByStartAutopilot) { VoiceNotice.showNotice("坐稳扶好,我们出发咯!", AIAssist.LEVEL2)