diff --git a/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/CharterAnalyticsManager.java b/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/CharterAnalyticsManager.java new file mode 100644 index 0000000000..79cc939b0c --- /dev/null +++ b/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/CharterAnalyticsManager.java @@ -0,0 +1,146 @@ +package com.magic.mogo.och.charter; + +import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_BUS; + +import android.text.TextUtils; + +import com.magic.mogo.och.charter.constant.CharterConst; +import com.mogo.cloud.passport.MoGoAiCloudClientConfig; +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.function.api.autopilot.IMoGoAutopilotStatusListener; +import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager; +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; +import com.mogo.eagle.core.utilcode.util.DateTimeUtils; +import com.mogo.eagle.core.utilcode.util.UiThreadHandler; + +import java.util.HashMap; + +/** + * @author: wangmingjun + * @date: 2023/3/1 + */ +public class CharterAnalyticsManager { + + private static final class SingletonHolder { + private static final CharterAnalyticsManager INSTANCE = new CharterAnalyticsManager(); + } + + public static CharterAnalyticsManager getInstance() { + return CharterAnalyticsManager.SingletonHolder.INSTANCE; + } + + private String mStartAutopilotKey; + private HashMap mStartAutopilotParams = new HashMap<>(); + + private Runnable startAutopilotRunnable = () -> { + // 15s内未开启,上报失败埋点 + triggerStartAutopilotFailureEvent("", "15s后app等待超时"); + }; + + public void triggerStartAutopilotFailureEventByAdas(String failCode, String failMsg){ + removeWaitingCallback(); + triggerStartAutopilotFailureEvent(failCode, failMsg); + } + + private void triggerStartAutopilotFailureEvent(String failCode, String failMsg){ + if (mStartAutopilotParams.isEmpty()) return; + + CallerLogger.INSTANCE.e( M_BUS + "triggerStartAutopilotFailureEvent", failMsg ); + + if (CallerAutoPilotStatusListenerManager.INSTANCE.getAutoPilotStatusInfo().getState() != + IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING){ + mStartAutopilotParams.put(CharterConst.EVENT_PARAM_START_FAILURE_CODE, failCode); + mStartAutopilotParams.put(CharterConst.EVENT_PARAM_START_FAILURE_MSG, failMsg); + } + mStartAutopilotParams.put(CharterConst.EVENT_PARAM_START_RESULT + , CallerAutoPilotStatusListenerManager.INSTANCE.getAutoPilotStatusInfo().getState() == + IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING); + + MogoAnalyticUtils.INSTANCE.track(mStartAutopilotKey, mStartAutopilotParams); + + clearStartAutopilotParams();//清空参数数据,防止误传 + } + + private void removeWaitingCallback() { + if (startAutopilotRunnable != null && + UiThreadHandler.getsUiHandler().hasCallbacks(startAutopilotRunnable)) { + UiThreadHandler.removeCallbacks(startAutopilotRunnable); + } + } + + public void clearStartAutopilotFailureMSG(){ + mStartAutopilotParams.put(CharterConst.EVENT_PARAM_START_FAILURE_CODE, ""); + mStartAutopilotParams.put(CharterConst.EVENT_PARAM_START_FAILURE_MSG, ""); + } + + private void clearStartAutopilotParams(){ + mStartAutopilotParams.clear(); + } + + /** + * 触发'开启自动驾驶'埋点流程 + * 开启自动驾驶,15s内成功则发送成功埋点,否则发送失败埋点 + * @param restart false(点击'滑动出发'启动)/true(接管后点击'自动驾驶'按钮启动) + * @param send 是否直接发送埋点(15s内开启成功则直接发送成功埋点) + */ + public void triggerStartAutopilotEvent( + boolean restart, boolean send, String startName, String endName, int lineId) { + mStartAutopilotKey = restart ? + CharterConst.EVENT_KEY_RESTART_AUTOPILOT : CharterConst.EVENT_KEY_START_SERVICE; + String sn = MoGoAiCloudClientConfig.getInstance().getSn(); + String plateNum = AppConfigInfo.INSTANCE.getPlateNumber(); + String dateTime = DateTimeUtils.getTimeText( + System.currentTimeMillis(), DateTimeUtils.yyyy_MM_dd_HH_mm_ss); + + mStartAutopilotParams.put(CharterConst.EVENT_PARAM_SN, sn); + mStartAutopilotParams.put(CharterConst.EVENT_PARAM_PLATE_NUM, TextUtils.isEmpty(plateNum) ? "" : plateNum); + mStartAutopilotParams.put(CharterConst.EVENT_PARAM_ENV_ONLINE, + DebugConfig.getNetMode() == DebugConfig.NET_MODE_RELEASE ? true : false); + mStartAutopilotParams.put(CharterConst.EVENT_PARAM_TIME, dateTime); + mStartAutopilotParams.put(CharterConst.EVENT_PARAM_START_NAME, startName); + mStartAutopilotParams.put(CharterConst.EVENT_PARAM_END_NAME, endName); + mStartAutopilotParams.put(CharterConst.EVENT_PARAM_LINE_ID, lineId); + + if (send) { + if (mStartAutopilotParams.isEmpty()) return; + // 开启成功,上报埋点 + clearStartAutopilotFailureMSG(); + removeWaitingCallback(); + mStartAutopilotParams.put(CharterConst.EVENT_PARAM_START_RESULT, true); + MogoAnalyticUtils.INSTANCE.track(mStartAutopilotKey, mStartAutopilotParams); + + clearStartAutopilotParams();//清空参数数据,防止误传 + } else { + UiThreadHandler.postDelayed(startAutopilotRunnable, CharterConst.LOOP_PERIOD_15S); + } + } + + /** + * 触发"无法开启自驾已知异常"埋点 + * @param startName + * @param endName + * @param lineId + */ + public void triggerUnableStartAPReasonEvent(String startName, String endName, int lineId, + String reason) { + String sn = MoGoAiCloudClientConfig.getInstance().getSn(); + String plateNum = AppConfigInfo.INSTANCE.getPlateNumber(); + String dateTime = DateTimeUtils.getTimeText( + System.currentTimeMillis(), DateTimeUtils.yyyy_MM_dd_HH_mm_ss); + + HashMap params = new HashMap<>(); + + params.put(CharterConst.EVENT_PARAM_SN, sn); + params.put(CharterConst.EVENT_PARAM_PLATE_NUM, TextUtils.isEmpty(plateNum) ? "" : plateNum); + params.put(CharterConst.EVENT_PARAM_ENV_ONLINE, + DebugConfig.getNetMode() == DebugConfig.NET_MODE_RELEASE ? true : false); + params.put(CharterConst.EVENT_PARAM_TIME, dateTime); + params.put(CharterConst.EVENT_PARAM_START_NAME, startName); + params.put(CharterConst.EVENT_PARAM_END_NAME, endName); + params.put(CharterConst.EVENT_PARAM_LINE_ID, lineId); + params.put(CharterConst.EVENT_PARAM_UNABLE_START_REASON, reason); + MogoAnalyticUtils.INSTANCE.track(CharterConst.EVENT_KEY_AP_UNABLE_START_REASON, params); + } +} diff --git a/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/bean/QueryCurrentOrderResponse.kt b/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/bean/QueryCurrentOrderResponse.kt index 92955a1bef..7a31d03450 100644 --- a/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/bean/QueryCurrentOrderResponse.kt +++ b/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/bean/QueryCurrentOrderResponse.kt @@ -22,6 +22,22 @@ data class QueryCurrentOrderResponse(var data: Result):BaseData(){ //线路id , var startTime: Long, var endTime: Long, var passengerPhone: String - ) + ){ + override fun equals(o: Any?): Boolean { + if (this === o) return true + if (o == null || javaClass != o.javaClass) return false + val result = o as Result + return orderNo == result.orderNo + && sn == result.sn + && lineId == result.lineId + && startSiteId == result.startSiteId + && startSiteName == result.startSiteName + && siteId == result.siteId + && siteName == result.siteName + && wgs84Lon == result.wgs84Lon + && wgs84Lon == result.wgs84Lon + && passengerPhone == result.passengerPhone + } + } } diff --git a/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/fragment/DriverM1Fragment.kt b/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/fragment/DriverM1Fragment.kt index e19618b23b..b4181f2fc7 100644 --- a/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/fragment/DriverM1Fragment.kt +++ b/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/fragment/DriverM1Fragment.kt @@ -154,8 +154,8 @@ class DriverM1Fragment : CharterBaseFragment aLong + 1 } .subscribeOn(Schedulers.io()) @@ -65,7 +64,7 @@ object DriverM1LooperManager { fun stopCountDownLoop() { if (mQueryCountDownDisposable != null) { - CallerLogger.i(SceneConstant.M_BUS_P + TAG, "stopCountDownLoop()") + CallerLogger.i(SceneConstant.M_CHARTER_D + TAG, "stopCountDownLoop()") mQueryCountDownDisposable!!.dispose() mQueryCountDownDisposable = null } diff --git a/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/model/DriverM1Model.kt b/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/model/DriverM1Model.kt index c455028ca4..acc44fc703 100644 --- a/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/model/DriverM1Model.kt +++ b/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/model/DriverM1Model.kt @@ -2,11 +2,11 @@ package com.magic.mogo.och.charter.model import android.content.Context import android.net.ConnectivityManager -import android.os.Handler import com.alibaba.android.arouter.launcher.ARouter import com.alibaba.android.arouter.utils.TextUtils import com.amap.api.maps.model.LatLng import com.elegant.network.utils.GsonUtil +import com.magic.mogo.och.charter.CharterAnalyticsManager import com.magic.mogo.och.charter.R import com.magic.mogo.och.charter.bean.CheckOrderCountDownResponse import com.magic.mogo.och.charter.bean.QueryBusinessStatusResponse @@ -18,12 +18,10 @@ import com.magic.mogo.och.charter.callback.IDriverM1ControllerStatusCallback import com.magic.mogo.och.charter.constant.CharterConst import com.magic.mogo.och.charter.net.DriverM1ServiceManager import com.mogo.aicloud.services.socket.IMogoOnMessageListener -import com.mogo.commons.AbsMogoApplication import com.mogo.commons.module.intent.IMogoIntentListener import com.mogo.commons.module.intent.IntentManager import com.mogo.eagle.core.data.BaseData import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters -import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.map.MogoLocation import com.mogo.eagle.core.data.telematic.TelematicConstant import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener @@ -60,8 +58,6 @@ import java.io.IOException */ class DriverM1Model { - private var backgroundCurrentStationIndex = 0 //A->B 此处值是A站点索引 - var mLongitude = 0.0 var mLatitude = 0.0 private var mContext: Context? = null @@ -69,11 +65,7 @@ class DriverM1Model { private var isArrivedStation: Boolean = false // 运营类型 - private val MSG_QUERY_BUS_STATION: Int = 1001 - private val QUERY_BUS_STATION_DELAY: Long = 5000 - - // 运营类型 - private val VEHICLE_TYPE = 10 + private val VEHICLE_TYPE : Int = 10 private var mControllerStatusCallback //Model->Presenter:VR mode等 : IDriverM1ControllerStatusCallback? = null @@ -86,7 +78,7 @@ class DriverM1Model { private var currentChangeDestMsg: ChangeDestMsg? = null - private var mCurrentResult: QueryRoutesResponse.Result? = null + private var mCurrentRoute: QueryRoutesResponse.Result? = null //0: 代表没有启动过 1代表是启动第一次,当>=1 代表是重试 每次到站/路线结束清空置为0 @@ -104,16 +96,8 @@ class DriverM1Model { } } - private val handler = Handler(Handler.Callback { msg -> - if (msg.what == MSG_QUERY_BUS_STATION) { - return@Callback true - } - false - }) - - - fun init() { - mContext = AbsMogoApplication.getApp() + fun init(context: Context) { + mContext = context // 定位监听 CallerChassisLocationGCJ02ListenerManager.addListener(TAG, mMapLocationListener) CallerChassisLocationGCJ02ListenerManager.setListenerHz(TAG,2) @@ -295,6 +279,7 @@ class DriverM1Model { pushOperationalToMsgBox(obj.pushTimeStamp, obj.message ,OCHSocketMessageManager.OPERATION_ORDER_TYPE) sendMsgToClient(DPOrderClosedMsg()) + queryCurrentServiceStatus() } override fun target(): Class { @@ -316,15 +301,14 @@ class DriverM1Model { startFailedCode: String, startFailedMessage: String ) { -// BusAnalyticsManager.getInstance() -// .triggerStartAutopilotFailureEventByAdas(startFailedCode, startFailedMessage) -// if (mADASStatusCallback != null && !FunctionBuildConfig.isDemoMode) { -// e( -// SceneConstant.M_CHARTER_D + TAG, -// "mAdasStartFailureListener = $startFailedMessage" -// ) + CharterAnalyticsManager.getInstance() + .triggerStartAutopilotFailureEventByAdas(startFailedCode, startFailedMessage) + if (mControllerStatusCallback != null) { + + d(SceneConstant.M_CHARTER_D + TAG, + "mAdasStartFailureListener = $startFailedMessage") mControllerStatusCallback?.onStartAdasFailure() -// } + } } } @@ -395,7 +379,7 @@ class DriverM1Model { triggerUnableStartAPReasonEvent() return } - triggerStartServiceEvent(true, false) + triggerStartServiceEvent(false, false) val parameters = initAutopilotControlParameters() if (null == parameters) { d(SceneConstant.M_CHARTER_D + TAG, "行程日志-AutopilotControlParameters is empty.") @@ -412,13 +396,6 @@ class DriverM1Model { } - /** - * 延时查询站点信心 - */ - fun queryBusStationDelay() { - handler.sendEmptyMessageDelayed(MSG_QUERY_BUS_STATION, QUERY_BUS_STATION_DELAY) - } - /** * 在踩刹车、控制方向盘等操作后,会停止自动驾驶,重启自动驾驶的话相当于重新设置自动驾驶目的地 */ @@ -429,7 +406,7 @@ class DriverM1Model { } fun isHaveOrder(): Boolean { - return mCurrentOrder == null + return mCurrentOrder != null } // 登出 @@ -438,31 +415,27 @@ class DriverM1Model { } fun triggerStartServiceEvent(isRestart: Boolean, send: Boolean) { -// if (stationList == null || backgroundCurrentStationIndex >= stationList.size - 1) { -// return -// } -// val currentStation: BusStationBean = stationList[backgroundCurrentStationIndex] -// val nextStation: BusStationBean = stationList[backgroundCurrentStationIndex + 1] -// BusAnalyticsManager.getInstance().triggerStartAutopilotEvent( -// isRestart, send, -// currentStation.getName(), nextStation.getName(), currentLineId -// ) + if (mCurrentOrder == null) { + return + } + mCurrentOrder?.lineId?.let { + CharterAnalyticsManager.getInstance().triggerStartAutopilotEvent( + isRestart, send, + mCurrentOrder?.startSiteName, mCurrentOrder?.siteName, it + ) + } } - fun triggerUnableStartAPReasonEvent() { -// if (stationList == null || backgroundCurrentStationIndex >= stationList.size - 1) { -// return -// } -// val currentStation: BusStationBean = stationList[backgroundCurrentStationIndex] -// val nextStation: BusStationBean = stationList[backgroundCurrentStationIndex + 1] -// BusAnalyticsManager.getInstance().triggerUnableStartAPReasonEvent( -// currentStation.getName(), nextStation.getName(), currentLineId, -// OCHAdasAbilityManager.getInstance().autopilotUnAbilityReason -// ) - } - - fun getCurrentStationIndex(): Int { - return backgroundCurrentStationIndex + private fun triggerUnableStartAPReasonEvent() { + if (mCurrentOrder == null) { + return + } + mCurrentOrder?.lineId?.let { + CharterAnalyticsManager.getInstance().triggerUnableStartAPReasonEvent( + mCurrentOrder?.startSiteName, mCurrentOrder?.siteName, it, + OCHAdasAbilityManager.getInstance().autopilotUnAbilityReason + ) + } } /** @@ -485,11 +458,11 @@ class DriverM1Model { } private fun initAutopilotControlParameters(): AutopilotControlParameters? { - if ( mCurrentOrder == null || mCurrentResult == null) return null + if ( mCurrentOrder == null || mCurrentRoute == null) return null var parameters = AutopilotControlParameters() parameters.routeID = mCurrentOrder?.lineId!! parameters.routeName = mCurrentOrder?.lineName!! -// parameters.startName = PinYinUtil.getPinYinHeadChar(currentStation.getName()) + parameters.startName = PinYinUtil.getPinYinHeadChar(mCurrentOrder?.startSiteName) parameters.endName = PinYinUtil.getPinYinHeadChar(mCurrentOrder?.siteName) parameters.startLatLon = AutopilotControlParameters.AutoPilotLonLat( mLatitude, @@ -501,12 +474,12 @@ class DriverM1Model { if (parameters.autoPilotLine == null) { parameters.autoPilotLine = AutopilotControlParameters.AutoPilotLine( mCurrentOrder!!.lineId.toLong(), - mCurrentResult!!.csvFileUrl, mCurrentResult!!.csvFileMd5, - mCurrentResult!!.txtFileUrl, mCurrentResult!!.txtFileMd5, - mCurrentResult!!.contrailSaveTime, mCurrentResult!!.carModel, - mCurrentResult!!.csvFileUrlDPQP, mCurrentResult!!.csvFileMd5DPQP, - mCurrentResult!!.txtFileUrlDPQP, mCurrentResult!!.txtFileMd5DPQP, - mCurrentResult!!.contrailSaveTimeDPQP!! + mCurrentRoute!!.csvFileUrl, mCurrentRoute!!.csvFileMd5, + mCurrentRoute!!.txtFileUrl, mCurrentRoute!!.txtFileMd5, + mCurrentRoute!!.contrailSaveTime, mCurrentRoute!!.carModel, + mCurrentRoute!!.csvFileUrlDPQP, mCurrentRoute!!.csvFileMd5DPQP, + mCurrentRoute!!.txtFileUrlDPQP, mCurrentRoute!!.txtFileMd5DPQP, + mCurrentRoute!!.contrailSaveTimeDPQP!! ) } return parameters @@ -564,15 +537,16 @@ class DriverM1Model { d(SceneConstant.M_CHARTER_D + TAG, "queryCurrentServiceStatus success = " + GsonUtils.toJson(data.data)) - if (data.data.businessStatus == 2){ + if (data.data.businessStatus == 2){//订单为空,则是要换车状态 if (TextUtils.isEmpty(data.data.orderNo)){//还未换车,显示还车状态 mOrderCallback?.updateReturnCarStatus(false) startOrStopCheckCountDown(false) - }else{ // 去查询订单 + }else{ // 订单不为空,有服务中订单,去查询订单 mOrderCallback?.updateReturnCarStatus(true) queryCurrentOrder() } - }else{ + }else{ //车辆无订单,闲置状态 + clearAutopilotControlParameters() startOrStopCheckCountDown(false) } } @@ -587,10 +561,11 @@ class DriverM1Model { DriverM1ServiceManager.queryCurrentOrder(mContext ,object: OchCommonServiceCallback{ override fun onSuccess(data: QueryCurrentOrderResponse?) { - if (data == null || data.code != 0 || mCurrentOrder === data.data){ + if (data == null || data.code != 0 || data.data.equals(mCurrentOrder)){ isArrivedStation = false return } + d(SceneConstant.M_CHARTER_D + TAG, "queryCurrentOrder order =" + GsonUtils.toJson(data.data)) mCurrentOrder = data.data @@ -599,6 +574,8 @@ class DriverM1Model { checkoutContrail() // 倒计时校验开始 startOrStopCheckCountDown(true) + //鹰眼存参数 + updateAutopilotControlParameters() } override fun onFail(code: Int, msg: String?) { @@ -656,6 +633,7 @@ class DriverM1Model { } override fun onFail(code: Int, msg: String?) { + ToastUtilsOch.toastRequestError(mContext,msg) d(SceneConstant.M_CHARTER_D + TAG, "changeDest-onFail== $msg .") } }) @@ -672,7 +650,7 @@ class DriverM1Model { if (data == null || data.code != 0) return d(SceneConstant.M_CHARTER_D + TAG, "checkoutContrail-==" + GsonUtils.toJson(data.data)) - mCurrentResult = data.data + mCurrentRoute = data.data } override fun onFail(code: Int, msg: String?) { diff --git a/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/presenter/DriverM1Presenter.kt b/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/presenter/DriverM1Presenter.kt index 3be5cf11ad..9c08013c0a 100644 --- a/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/presenter/DriverM1Presenter.kt +++ b/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/presenter/DriverM1Presenter.kt @@ -1,6 +1,8 @@ package com.magic.mogo.och.charter.presenter import androidx.lifecycle.LifecycleOwner +import com.magic.mogo.och.charter.CharterAnalyticsManager +import com.magic.mogo.och.charter.R import com.magic.mogo.och.charter.bean.QueryCurrentOrderResponse import com.magic.mogo.och.charter.callback.ChangeDestCallback import com.magic.mogo.och.charter.callback.DriverM1OrderCallback @@ -35,7 +37,7 @@ class DriverM1Presenter(view: DriverM1Fragment?) : private var mCurrentAutopilotStatus : Int = -1 init { - DriverM1Model.get().init() + DriverM1Model.get().init(context) registerListener() } @@ -116,6 +118,11 @@ class DriverM1Presenter(view: DriverM1Fragment?) : DriverM1Model.get().changeDest() } + fun carReturnTip(){ //提前 5分钟 提醒 + DriverM1Model.get().pushOperationalToMsgBox(DateTimeUtil.getCurrentTimeStamp() + ,context.getString(R.string.last_5_minutes)) + } + override fun onAutopilotArriveAtStation(arrivalNotification: MessagePad.ArrivalNotification?) { DriverM1Model.get().onAutopilotArriveAtStation() } @@ -126,21 +133,21 @@ class DriverM1Presenter(view: DriverM1Fragment?) : mView?.onAutopilotStatusChanged(status) mCurrentAutopilotStatus = status -// when(status){ -// + when(status){ + // IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE -> { // // // } -// IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING ->{ -// -// } + IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING ->{ + DriverM1Model.get().triggerStartServiceEvent(false,true) + } // IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE ->{ // // } // IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING ->{ // // } -// } + } } override fun onStartAutopilotFailure( @@ -160,12 +167,14 @@ class DriverM1Presenter(view: DriverM1Fragment?) : } override fun startOpenAutopilot() { + mCurrentAutopilotStatus = -1 ThreadUtils.runOnUiThread { mView?.startAutopilotAnimation() } } override fun onStartAdasFailure() { + mCurrentAutopilotStatus = -1 ThreadUtils.runOnUiThread { mView?.stopAnimAndUpdateBtnStatus() } diff --git a/OCH/mogo-och-charter/src/driverm1/res/layout/fragment_driver_m1.xml b/OCH/mogo-och-charter/src/driverm1/res/layout/fragment_driver_m1.xml index dc40998949..db8169df70 100644 --- a/OCH/mogo-och-charter/src/driverm1/res/layout/fragment_driver_m1.xml +++ b/OCH/mogo-och-charter/src/driverm1/res/layout/fragment_driver_m1.xml @@ -146,13 +146,13 @@ @@ -166,9 +166,9 @@ diff --git a/OCH/mogo-och-charter/src/main/java/com/magic/mogo/och/charter/constant/CharterConst.kt b/OCH/mogo-och-charter/src/main/java/com/magic/mogo/och/charter/constant/CharterConst.kt index cc3137bb8f..98a787fb52 100644 --- a/OCH/mogo-och-charter/src/main/java/com/magic/mogo/och/charter/constant/CharterConst.kt +++ b/OCH/mogo-och-charter/src/main/java/com/magic/mogo/och/charter/constant/CharterConst.kt @@ -9,17 +9,6 @@ class CharterConst { // OCH arouter 路由path const val PATH = "/driver/api" - // 测试用的广播 - const val BROADCAST_TEST_BUS_CONTROL_TYPE_EXTRA_KEY = "sceneType" - // 无状态 - const val STATION_STATUS_IDLE = 0 - // 已过站(历史站) - const val STATION_STATUS_LEAVING = 1 - // 到站(当前站) - const val STATION_STATUS_STOPPED = 2 - // 未到站(未到站) - const val STATION_STATUS_ARRIVING = 3 - // 上报心跳轮询ms const val LOOP_PERIOD_60S = 60 * 1000L // 开始服务启动自动驾驶等待时间(埋点上传) @@ -32,15 +21,10 @@ class CharterConst { // 尝试下发给MEC轨迹最多10次 const val LOOP_SEND_TRAJ_TIMES = 10 - //起点UUID - const val BUS_START_MAP_MAKER = "bus_start_map_maker"; - //终点UUID - const val BUS_END_MAP_MAKER = "bus_end_map_maker"; - // 埋点key:接管后点击'自动驾驶'按钮启动 - const val EVENT_KEY_RESTART_AUTOPILOT = "event_key_och_bus_restart_autopilot" + const val EVENT_KEY_RESTART_AUTOPILOT = "event_key_och_charter_restart_autopilot" // 埋点key:开始服务开启自动驾驶(成功/失败) - const val EVENT_KEY_START_SERVICE = "event_key_och_bus_start_service" + const val EVENT_KEY_START_SERVICE = "event_key_och_charter_start_service" const val EVENT_PARAM_SN = "sn" const val EVENT_PARAM_TIME = "time" const val EVENT_PARAM_START_NAME = "start_name" @@ -52,13 +36,12 @@ class CharterConst { const val EVENT_PARAM_PLATE_NUM = "plate_number" // 车牌号 const val EVENT_PARAM_ENV_ONLINE = "env_online" // 是否线上环境:true/false // 埋点key:开启自动驾驶前已识别的异常,会导致无法开启自驾 - const val EVENT_KEY_AP_UNABLE_START_REASON = "event_key_och_bus_ap_unable_start_reason" - const val EVENT_PARAM_UNABLE_START_REASON = "unable_start_reason"; + const val EVENT_KEY_AP_UNABLE_START_REASON = "event_key_och_charter_ap_unable_start_reason" + const val EVENT_PARAM_UNABLE_START_REASON = "unable_start_reason" /** * 订单起终点Marker类型 */ - const val TYPE_MARKER_BUS_ORDER = "TYPE_MARKER_BUS_ORDER" const val TIMER_START_AUTOPILOT_INTERVAL = 20 * 1000L @@ -66,7 +49,7 @@ class CharterConst { const val ARRIVE_AT_END_STATION_DISTANCE = 10 // 轮询 - const val LOOP_5M = 3 * 1000L + const val LOOP_3M = 5 * 60 * 1000L const val LOOP_2S = 2 * 1000L const val LOOP_1S = 1 * 1000L const val LOOP_DELAY_500 = 500L