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 1ecd5a65a6..48c5a1cdf5 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 @@ -731,8 +731,6 @@ public class OrderModel { return; } - - firstStartAutopilot++; if(CallerAutoPilotStatusListenerManager.INSTANCE.getState() != IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING){ @@ -746,7 +744,8 @@ public class OrderModel { return; } - OchAutoPilotManager.startAutoPilot(parameters); + long sessionId = OchAutoPilotManager.startAutoPilot(parameters); + triggerUpdateStartAutoPilotSessionId(sessionId); CallerLogger.d(M_BUS + TAG, "行程日志-开启自动驾驶====" + GsonUtil.jsonFromObject(parameters) + " startLatLon=" + parameters.startName + ",endLatLon=" + parameters.endName + @@ -1259,6 +1258,13 @@ public class OrderModel { currentStation.getName(), nextStation.getName(), currentLineId,"",System.currentTimeMillis()); } + public void triggerUpdateStartAutoPilotSessionId(long sessionId) { + if (backgroundCurrentStationIndex >= stationList.size() - 1) { + return; + } + BusAnalyticsManager.INSTANCE.triggerUpdateStartAutoPilotSessionId(sessionId); + } + public void triggerUnableStartAPReasonEvent() { if (backgroundCurrentStationIndex >= stationList.size() - 1) { return; 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 37dd4bfa7e..c6f78fec5e 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 @@ -40,8 +40,8 @@ import com.mogo.och.common.module.callback.OchAdasStartFailureCallback import com.mogo.och.common.module.constant.OchCommonConst import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutoPilotManager -import com.mogo.och.common.module.manager.autopilot.location.OchLocationManager import com.mogo.och.common.module.manager.autopilot.line.LineManager +import com.mogo.och.common.module.manager.autopilot.location.OchLocationManager import com.mogo.och.common.module.manager.device.LightAirconditionDoorManager import com.mogo.och.common.module.manager.device.LightAirconditionDoorStatusManager import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager @@ -488,7 +488,8 @@ class DriverM1Model { d(SceneConstant.M_CHARTER_D + TAG, "行程日志-AutopilotControlParameters is empty.") return } - OchAutoPilotManager.startAutoPilot(parameters) + val sessionId = OchAutoPilotManager.startAutoPilot(parameters) + triggerUpdateStartAutoPilotSessionId(sessionId) d( SceneConstant.M_CHARTER_D + TAG, "行程日志-开启自动驾驶====" + GsonUtil.jsonFromObject(parameters) + " startLatLon=" + parameters.startName + ",endLatLon=" + parameters.endName @@ -536,6 +537,13 @@ class DriverM1Model { } } + fun triggerUpdateStartAutoPilotSessionId(sessionId: Long) { + if (mCurrentOrder == null) { + return + } + CharterAnalyticsManager.getInstance().triggerUpdateStartAutoPilotSessionId(sessionId) + } + private fun triggerUnableStartAPReasonEvent() { if (mCurrentOrder == null) { return 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 eb6fbcd52e..7ebbdf0480 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 @@ -11,10 +11,8 @@ import com.mogo.eagle.core.function.call.autopilot.CallerReceiveReceivedAckListe import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager -import com.mogo.och.data.bean.ContraiInfo import com.mogo.och.common.module.manager.autopilot.line.LineManager import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager -import com.mogo.och.data.bean.BusStationBean import com.zhjt.mogo.adas.common.MessageType import com.zhjt.mogo.adas.data.bean.ReceivedAck import com.zhjt.mogo.adas.data.bean.ReceivedAck.Status @@ -56,7 +54,7 @@ object OchAutoPilotManager : IMoGoReceiveReceivedAckListener { ToastUtils.showLong( OCHAdasAbilityManager.getInstance().autopilotUnAbilityReason + ", 请稍候重试" - ); + ) } return false } @@ -64,17 +62,16 @@ object OchAutoPilotManager : IMoGoReceiveReceivedAckListener { } @JvmStatic - fun startAutoPilot(controlParameters: AutopilotControlParameters?) { - OchAutopilotAnalytics.triggerStartAutopilotParameters(controlParameters) - CallerAutoPilotControlManager.startAutoPilot(controlParameters) + fun startAutoPilot(controlParameters: AutopilotControlParameters?): Long { + val sessionId = CallerAutoPilotControlManager.startAutoPilot(controlParameters) + OchAutopilotAnalytics.triggerStartAutopilotParameters(controlParameters, sessionId) + return sessionId } // 启动自驾底盘反馈信息 override fun onReceiveReceivedAck(receivedAck: ReceivedAck) { - if (receivedAck.messageType==MessageType.TYPE_SEND_SET_AUTOPILOT_MODE_REQ) { - OchAutopilotAnalytics.triggerStartAutopilotParametersAck(receivedAck.toString(),receivedAck.status==Status.NORMAL) + if (receivedAck.messageType == MessageType.TYPE_SEND_SET_AUTOPILOT_MODE_REQ) { + OchAutopilotAnalytics.triggerStartAutopilotParametersAck(receivedAck.toString(),receivedAck.status == Status.NORMAL) } } - - } \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/OchAutopilotAnalytics.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/OchAutopilotAnalytics.kt index e3b94e0c1b..30c4d592c6 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/OchAutopilotAnalytics.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/autopilot/OchAutopilotAnalytics.kt @@ -1,10 +1,10 @@ package com.mogo.och.common.module.manager.autopilot.autopilot +import android.text.TextUtils import com.mogo.commons.debug.DebugConfig import com.mogo.commons.utils.MogoAnalyticUtils import com.mogo.eagle.core.data.app.AppConfigInfo import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters -import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger @@ -33,6 +33,7 @@ abstract class OchAutopilotAnalytics { private const val EVENT_PARAM_START_RESULT = "start_autopilot" // true/false private const val EVENT_PARAM_START_FAILURE_CODE = "start_autopilot_failure_code" // 启动自驾失败code private const val EVENT_PARAM_START_FAILURE_MSG = "start_autopilot_failure_msg" // 启动自驾失败原因 + private const val EVENT_PARAM_START_AUTOPILOT_SESSION_ID = "start_autopilot_cmd_session_id" //启动自驾命令请求的sessionId private const val EVENT_KEY_START_AUTOPILOT_PARAMETERS = "event_key_och_start_autopilot_parameters" private const val EVENT_PARAM_START_AUTOPILOT_PARAMETERS= "start_autopilot_parameters" // 启动自驾参数 @@ -41,18 +42,19 @@ abstract class OchAutopilotAnalytics { private const val EVENT_PARAM_START_AUTOPILOT_ACK= "start_autopilot_parameters_ack" // 启动自驾参数 private const val EVENT_PARAM_START_AUTOPILOT_ACK_SUCCESS= "start_autopilot_parameters_ack_isSuccess" // 启动自驾参数 - private const val EVENT_KEY_INFO_AUTOPILOT_DISTANCE = "event_key_vehicle_start_autopilot_state_distance_15" - fun triggerStartAutopilotParameters(controlParameters: AutopilotControlParameters?){ + fun triggerStartAutopilotParameters(controlParameters: AutopilotControlParameters?, sessionId: Long){ val params = HashMap() params[EVENT_PARAM_ENV_ONLINE] = DebugConfig.getNetMode() == DebugConfig.NET_MODE_RELEASE + params[EVENT_PARAM_START_AUTOPILOT_SESSION_ID] = sessionId params[EVENT_PARAM_START_AUTOPILOT_PARAMETERS] = "${controlParameters.toString()}_${controlParameters?.autoPilotLine}_routeID:${controlParameters?.routeID}_routeName:${controlParameters?.routeName}" params[EVENT_PARAM_AUTOPILOTANALYTICS_GROUP] = EVENT_PARAM_AUTOPILOTANALYTICS_GROUP OchChainLogManager.addCommonParams(params) MogoAnalyticUtils.track(EVENT_KEY_START_AUTOPILOT_PARAMETERS, params) } + fun triggerStartAutopilotParametersAck(data:String,isSuccess:Boolean){ val params = HashMap() params[EVENT_PARAM_ENV_ONLINE] = DebugConfig.getNetMode() == DebugConfig.NET_MODE_RELEASE @@ -62,6 +64,7 @@ abstract class OchAutopilotAnalytics { OchChainLogManager.addCommonParams(params) MogoAnalyticUtils.track(EVENT_KEY_START_AUTOPILOT_ACK, params) } + fun triggerDistance2LineorStation(info: String){ val map = hashMapOf() map[EVENT_PARAM_AUTOPILOTANALYTICS_GROUP] = EVENT_PARAM_AUTOPILOTANALYTICS_GROUP @@ -89,7 +92,7 @@ abstract class OchAutopilotAnalytics { private fun triggerStartAutopilotFailureEvent(failCode: String, failMsg: String, startFailDate: Long) { if (mStartAutopilotParams.isEmpty()) return - CallerLogger.e(SceneConstant.M_BUS + "triggerStartAutopilotFailureEvent", failMsg) + CallerLogger.e(SceneConstant.M_OCHCOMMON + "triggerStartAutopilotFailureEvent", failMsg) if (CallerAutoPilotStatusListenerManager.getState() != IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING) { mStartAutopilotParams[EVENT_PARAM_START_FAILURE_CODE] = failCode mStartAutopilotParams[EVENT_PARAM_START_FAILURE_MSG] = failMsg @@ -149,6 +152,21 @@ abstract class OchAutopilotAnalytics { } } + /** + * 触发更新 启动自驾命令 发送的sessionId + */ + fun triggerUpdateStartAutoPilotSessionId(sessionId: Long) { + if (TextUtils.isEmpty(mStartAutopilotKey)) { + CallerLogger.e(SceneConstant.M_OCHCOMMON + "triggerUpdateStartAutoPilotSessionId but mStartAutopilotKey is null [sessionId = $sessionId] ") + return + } + if (mStartAutopilotParams.isEmpty()) { + CallerLogger.e(SceneConstant.M_OCHCOMMON + "triggerUpdateStartAutoPilotSessionId but mStartAutopilotParams is Empty [sessionId = $sessionId] ") + return + } + mStartAutopilotParams[EVENT_PARAM_START_AUTOPILOT_SESSION_ID] = sessionId + } + /** * 触发"无法开启自驾已知异常"埋点 * @param startName 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 f691983fdf..33b7c7cd16 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,8 @@ public class OrderModel { return; } - OchAutoPilotManager.startAutoPilot(parameters); + long sessionId = OchAutoPilotManager.startAutoPilot(parameters); + triggerUpdateStartAutoPilotSessionId(sessionId); CallerLogger.d(M_BUS + TAG, "行程日志-开启自动驾驶====" + GsonUtil.jsonFromObject(parameters) + " startLatLon=" + parameters.startName + ",endLatLon=" + parameters.endName + @@ -995,6 +996,13 @@ public class OrderModel { currentStation.getName(), nextStation.getName(), busRoutesResult.getLineId(), "", System.currentTimeMillis()); } + public void triggerUpdateStartAutoPilotSessionId(long sessionId) { + if (stationList == null || backgroundCurrentStationIndex >= stationList.size() - 1) { + return; + } + BusAnalyticsManager.getInstance().triggerUpdateStartAutoPilotSessionId(sessionId); + } + public void triggerUnableStartAPReasonEvent() { if (stationList == null || backgroundCurrentStationIndex >= stationList.size() - 1) { return; 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 d085367549..b21bb8a436 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 @@ -655,7 +655,9 @@ public class OrderModel { return; } - OchAutoPilotManager.startAutoPilot(parameters); + long sessionId = OchAutoPilotManager.startAutoPilot(parameters); + // 更新埋点中发送命令的sessionId + triggerUpdateStartAutoPilotSessionId(sessionId); CallerLogger.d(M_BUS + TAG, "行程日志-开启自动驾驶====" + GsonUtil.jsonFromObject(parameters) + " startLatLon=" + parameters.startName + ",endLatLon=" + parameters.endName + @@ -1164,6 +1166,13 @@ public class OrderModel { currentStation.getName(), nextStation.getName(), busRoutesResult.getLineId(),"",System.currentTimeMillis()); } + public void triggerUpdateStartAutoPilotSessionId(long sessionId) { + if (stationList == null || backgroundCurrentStationIndex >= stationList.size() - 1) { + return; + } + BusAnalyticsManager.getInstance().triggerUpdateStartAutoPilotSessionId(sessionId); + } + public void triggerUnableStartAPReasonEvent() { if (stationList == null || backgroundCurrentStationIndex >= stationList.size() - 1) { return; 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 42638821ee..309f392580 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 @@ -422,7 +422,8 @@ object OrderModel { return } - startAutoPilot(parameters) + val sessionId = startAutoPilot(parameters) + triggerUpdateStartAutoPilotSessionId(sessionId) d( SceneConstant.M_BUS + TAG, @@ -733,6 +734,10 @@ object OrderModel { } + fun triggerUpdateStartAutoPilotSessionId(sessionId: Long) { + BusAnalyticsManager.triggerUpdateStartAutoPilotSessionId(sessionId) + } + fun triggerUnableStartAPReasonEvent() { LineManager.startStation?.let {startStation-> LineManager.endStation?.let {endStation-> 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 1eb9ca0874..8ae993254d 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 @@ -965,7 +965,7 @@ public class TaxiModel { return; } - OchAutoPilotManager.startAutoPilot(parameters); + long sessionId = OchAutoPilotManager.startAutoPilot(parameters); CallerLogger.d(M_TAXI + TAG, "start autopilot with parameter: %s", GsonUtil.jsonFromObject(parameters) @@ -977,6 +977,7 @@ public class TaxiModel { mCurrentOCHOrder.startSiteAddr, mCurrentOCHOrder.endSiteAddr, (int) mCurrentOCHOrder.lineId, mCurrentOCHOrder.orderNo,System.currentTimeMillis()); + TaxiAnalyticsManager.INSTANCE.triggerUpdateStartAutoPilotSessionId(sessionId); if (mControllerStatusCallback != null) { mControllerStatusCallback.startOpenAutopilot(); 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 48cd54da14..ffa686e676 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 @@ -111,7 +111,7 @@ object AutopilotManager : IOchAutopilotStatusListener { ) return "自动化驾驶参数异常" } - OchAutoPilotManager.startAutoPilot(parameters); + val sessionId = OchAutoPilotManager.startAutoPilot(parameters) CallerLogger.d( SceneConstant.M_TAXI_P + TAG, "start autopilot with parameter: %s", @@ -128,6 +128,7 @@ object AutopilotManager : IOchAutopilotStatusListener { TaxiPassengerModel.currentOCHOrder!!.orderNo, System.currentTimeMillis() ) + TaxiPassengerAnalyticsManager.triggerUpdateStartAutoPilotSessionId(sessionId) return "" } 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 5a3a3c0546..bc149e3a74 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 @@ -1294,7 +1294,7 @@ object TaxiTaskModel { return } - OchAutoPilotManager.startAutoPilot(parameters); + val sessionId = OchAutoPilotManager.startAutoPilot(parameters); DebugView.printInfoMsg("[启自驾] 调用成功") d( TAG, "start autopilot with parameter: %s", @@ -1312,6 +1312,7 @@ object TaxiTaskModel { if (mCurrentTaskWithOrder!!.order != null) mCurrentTaskWithOrder!!.order!!.orderNo else "", System.currentTimeMillis() ) + TaxiAnalyticsManager.getInstance().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 7e01039091..7c372f53b8 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 @@ -99,7 +99,7 @@ object AutopilotManager : IOchAutopilotStatusListener { ) return "自动化驾驶参数异常" } - OchAutoPilotManager.startAutoPilot(parameters); + val sessionId = OchAutoPilotManager.startAutoPilot(parameters); CallerLogger.d( SceneConstant.M_TAXI_P + TAG, "start autopilot with parameter: %s", @@ -117,6 +117,7 @@ object AutopilotManager : IOchAutopilotStatusListener { TaxiPassengerModel.currentOCHOrder!!.orderNo, System.currentTimeMillis() ) + TaxiPassengerAnalyticsManager.triggerUpdateStartAutoPilotSessionId(sessionId) needSpeakByStartAutopilot = true return "" }