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 dc732edb94..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 @@ -176,6 +176,10 @@ class DriverM1Fragment : CharterBaseFragment aLong + 1 } .subscribeOn(Schedulers.io()) 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 673e89f986..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,7 +2,6 @@ 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 @@ -19,7 +18,6 @@ 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 @@ -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 @@ -104,14 +96,6 @@ class DriverM1Model { } } - private val handler = Handler(Handler.Callback { msg -> - if (msg.what == MSG_QUERY_BUS_STATION) { - return@Callback true - } - false - }) - - fun init(context: Context) { mContext = context // 定位监听 @@ -317,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() -// } + } } } @@ -413,13 +396,6 @@ class DriverM1Model { } - /** - * 延时查询站点信心 - */ - fun queryBusStationDelay() { - handler.sendEmptyMessageDelayed(MSG_QUERY_BUS_STATION, QUERY_BUS_STATION_DELAY) - } - /** * 在踩刹车、控制方向盘等操作后,会停止自动驾驶,重启自动驾驶的话相当于重新设置自动驾驶目的地 */ @@ -438,7 +414,7 @@ class DriverM1Model { loginService!!.loginOut(mLatitude, mLongitude) } - private fun triggerStartServiceEvent(isRestart: Boolean, send: Boolean) { + fun triggerStartServiceEvent(isRestart: Boolean, send: Boolean) { if (mCurrentOrder == null) { return } @@ -462,10 +438,6 @@ class DriverM1Model { } } - fun getCurrentStationIndex(): Int { - return backgroundCurrentStationIndex - } - /** * 将业务订单信息保存,鹰眼可取用 */ @@ -490,7 +462,7 @@ class DriverM1Model { 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, @@ -565,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) } } @@ -601,6 +574,8 @@ class DriverM1Model { checkoutContrail() // 倒计时校验开始 startOrStopCheckCountDown(true) + //鹰眼存参数 + updateAutopilotControlParameters() } override fun onFail(code: Int, msg: String?) { @@ -658,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 .") } }) 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 2ab69ed419..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 @@ -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 9a7e9c2293..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 @@ -166,9 +166,9 @@ @@ -198,7 +198,7 @@ android:id="@+id/group_stations_panel" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:visibility="visible" + android:visibility="gone" app:constraint_referenced_ids="driverm1_line_name,driverm1_order_count_down ,cur_station_title,cur_station_title1,line1,line2,driverm1StationName1Tv, driverm1StationName2Tv,driverm1nextCircleIv,driverm1CircleIvBg,driverm1ArrowBg 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 6c86a3c865..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 @@ -37,12 +37,11 @@ class CharterConst { const val EVENT_PARAM_ENV_ONLINE = "env_online" // 是否线上环境:true/false // 埋点key:开启自动驾驶前已识别的异常,会导致无法开启自驾 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"; + 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 @@ -50,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