[6.4.4] Bus B1乘客屏弱网处理

This commit is contained in:
wangmingjun
2024-05-29 09:43:04 +08:00
parent 54d4434eb9
commit ea57d64e6c

View File

@@ -39,18 +39,10 @@ import com.mogo.och.bus.passenger.callback.*
import com.mogo.och.bus.passenger.constant.BusPassengerConst
import com.mogo.och.bus.passenger.network.BusPassengerServiceManager
import com.mogo.och.bus.passenger.network.BusPassengerServiceManager.driverAppSn
import com.mogo.och.common.module.manager.socket.lan.bean.AppConnectMsg
import com.mogo.och.common.module.manager.socket.lan.bean.BaseDPMsg
import com.mogo.och.common.module.manager.socket.lan.bean.DPMsgType
import com.mogo.och.common.module.manager.socket.cloud.OCHSocketMessageManager
import com.mogo.och.common.module.manager.socket.cloud.OCHSocketMessageManager.pushAppOperationalMsgBox
import com.mogo.och.common.module.constant.OchCommonConst
import com.mogo.och.common.module.manager.autopilot.autopilot.ArrivedStation
import com.mogo.och.common.module.manager.autopilot.autopilot.IOchAutopilotStatusListener
import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutoPilotStatusListenerManager
import com.mogo.och.common.module.network.OchCommonServiceCallback
import com.mogo.och.common.module.manager.socket.cloud.AbnormalFactorsLoopManager.startLoopAbnormalFactors
import com.mogo.och.common.module.manager.socket.cloud.AbnormalFactorsLoopManager.stopLoopAbnormalFactors
import com.mogo.och.common.module.manager.distance.IDistanceListener
import com.mogo.och.common.module.manager.distance.ITrajectoryListener
import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager.addDistanceListener
@@ -59,11 +51,21 @@ import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager.
import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager.suspendCalculate
import com.mogo.och.common.module.manager.loop.BizLoopManager
import com.mogo.och.common.module.manager.loop.LoopInfo
import com.mogo.och.common.module.manager.socket.cloud.AbnormalFactorsLoopManager.startLoopAbnormalFactors
import com.mogo.och.common.module.manager.socket.cloud.AbnormalFactorsLoopManager.stopLoopAbnormalFactors
import com.mogo.och.common.module.manager.socket.cloud.OCHSocketMessageManager
import com.mogo.och.common.module.manager.socket.cloud.OCHSocketMessageManager.pushAppOperationalMsgBox
import com.mogo.och.common.module.manager.socket.lan.bean.AppConnectMsg
import com.mogo.och.common.module.manager.socket.lan.bean.BaseDPMsg
import com.mogo.och.common.module.manager.socket.lan.bean.DPMsgType
import com.mogo.och.common.module.manager.socket.lan.bean.TaskDetailsMsg
import com.mogo.och.common.module.network.OchCommonServiceCallback
import com.mogo.och.common.module.utils.DateTimeUtil
import com.mogo.och.common.module.utils.OCHThreadPoolManager
import com.mogo.och.common.module.utils.PinYinUtil
import com.mogo.och.data.bean.BusRoutesResult
import com.mogo.och.data.bean.BusStationBean
import com.mogo.och.data.bean.BusTransferData
import io.reactivex.schedulers.Schedulers
import java.util.concurrent.ConcurrentHashMap
@@ -165,12 +167,7 @@ object BusPassengerModel {
override fun onSuccess(data: PM2RoutesResponse) {
if (data.result == null) {
d(M_BUS_P + TAG, "order = queryDriverSiteByCoordinate = null")
if (routesResult != null) {
routesResult = null
mNextStationIndex = 0
}
cleanStation("queryDriverSiteByCoordinate")
mRouteLineInfoCallback?.showNoTaskView()
clearLocalRouteResult()
return
}
if (routesResult != null && data.result.equals(routesResult)) {
@@ -202,7 +199,11 @@ object BusPassengerModel {
})
}
private fun updatePassengerRouteInfo(result: BusRoutesResult) {
private fun updatePassengerRouteInfo(result: BusRoutesResult?) {
if (result == null) {
clearLocalRouteResult()
return
}
if (mRouteLineInfoCallback != null) {
d(
M_BUS_P + TAG,
@@ -434,6 +435,24 @@ object BusPassengerModel {
OCHSocketMessageManager.OPERATION_SYSTEM
)
}
}else if (baseMsg != null && baseMsg.type == DPMsgType.TYPE_TASK_DETAILS.type){
val msg = GsonUtils.fromJson(String(byteArray), TaskDetailsMsg::class.java)
if (msg == null || msg.msg?.isEmpty() == true){
clearLocalRouteResult()
return
}
val (loginStatus, result) = GsonUtils.fromJson<BusTransferData>(
msg.msg,
BusTransferData::class.java
)
if (msg != null && mDriverStatusCallback != null) {
mDriverStatusCallback!!.changeOperationStatus(loginStatus == 1)
}
if (result != null) { //已司机端传来的为准
routesResult = result
updatePassengerRouteInfo(routesResult)
}
}
}
}
@@ -528,4 +547,15 @@ object BusPassengerModel {
setStationPoint(null, null, -1L)
}
private fun clearLocalRouteResult() {
if (routesResult != null) {
routesResult = null
}
mNextStationIndex = 0
cleanStation("queryDriverSiteByCoordinate")
if (mRouteLineInfoCallback != null) {
mRouteLineInfoCallback!!.showNoTaskView()
}
}
}