[6.8.2]
[fea] [轨迹下载回调相关]
This commit is contained in:
@@ -5,6 +5,7 @@ import androidx.fragment.app.Fragment
|
||||
import com.alibaba.android.arouter.facade.annotation.Route
|
||||
import com.magic.mogo.och.charter.fragment.DriverM1Fragment
|
||||
import com.magic.mogo.och.charter.manager.CharterAnalyticsManager
|
||||
import com.magic.mogo.och.charter.manager.CharterTrajectoryManager
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.och.common.module.constant.OchCommonConst
|
||||
@@ -29,10 +30,12 @@ class CharterDriverProvider : CommonServiceImpl() {
|
||||
fragment = DriverM1Fragment()
|
||||
}
|
||||
OchAutopilotAnalytics.ochEventKey = CharterAnalyticsManager.getInstance()
|
||||
CharterTrajectoryManager.load()
|
||||
return fragment!!
|
||||
}
|
||||
|
||||
override fun resetFragment() {
|
||||
CharterTrajectoryManager.release()
|
||||
fragment = null
|
||||
OchAutopilotAnalytics.ochEventKey = null
|
||||
}
|
||||
|
||||
@@ -15,6 +15,8 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.eagle.core.utilcode.util.ActivityUtils
|
||||
import com.mogo.eagle.core.utilcode.util.GsonUtils
|
||||
import com.mogo.och.common.module.biz.login.LoginStatusManager
|
||||
import com.mogo.och.common.module.manager.autopilot.trajectory.ITrajectoryListListener
|
||||
import com.mogo.och.common.module.manager.autopilot.trajectory.TrajectoryManager
|
||||
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
|
||||
import com.mogo.och.common.module.utils.SoundPoolHelper
|
||||
import io.reactivex.Observable
|
||||
@@ -29,7 +31,7 @@ import java.util.concurrent.TimeUnit
|
||||
* Bus轨迹管理:给MEC下发用于轨迹下载的信息
|
||||
* Created on 2022/6/23
|
||||
*/
|
||||
object CharterTrajectoryManager {
|
||||
object CharterTrajectoryManager : ITrajectoryListListener {
|
||||
|
||||
private const val TAG = "CharterTrajectoryManager"
|
||||
private var mAutoPilotLine: AutoPilotLine? = null
|
||||
@@ -37,6 +39,14 @@ object CharterTrajectoryManager {
|
||||
private var mLineName = ""
|
||||
private var mSendReqDisposable: Disposable? = null
|
||||
|
||||
fun load(){
|
||||
TrajectoryManager.addListener(TAG,this)
|
||||
}
|
||||
|
||||
fun release(){
|
||||
TrajectoryManager.removeListener(TAG)
|
||||
}
|
||||
|
||||
/**
|
||||
* 同步Bus路线信息
|
||||
*/
|
||||
@@ -54,57 +64,35 @@ object CharterTrajectoryManager {
|
||||
}
|
||||
}
|
||||
|
||||
fun onAutopilotGuardian(guardianInfo: MogoReportMessage?, lineId: Long) {
|
||||
onAutopilotGuardian(guardianInfo)
|
||||
override fun onDownLoadStart(lineId: Long) {
|
||||
stopTrajReqLoop()
|
||||
}
|
||||
|
||||
/**
|
||||
* 接口MEC反馈的常规信息(MAP v2.5.0新增轨迹相关信息)
|
||||
* @param guardianInfo
|
||||
*/
|
||||
fun onAutopilotGuardian(guardianInfo: MogoReportMessage?) {
|
||||
if (guardianInfo == null || !guardianInfo.hasCode()) return
|
||||
if ("ISYS_INIT_TRAJECTORY_START" == guardianInfo.code) {
|
||||
// 1. 轨迹管理_轨迹开始下载(本地已有对应轨迹也触发)
|
||||
d(SceneConstant.M_CHARTER_D + TAG, "onAutopilotGuardian() 轨迹开始下载")
|
||||
OchChainLogManager.writeChainLog("轨迹监控","onAutopilotGuardian() 轨迹开始下载", eventID = OchChainLogManager.EVENT_KEY_INFE_WITH_TRAJECTORY)
|
||||
stopTrajReqLoop()
|
||||
} else if ("ISYS_INIT_TRAJECTORY_SUCCESS" == guardianInfo.code) {
|
||||
// 2. 轨迹管理_轨迹下载成功(本地已有对应轨迹也触发)
|
||||
d(SceneConstant.M_CHARTER_D + TAG, "onAutopilotGuardian() 轨迹下载成功")
|
||||
OchChainLogManager.writeChainLog("轨迹监控","onAutopilotGuardian() 轨迹下载成功", eventID = OchChainLogManager.EVENT_KEY_INFE_WITH_TRAJECTORY)
|
||||
stopTrajReqLoop()
|
||||
} else if ("ISYS_INIT_TRAJECTORY_FAILURE" == guardianInfo.code) {
|
||||
// 3. 轨迹管理_轨迹下载失败,本地无对应轨迹
|
||||
d(SceneConstant.M_CHARTER_D + TAG, "onAutopilotGuardian() " + "轨迹下载失败,本地无对应轨迹")
|
||||
OchChainLogManager.writeChainLog("轨迹监控","onAutopilotGuardian() 轨迹下载失败,本地无对应轨迹", eventID = OchChainLogManager.EVENT_KEY_INFE_WITH_TRAJECTORY)
|
||||
// ToastUtils.showShort("轨迹下载失败,本地无对应轨迹");
|
||||
} else if ("ISYS_INIT_TRAJECTORY_WARNING" == guardianInfo.code) {
|
||||
// 4. 轨迹管理_轨迹下载失败,本地有对应轨迹,认为成功
|
||||
d(SceneConstant.M_CHARTER_D + TAG, "onAutopilotGuardian() " + "轨迹下载失败,本地有对应轨迹,认为成功")
|
||||
OchChainLogManager.writeChainLog("轨迹监控","onAutopilotGuardian() 轨迹下载失败,本地有对应轨迹,认为成功", eventID = OchChainLogManager.EVENT_KEY_INFE_WITH_TRAJECTORY)
|
||||
// ToastUtils.showShort("轨迹下载失败,本地有对应轨迹,认为成功");
|
||||
} else if ("ISYS_INIT_TRAJECTORY_TIMEOUT" == guardianInfo.code) {
|
||||
// 5. 轨迹管理_轨迹下载超时
|
||||
d(SceneConstant.M_CHARTER_D + TAG, "onAutopilotGuardian() 轨迹下载超时")
|
||||
OchChainLogManager.writeChainLog("轨迹监控","onAutopilotGuardian() 轨迹下载超时", eventID = OchChainLogManager.EVENT_KEY_INFE_WITH_TRAJECTORY)
|
||||
} else if ("EMAP_ATTITUDE_INIT_FAILED" == guardianInfo.getCode()) {
|
||||
// 收到ssm的自动驾驶变为ready,再次下发轨迹下载.解决:域控重启,或者102域控启动太早,107节点初始化未完成导致的轨迹未进行下载。
|
||||
d(SceneConstant.M_CHARTER_D + TAG, "onAutopilotGuardian() ssm ready,再次发起下载")
|
||||
OchChainLogManager.writeChainLog("轨迹监控","onAutopilotGuardian() 当前位置距离轨迹距离大于15m", eventID = OchChainLogManager.EVENT_KEY_INFE_WITH_TRAJECTORY)
|
||||
DriverM1Model.get().getBusOrderResult()?.lineId?.let {
|
||||
syncTrajectoryInfo(it, DriverM1Model.get().getBusOrderResult()?.lineName!!)
|
||||
}
|
||||
CallerMsgBoxManager.saveMsgBox(
|
||||
MsgBoxBean(
|
||||
MsgBoxType.OPERATION,
|
||||
OperationMsg(
|
||||
System.currentTimeMillis(), "请尽快操作车辆至适当位置掉头!", -1
|
||||
)
|
||||
override fun onDownLoadSuccess(lineId: Long) {
|
||||
stopTrajReqLoop()
|
||||
}
|
||||
|
||||
override fun onDownLoadReady(lineId: Long) {
|
||||
super.onDownLoadReady(lineId)
|
||||
DriverM1Model.get().getBusOrderResult()?.lineId?.let {
|
||||
syncTrajectoryInfo(it, DriverM1Model.get().getBusOrderResult()?.lineName!!)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDistanceWithTrajectory(lineId: Long) {
|
||||
super.onDistanceWithTrajectory(lineId)
|
||||
DriverM1Model.get().getBusOrderResult()?.lineId?.let {
|
||||
syncTrajectoryInfo(it, DriverM1Model.get().getBusOrderResult()?.lineName!!)
|
||||
}
|
||||
CallerMsgBoxManager.saveMsgBox(
|
||||
MsgBoxBean(
|
||||
MsgBoxType.OPERATION,
|
||||
OperationMsg(
|
||||
System.currentTimeMillis(), "请尽快操作车辆至适当位置掉头!", -1
|
||||
)
|
||||
)
|
||||
SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(ActivityUtils.getTopActivity(), R.raw.startautopilot)
|
||||
}
|
||||
)
|
||||
SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(ActivityUtils.getTopActivity(), R.raw.startautopilot)
|
||||
}
|
||||
|
||||
private fun setupAutoPilotLine() {
|
||||
|
||||
@@ -124,10 +124,6 @@ class DriverM1Presenter(view: DriverM1Fragment?) :
|
||||
DriverM1Model.get().pushOperationalToMsgBox(DateTimeUtil.getCurrentTimeStamp()
|
||||
,context.getString(R.string.charter_last_15_minutes))
|
||||
}
|
||||
|
||||
override fun onAutopilotGuardian(guardianInfo: MogoReportMsg.MogoReportMessage?, lineId: Long) {
|
||||
CharterTrajectoryManager.onAutopilotGuardian(guardianInfo,lineId)
|
||||
}
|
||||
|
||||
override fun onAutopilotArriveAtStation(arrivalNotification: ArrivedStation?) {
|
||||
DriverM1Model.get().onAutopilotArriveAtStation()
|
||||
|
||||
Reference in New Issue
Block a user