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 2ca0b7fc46..0c1e4f6e40 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 @@ -46,6 +46,7 @@ import com.mogo.och.bus.util.BusSendTripInfoManager; import com.mogo.och.bus.util.BusTrajectoryManager; import com.mogo.och.bus.util.BusVoiceManager; import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutoPilotManager; +import com.mogo.och.common.module.manager.autopilot.line.LineManager; import com.mogo.och.common.module.manager.socket.lan.ILanMessageListener; import com.mogo.och.common.module.manager.socket.lan.LanSocketManager; import com.mogo.och.common.module.manager.socket.lan.bean.AppConnectMsg; @@ -196,6 +197,8 @@ public class OrderModel { }); } + // 初始化调用 + // 登录状态发生变化调用 public void queryBusCacheRoutes(){ String loginStr = CacheDataManager.Companion.getInstance().getCacheData( @@ -499,7 +502,7 @@ public class OrderModel { closeBeautificationMode(); clearStartAutopilotTag(); removeTipRunnables(); - + updateBusStatus(null); CacheDataManager.Companion.getInstance().clearCacheData(mContext, BusCacheKey.BUS_LINE_CACHE); return; } @@ -719,7 +722,7 @@ public class OrderModel { FunctionBuildConfig.isPassStartAutopilotCommand); //3、距离轨迹15m计算 - String resion = TrajectoryAndDistanceManager.INSTANCE.canStartAutopilot((long)busRoutesResult.getLineId()); + String resion = OchAutoPilotManager.canStartAutoPilot(busRoutesResult.getLineId()); if(TrajectoryAndDistanceManager.errorTypeNoneLineId.equals(resion)){ MogoLocation nextStationPoint = new MogoLocation(); if (backgroundCurrentStationIndex < stationList.size() - 1) { @@ -732,7 +735,7 @@ public class OrderModel { currentStationPoint.setLongitude(busStationBean.getGcjLon()); currentStationPoint.setLatitude(busStationBean.getGcjLat()); setTrajectoryStation(currentStationPoint,nextStationPoint, (long)busRoutesResult.getLineId()); - resion = TrajectoryAndDistanceManager.INSTANCE.canStartAutopilot((long)busRoutesResult.getLineId()); + resion = OchAutoPilotManager.canStartAutoPilot(busRoutesResult.getLineId()); } if(!StringUtils.isEmpty(resion)){ ToastUtils.showShort(resion); @@ -741,9 +744,7 @@ public class OrderModel { } //4、ssm 给出数据 - if (!FunctionBuildConfig.isDemoMode && !OCHAdasAbilityManager.getInstance().getAutopilotAbilityStatus()) { - ToastUtils.showLong(OCHAdasAbilityManager.getInstance().getAutopilotUnAbilityReason() + - ", 请稍候重试"); + if (!OchAutoPilotManager.canStartAutoPilotSSM()) { triggerUnableStartAPReasonEvent(); return; } @@ -958,11 +959,15 @@ public class OrderModel { * @param result */ private void updateBusStatus(BusRoutesResult result) { - if (result == null) return; + if (result == null) { + LineManager.setLineId(-1); + return; + } busRoutesResult = result; List site = result.getSites(); currentTaskId = result.getTaskId(); currentLineId = result.getLineId(); + LineManager.setLineId(currentLineId); stationList.clear(); stationList.addAll(site); diff --git a/OCH/bus/driver/src/main/res/layout/bus_base_fragment.xml b/OCH/bus/driver/src/main/res/layout/bus_base_fragment.xml index ab3db7be7a..6da350cadf 100644 --- a/OCH/bus/driver/src/main/res/layout/bus_base_fragment.xml +++ b/OCH/bus/driver/src/main/res/layout/bus_base_fragment.xml @@ -276,6 +276,7 @@ app:layout_constraintLeft_toRightOf="@id/toolsView" /> + + diff --git a/OCH/bus/passenger/src/main/java/m2/com/mogo/och/bus/passenger/passenger/ui/PM2HPMapFragment.kt b/OCH/bus/passenger/src/main/java/m2/com/mogo/och/bus/passenger/passenger/ui/PM2HPMapFragment.kt index 5138cd0cee..a3c9cc0390 100644 --- a/OCH/bus/passenger/src/main/java/m2/com/mogo/och/bus/passenger/passenger/ui/PM2HPMapFragment.kt +++ b/OCH/bus/passenger/src/main/java/m2/com/mogo/och/bus/passenger/passenger/ui/PM2HPMapFragment.kt @@ -110,9 +110,9 @@ class PM2HPMapFragment : it?.let{ builder.rotate(it.angle.toFloat()) } + val overlayManager = getOverlayManager() + overlayManager?.showOrUpdatePoint(builder.build()) } - val overlayManager = getOverlayManager() - overlayManager?.showOrUpdatePoint(builder.build()) } OCHThreadPoolManager.getsInstance().execute(setMapMarkerRunnable) } 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 f40bbb7073..0323fc8f35 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 @@ -46,6 +46,7 @@ import com.mogo.och.common.module.manager.CharterSendTripInfoManager.START_TRIP 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.device.LightAirconditionDoorManager import com.mogo.och.common.module.manager.device.LightAirconditionDoorStatusManager import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager @@ -499,14 +500,10 @@ class DriverM1Model { if (!CallerAutoPilotControlManager.isCanStartAutopilot(true)) { return } - // ssm 给出数据 - if (!OCHAdasAbilityManager.getInstance().autopilotAbilityStatus) { - ToastUtils.showLong( - OCHAdasAbilityManager.getInstance().autopilotUnAbilityReason + - ", 请稍候重试" - ) - triggerUnableStartAPReasonEvent() - return + //4、ssm 给出数据 + if (!OchAutoPilotManager.canStartAutoPilotSSM()) { + triggerUnableStartAPReasonEvent(); + return; } triggerStartServiceEvent(false, false) @@ -695,6 +692,7 @@ class DriverM1Model { if (TextUtils.isEmpty(data.data.orderNo)){//还未换车,显示还车状态 mOrderCallback?.updateReturnCarStatus(false) mCurrentOrder = null + LineManager.setLineId(-1) currentChangeDestMsg = null sendCharterEndTripInfo() startOrStopCheckCountDown(false) @@ -708,6 +706,7 @@ class DriverM1Model { mOrderCallback?.updateReturnCarStatus(true) clearAutopilotControlParameters() mCurrentOrder = null + LineManager.setLineId(-1) currentChangeDestMsg = null isArrivedStation = false startOrStopCheckCountDown(false) @@ -734,6 +733,7 @@ class DriverM1Model { d(SceneConstant.M_CHARTER_D + TAG, "data.data is null") isArrivedStation = false mCurrentOrder = null + LineManager.setLineId(-1) queryCurrentServiceStatus() return } @@ -749,6 +749,14 @@ class DriverM1Model { mCurrentOrder = data.data + mCurrentOrder?.lineId.let { + if (it == null || it < 0) { + LineManager.setLineId(-1) + } else { + LineManager.setLineId(it) + } + } + updateToClientData() mOrderCallback?.updateOrderUI(data.data) diff --git a/OCH/charter/driver/src/main/res/layout/charter_base_fragment.xml b/OCH/charter/driver/src/main/res/layout/charter_base_fragment.xml index e73ddb0a21..9d60ef322a 100644 --- a/OCH/charter/driver/src/main/res/layout/charter_base_fragment.xml +++ b/OCH/charter/driver/src/main/res/layout/charter_base_fragment.xml @@ -240,6 +240,14 @@ android:layout_width="@dimen/dp_142" android:layout_height="@dimen/dp_142"/> + +