[CallerAutoPilotStatusListenerManager -> OchAutoPilotStatusListenerManager]
This commit is contained in:
yangyakun
2024-04-19 16:34:41 +08:00
parent 9606e5689d
commit fb2abb828b
27 changed files with 244 additions and 309 deletions

View File

@@ -238,33 +238,12 @@ public class BusPresenter extends Presenter<BusFragment>
onAutopilotStatusResponse(status);
}
@Override
public void onAutopilotRouteLineId(long lineId) {
}
@Override
public void onAutopilotGuardian(MogoReportMsg.MogoReportMessage guardianInfo) {
BusTrajectoryManager.getInstance().onAutopilotGuardian(guardianInfo);
}
@Override
public void onAutopilotGuardian(@Nullable MogoReportMsg.MogoReportMessage guardianInfo, long lineId) {
BusTrajectoryManager.getInstance().onAutopilotGuardian(guardianInfo,lineId);
}
@Override
public void onAutopilotIpcConnectStatusChanged(@NonNull AdasConstants.IpcConnectionStatus status, @Nullable String reason) {
}
@Override
public void onAutopilotStatusRespByQuery(@NonNull SystemStatusInfo.StatusInfo status) {
}
@Override
public void onSystemStatus(@NonNull SsmInfo.SsmStatusInf statusInf) {
}
@Override
public void onStatusChange(LoginStatusEnum currentStatus) {
@@ -299,11 +278,4 @@ public class BusPresenter extends Presenter<BusFragment>
runOnUIThread(() -> mView.stopAnimAndUpdateBtnStatus());
}
@Override
public void onAutopilotDockerInfo(@NonNull String dockerVersion) {
}
@Override
public void onSsmReceiveTimeout(boolean isTimeout) {
}
}

View File

@@ -63,6 +63,10 @@ public class BusTrajectoryManager {
}
}
public void onAutopilotGuardian(@Nullable MogoReportMsg.MogoReportMessage guardianInfo,long lineId) {
onAutopilotGuardian(guardianInfo);
}
/**
* 接口MEC反馈的常规信息MAP v2.5.0新增轨迹相关信息)
* @param guardianInfo

View File

@@ -46,6 +46,9 @@ 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
@@ -331,7 +334,7 @@ object BusPassengerModel {
private fun initListeners() {
// 2021.11.1重构自动驾驶 实现接口 IMoGoAutopilotStatusListener 注册监听 替换IMogoAdasOCHCallback接口
CallerAutoPilotStatusListenerManager.addListener(TAG, mGoAutopilotStatusListener)
OchAutoPilotStatusListenerManager.addListener(TAG, mGoAutopilotStatusListener)
IntentManager.getInstance()
.registerIntentListener(ConnectivityManager.CONNECTIVITY_ACTION, mNetWorkIntentListener)
MogoStatusManager.getInstance().registerStatusChangedListener(
@@ -360,7 +363,7 @@ object BusPassengerModel {
CallerChassisLocationGCJ02ListenerManager.removeListener(TAG)
MogoAiCloudSocketManager.getInstance(mContext)
.unregisterLifecycleListener(10010)
CallerAutoPilotStatusListenerManager.removeListener(mGoAutopilotStatusListener)
OchAutoPilotStatusListenerManager.removeListener(mGoAutopilotStatusListener)
CallerTelematicListenerManager.removeListener(TAG)
stopLoopAbnormalFactors()
}
@@ -471,8 +474,8 @@ object BusPassengerModel {
}
}
}
private val mGoAutopilotStatusListener: IMoGoAutopilotStatusListener =
object : IMoGoAutopilotStatusListener {
private val mGoAutopilotStatusListener: IOchAutopilotStatusListener =
object : IOchAutopilotStatusListener {
private var arriveAtEnd = false //乘客app专用字段
override fun onAutopilotStatusResponse(state: Int) {
if (state == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING) {
@@ -499,7 +502,7 @@ object BusPassengerModel {
}
}
override fun onAutopilotArriveAtStation(arrivalNotification: ArrivalNotification?) {
override fun onAutopilotArriveAtStation(arrivalNotification: ArrivedStation?) {
if (FunctionBuildConfig.isDemoMode
&& isPassenger(FunctionBuildConfig.appIdentityMode)
) {

View File

@@ -40,6 +40,8 @@ import com.mogo.och.data.bean.BusStationBean
import com.mogo.och.data.bean.BusTransferData
import com.mogo.och.bus.passenger.bean.PM2RoutesResponse
import com.mogo.och.bus.passenger.network.BusPassengerServiceManager
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.manager.distance.IDistanceListener
import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager
import com.mogo.och.common.module.manager.loop.BizLoopManager
@@ -109,7 +111,7 @@ class PM2DrivingModel private constructor() {
private fun initListener() {
//自动驾驶状态监听
CallerAutoPilotStatusListenerManager.addListener(TAG, mAutoPilotStatusListener)
OchAutoPilotStatusListenerManager.addListener(TAG, mAutoPilotStatusListener)
// 定位监听
CallerChassisLocationGCJ02ListenerManager.addListener(TAG, 3, mMapLocationListener)
@@ -267,8 +269,8 @@ class PM2DrivingModel private constructor() {
mDrivingInfoCallback?.updateSpeed(speedKM)
}
private val mAutoPilotStatusListener: IMoGoAutopilotStatusListener =
object : IMoGoAutopilotStatusListener {
private val mAutoPilotStatusListener: IOchAutopilotStatusListener =
object : IOchAutopilotStatusListener {
override fun onAutopilotStatusResponse(state: Int) {
super.onAutopilotStatusResponse(state)

View File

@@ -2,12 +2,12 @@ package com.magic.mogo.och.charter.manager
import com.magic.mogo.och.charter.R
import com.magic.mogo.och.charter.constant.CharterConst
import com.magic.mogo.och.charter.model.DriverM1Model.Companion.get
import com.magic.mogo.och.charter.model.DriverM1Model
import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters.AutoPilotLine
import com.mogo.eagle.core.data.msgbox.MsgBoxBean
import com.mogo.eagle.core.data.msgbox.MsgBoxType
import com.mogo.eagle.core.data.msgbox.OperationMsg
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager.sendTrajectoryDownloadReq
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.e
@@ -43,7 +43,7 @@ object CharterTrajectoryManager {
fun syncTrajectoryInfo(lineId: Int, lineName: String) {
mLineId = lineId
mLineName = lineName
val routesResult = get().getBusRoutesResult()
val routesResult = DriverM1Model.get().getBusRoutesResult()
if (LoginStatusManager.isLogin() && routesResult != null) {
d(SceneConstant.M_CHARTER_D + TAG, "syncTrajectoryInfo() start.")
startTrajReqLoop()
@@ -54,6 +54,10 @@ object CharterTrajectoryManager {
}
}
fun onAutopilotGuardian(guardianInfo: MogoReportMessage?, lineId: Long) {
onAutopilotGuardian(guardianInfo)
}
/**
* 接口MEC反馈的常规信息MAP v2.5.0新增轨迹相关信息)
* @param guardianInfo
@@ -63,43 +67,33 @@ object CharterTrajectoryManager {
if ("ISYS_INIT_TRAJECTORY_START" == guardianInfo.code) {
// 1. 轨迹管理_轨迹开始下载本地已有对应轨迹也触发
d(SceneConstant.M_CHARTER_D + TAG, "onAutopilotGuardian() 轨迹开始下载")
// ToastUtils.showShort("轨迹开始下载");
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() 轨迹下载成功")
// ToastUtils.showShort("轨迹下载成功");
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() " +
"轨迹下载失败,本地无对应轨迹"
)
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() " +
"轨迹下载失败,本地有对应轨迹,认为成功"
)
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)
// ToastUtils.showShort("轨迹下载超时");
} 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)
get().getBusOrderResult()?.lineId?.let {
syncTrajectoryInfo(it,
get().getBusOrderResult()?.lineName!!)
DriverM1Model.get().getBusOrderResult()?.lineId?.let {
syncTrajectoryInfo(it, DriverM1Model.get().getBusOrderResult()?.lineName!!)
}
CallerMsgBoxManager.saveMsgBox(
MsgBoxBean(
@@ -114,7 +108,7 @@ object CharterTrajectoryManager {
}
private fun setupAutoPilotLine() {
val routesResult = get().getBusRoutesResult()
val routesResult = DriverM1Model.get().getBusRoutesResult()
if (routesResult == null) {
e(
SceneConstant.M_CHARTER_D + TAG,
@@ -177,7 +171,7 @@ object CharterTrajectoryManager {
CharterConst.LOOP_DELAY,
CharterConst.LOOP_PERIOD_10S, TimeUnit.MILLISECONDS
)
.map(Function { aLong: Long -> aLong + 1 })
.map { aLong: Long -> aLong + 1 }
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe { aLong: Long ->
@@ -208,24 +202,6 @@ object CharterTrajectoryManager {
return
}
// TODO: 2022/6/24
// test1
// mAutoPilotLine.setLineId(148);
// mAutoPilotLine.setTrajUrl("http://file-qa.zhidaozhixing.com/fileServer/upload/downloadFileStream?key=fileServer/online_car_hailing/e27c20c2da32481021d934c3ef084536/traj_148.csv");
// mAutoPilotLine.setTrajMd5("e27c20c2da32481021d934c3ef084536");
// mAutoPilotLine.setStopUrl("http://file-qa.zhidaozhixing.com/fileServer/upload/downloadFileStream?key=fileServer/online_car_hailing/6224c9dd2c0e2bd990c6482c0464de45/stop_148.txt");
// mAutoPilotLine.setStopMd5("6224c9dd2c0e2bd990c6482c0464de45");
// mAutoPilotLine.setTimestamp(1654596000000L); //20220607 18:00
// mAutoPilotLine.setVehicleModel("红旗H9");
// test2
// mAutoPilotLine.setLineId(148);
// mAutoPilotLine.setTrajUrl("http://file-qa.zhidaozhixing.com/fileServer/upload/downloadFileStream?key=fileServer/online_car_hailing/8654497cf918be461a59c7ad8e22920d/traj_148.csv");
// mAutoPilotLine.setTrajMd5("8654497cf918be461a59c7ad8e22920d");
// mAutoPilotLine.setStopUrl("http://file-qa.zhidaozhixing.com/fileServer/upload/downloadFileStream?key=fileServer/online_car_hailing/1bb098b244922649bf3e7bada0d3950f/stop_148.txt");
// mAutoPilotLine.setStopMd5("1bb098b244922649bf3e7bada0d3950f");
// mAutoPilotLine.setTimestamp(1654761600000L); //20220609 16:00
// mAutoPilotLine.setVehicleModel("红旗H9");
mAutoPilotLine?.let {
OchChainLogManager.writeChainLog("轨迹监控", "sendTrajectoryReq() 下发轨迹 轨迹id" + it.lineId,
true,
@@ -233,12 +209,8 @@ object CharterTrajectoryManager {
)
}
sendTrajectoryDownloadReq(mAutoPilotLine!!)
d(
SceneConstant.M_CHARTER_D + TAG,
"sendTrajectoryReq(): "
+ GsonUtils.toJson(mAutoPilotLine)
)
CallerAutoPilotControlManager.sendTrajectoryDownloadReq(mAutoPilotLine!!)
d(SceneConstant.M_CHARTER_D + TAG, "sendTrajectoryReq(): ${GsonUtils.toJson(mAutoPilotLine)}")
}
init {

View File

@@ -20,6 +20,9 @@ import com.mogo.och.common.module.biz.login.LoginStatusEnum
import com.mogo.och.common.module.biz.login.LoginStatusManager
import com.mogo.och.common.module.manager.socket.cloud.OCHSocketMessageManager.OPERATION_ROAD_SIDE_TYPE
import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager
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.manager.beautifymode.BeautifyManager
import com.mogo.och.common.module.manager.stopside.OCHPlanningActionsCallback
import com.mogo.och.common.module.manager.stopside.StopSideStatus
@@ -35,7 +38,7 @@ import mogo_msg.MogoReportMsg
class DriverM1Presenter(view: DriverM1Fragment?) :
Presenter<DriverM1Fragment?>(view),
ILoginCallback, DriverM1OrderCallback, ChangeDestCallback,
IMoGoAutopilotStatusListener, OCHPlanningActionsCallback{
IOchAutopilotStatusListener, OCHPlanningActionsCallback{
companion object{
private const val TAG = "DriverM1Presenter"
@@ -50,7 +53,7 @@ class DriverM1Presenter(view: DriverM1Fragment?) :
private fun registerListener() {
//2021.11.1 鹰眼架构整合由IMoGoAutopilotStatusListener逐步替代IMogoAdasOCHCallback接口
CallerAutoPilotStatusListenerManager.addListener(TAG, this)
OchAutoPilotStatusListenerManager.addListener(TAG, this)
StopSideManager.addListener(TAG,this)
DriverM1Model.get().setDriverM1OrderCallback(this)
DriverM1Model.get().setChangeDestCallback(this)
@@ -58,7 +61,7 @@ class DriverM1Presenter(view: DriverM1Fragment?) :
private fun releaseListener() {
StopSideManager.removeListener(TAG)
CallerAutoPilotStatusListenerManager.removeListener(TAG)
OchAutoPilotStatusListenerManager.removeListener(TAG)
DriverM1Model.get().setDriverM1OrderCallback(null)
DriverM1Model.get().setChangeDestCallback(null)
}
@@ -122,12 +125,12 @@ class DriverM1Presenter(view: DriverM1Fragment?) :
DriverM1Model.get().pushOperationalToMsgBox(DateTimeUtil.getCurrentTimeStamp()
,context.getString(R.string.charter_last_15_minutes))
}
override fun onAutopilotGuardian(guardianInfo: MogoReportMsg.MogoReportMessage?) {
CharterTrajectoryManager.onAutopilotGuardian(guardianInfo)
override fun onAutopilotGuardian(guardianInfo: MogoReportMsg.MogoReportMessage?, lineId: Long) {
CharterTrajectoryManager.onAutopilotGuardian(guardianInfo,lineId)
}
override fun onAutopilotArriveAtStation(arrivalNotification: MessagePad.ArrivalNotification?) {
override fun onAutopilotArriveAtStation(arrivalNotification: ArrivedStation?) {
DriverM1Model.get().onAutopilotArriveAtStation()
}

View File

@@ -13,6 +13,8 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_
import com.mogo.eagle.core.utilcode.util.ThreadUtils
import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
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.manager.beautifymode.BeautifyManager
import com.mogo.och.common.module.manager.beautifymode.IBeautifyModeCallback
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
@@ -22,7 +24,7 @@ import com.mogo.och.common.module.utils.RxUtils
import java.util.concurrent.atomic.AtomicBoolean
class AutopilotStatusViewModel: ViewModel(), IDriverM1ControllerStatusCallback,
IMoGoAutopilotStatusListener, IBeautifyModeCallback {
IOchAutopilotStatusListener, IBeautifyModeCallback {
private val TAG = AutopilotStatusViewModel::class.java.simpleName
@@ -43,7 +45,7 @@ class AutopilotStatusViewModel: ViewModel(), IDriverM1ControllerStatusCallback,
fun setAutopilotStatusCallback(viewCallback:IAutopilotStatusCallback){
this.viewCallback = viewCallback
CallerAutoPilotStatusListenerManager.addListener(TAG, this)
OchAutoPilotStatusListenerManager.addListener(TAG, this)
BeautifyManager.setStatusChangeListener(TAG,this)
this.setUIMode(CallerAutoPilotStatusListenerManager.getState())
}

View File

@@ -45,6 +45,9 @@ import com.mogo.och.common.module.network.OchCommonServiceCallback
import com.mogo.och.common.module.manager.CharterSendTripInfoManager
import com.mogo.och.common.module.manager.CharterSendTripInfoManager.LEAVE_STATION
import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager
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.manager.beautifymode.BeautifyManager
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
import com.mogo.och.common.module.manager.socket.lan.LanSocketManager
@@ -133,7 +136,7 @@ object CharterPassengerModel {
}
private fun releaseListeners() {
CallerAutoPilotStatusListenerManager.removeListener(mGoAutopilotStatusListener)
OchAutoPilotStatusListenerManager.removeListener(mGoAutopilotStatusListener)
CallerPlanningRottingListenerManager.removeListener(moGoAutopilotPlanningListener)
}
@@ -142,7 +145,7 @@ object CharterPassengerModel {
IntentManager.getInstance()
.registerIntentListener(ConnectivityManager.CONNECTIVITY_ACTION, mNetWorkIntentListener)
// 自动驾驶状态变化监听
CallerAutoPilotStatusListenerManager.addListener(TAG, mGoAutopilotStatusListener)
OchAutoPilotStatusListenerManager.addListener(TAG, mGoAutopilotStatusListener)
// 自动驾驶路线规划接口 返回自动驾驶轨迹
CallerPlanningRottingListenerManager.addListener(TAG, moGoAutopilotPlanningListener)
// 登录状态监听
@@ -189,15 +192,15 @@ object CharterPassengerModel {
// region 设置外部回调
// 自动驾驶状态监听
private val mGoAutopilotStatusListener: IMoGoAutopilotStatusListener =
object : IMoGoAutopilotStatusListener {
private val mGoAutopilotStatusListener: IOchAutopilotStatusListener =
object : IOchAutopilotStatusListener {
override fun onAutopilotStatusResponse(state: Int) {
mAutoStatusChnageListener.forEach {
it.value.onAutoStatusChange(state)
}
}
override fun onAutopilotArriveAtStation(arrivalNotification: MessagePad.ArrivalNotification?) {
override fun onAutopilotArriveAtStation(arrivalNotification: ArrivedStation?) {
d(M_BUS_P + TAG, "底盘给到站信息")
arriveDest()
}

View File

@@ -6,14 +6,16 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListener
import com.mogo.eagle.core.utilcode.util.TAG
import com.mogo.och.common.module.manager.audition.AuditionManager
import com.mogo.och.common.module.manager.audition.PlayState
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.utils.RxUtils
import io.reactivex.disposables.Disposable
object MusicModel : IMoGoAutopilotStatusListener, IOrderStatusChangeListener {
object MusicModel : IOchAutopilotStatusListener, IOrderStatusChangeListener {
init {
CharterPassengerModel.setStatusChangeListener(TAG,this)
//自动驾驶状态监听
CallerAutoPilotStatusListenerManager.addListener(TAG, this)
OchAutoPilotStatusListenerManager.addListener(TAG, this)
}
private var stopMusicDisposable: Disposable? = null

View File

@@ -25,6 +25,8 @@ import com.mogo.och.charter.passenger.bean.response.OrderInfoResponse
import com.mogo.och.charter.passenger.model.CharterPassengerModel
import com.mogo.och.charter.passenger.model.OrderStatusEnum
import com.mogo.och.charter.passenger.ui.debugview.DebugEvent
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.manager.beautifymode.BeautifyManager
import com.mogo.och.common.module.manager.beautifymode.IBeautifyModeCallback
import com.mogo.och.common.module.manager.loop.BizLoopManager
@@ -45,7 +47,8 @@ class StatusBarView @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
) : ConstraintLayout(context, attrs, defStyleAttr), IMoGoBatteryManagementSystemListener, IMoGoAutopilotStatusListener,
) : ConstraintLayout(context, attrs, defStyleAttr), IMoGoBatteryManagementSystemListener,
IOchAutopilotStatusListener,
IBeautifyModeCallback {
companion object {
@@ -90,7 +93,7 @@ class StatusBarView @JvmOverloads constructor(
//电池电量监听
CallerBatteryManagementSystemListenerManager.addListener(TAG,this)
//自动驾驶状态监听
CallerAutoPilotStatusListenerManager.addListener(TAG, this)
OchAutoPilotStatusListenerManager.addListener(TAG, this)
BeautifyManager.setStatusChangeListener(TAG,this)

View File

@@ -28,4 +28,10 @@ public class ArrivedStation {
return new ArrivedStation(mogoLocation);
}
@Override
public String toString() {
return "ArrivedStation{" +
"mogoLocation=" + mogoLocation +
'}';
}
}

View File

@@ -0,0 +1,95 @@
package com.mogo.och.common.module.manager.autopilot.autopilot;
import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters;
import com.mogo.och.common.module.manager.autopilot.autopilot.ArrivedStation;
import com.zhjt.mogo.adas.data.AdasConstants;
import mogo.telematics.pad.MessagePad;
import mogo_msg.MogoReportMsg;
import system_master.SsmInfo;
import system_master.SystemStatusInfo;
public interface IOchAutopilotStatusListener {
/**
* 自驾路线触发下载请求回调
*/
default void onAutopilotTrajectoryDownloadReq(AutopilotControlParameters.AutoPilotLine autoPilotLine, int downloadType) {
}
/**
* 自动驾驶状态信息
*
* @param state 状态信息
*/
default void onAutopilotStatusResponse(int state) {
}
/**
* 自动驾驶docker信息
*
* @param dockerVersion docker版本
*/
default void onAutopilotDockerInfo(String dockerVersion) {
}
/**
* 自动驾驶到站
*
* @param arrivalNotification 所到车站的简单信息
*/
default void onAutopilotArriveAtStation(ArrivedStation arrivalNotification) {
}
/**
* 工控机获取SN
*/
default void onAutopilotSNRequest(MessagePad.BasicInfoReq basicInfoReq) {
}
/**
* 监控事件报告
*/
default void onAutopilotGuardian(MogoReportMsg.MogoReportMessage guardianInfo) {
}
/**
* 监控事件报告
*/
default void onAutopilotGuardian(MogoReportMsg.MogoReportMessage guardianInfo, long lineId) {
}
/**
* 工控机连接状态回调
*/
default void onAutopilotIpcConnectStatusChanged(AdasConstants.IpcConnectionStatus status, String reason) {
}
/**
* 域控SSM接口接收超时
* 状态变动时才会回调默认SSM状态正常
*
* @param isTimeout trueSSM接口接收超时 falseSSM接口恢复正常
*/
default void onSsmReceiveTimeout(boolean isTimeout) {
}
/**
* 工控机主动查询 AdasManager#sendStatusQueryReq(),后会收到如下回调
*/
default void onAutopilotStatusRespByQuery(SystemStatusInfo.StatusInfo status) {
}
/**
* 定频SSM
* 老版本 SSMSystemStatusInfo.StatusInfo HQ、M1 MAP350开始弃用其他车型MAP360开始弃用
*/
default void onSystemStatus(SsmInfo.SsmStatusInf statusInf) {
}
/**
* 自动驾驶路线ID回调
*/
default void onAutopilotRouteLineId(long lineId) {
}
}

View File

@@ -1,95 +0,0 @@
package com.mogo.och.common.module.manager.autopilot.autopilot
import com.zhjt.mogo.adas.data.AdasConstants
import mogo.telematics.pad.MessagePad
import mogo_msg.MogoReportMsg
import system_master.SsmInfo
import system_master.SystemStatusInfo
interface IOchAutopilotStatusListener {
/**
* 自动驾驶状态信息
*
* @param state 状态信息
*/
fun onAutopilotStatusResponse(state: Int) {}
/**
* 自动驾驶docker信息
*
* @param dockerVersion docker版本
*/
fun onAutopilotDockerInfo(dockerVersion:String){}
/**
* 自动驾驶到站
*
* @param arrivalNotification 所到车站的简单信息
*/
fun onAutopilotArriveAtStation(arrivalNotification: ArrivedStation?) {}
/**
* 工控机获取SN
*/
fun onAutopilotSNRequest(basicInfoReq: MessagePad.BasicInfoReq) {}
/**
* 监控事件报告
*/
fun onAutopilotGuardian(guardianInfo: MogoReportMsg.MogoReportMessage?) {}
/**
* 监控事件报告
*/
fun onAutopilotGuardian(guardianInfo: MogoReportMsg.MogoReportMessage?,lineId: Long) {}
/**
* 工控机连接状态回调
*/
fun onAutopilotIpcConnectStatusChanged(status: AdasConstants.IpcConnectionStatus, reason: String?) {}
/**
* 域控SSM接口接收超时
* 状态变动时才会回调默认SSM状态正常
* @param isTimeout trueSSM接口接收超时 falseSSM接口恢复正常
*/
fun onSsmReceiveTimeout(isTimeout: Boolean) {}
/**
* 工控机主动查询 AdasManager#sendStatusQueryReq(),后会收到如下回调
*/
fun onAutopilotStatusRespByQuery(status: SystemStatusInfo.StatusInfo) {}
/**
* 定频SSM
* 老版本 SSMSystemStatusInfo.StatusInfo HQ、M1 MAP350开始弃用其他车型MAP360开始弃用
*/
fun onSystemStatus(statusInf: SsmInfo.SsmStatusInf) {}
/**
* 自动驾驶路线ID回调
*/
fun onAutopilotRouteLineId(lineId: Long){}
companion object {
/**
* 不可自动驾驶目前场景是刚开机adas还未和工控机连接
*/
const val STATUS_AUTOPILOT_DISABLE = 0
/**
* 可自动驾驶,工控机连接正常,且处于人工干预状态
*/
const val STATUS_AUTOPILOT_ENABLE = 1
/**
* 自动驾驶中,可能是停车,可能是行进,但是是机器在处理车的前进后退,不是人
*/
const val STATUS_AUTOPILOT_RUNNING = 2
/**
* 平行驾驶
*/
const val STATUS_PARALLEL_DRIVING = 7
}
}

View File

@@ -1,5 +1,6 @@
package com.mogo.och.common.module.manager.autopilot.autopilot
import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
import com.mogo.och.common.module.utils.CallerBase
@@ -19,6 +20,17 @@ object OchAutoPilotStatusListenerManager : CallerBase<IOchAutopilotStatusListene
CallerAutoPilotStatusListenerManager.addListener(TAG, this)
}
override fun onAutopilotTrajectoryDownloadReq(
autoPilotLine: AutopilotControlParameters.AutoPilotLine,
downloadType: Int
) {
super.onAutopilotTrajectoryDownloadReq(autoPilotLine, downloadType)
M_LISTENERS.forEach {
val listener = it.value
listener.onAutopilotTrajectoryDownloadReq(autoPilotLine,downloadType)
}
}
override fun onAutopilotStatusResponse(state: Int) {
super.onAutopilotStatusResponse(state)
M_LISTENERS.forEach {

View File

@@ -161,10 +161,6 @@ public class BusPresenter extends Presenter<ShuttleFragment>
OrderModel.getInstance().onArriveAt(arrivedStation,type);
}
@Override
public void onAutopilotSNRequest(@NonNull MessagePad.BasicInfoReq basicInfoReq) {
}
@Override
public void onAutopilotStatusResponse(int state) {
switch (state) {
@@ -232,30 +228,10 @@ public class BusPresenter extends Presenter<ShuttleFragment>
onAutopilotStatusResponse(status);
}
@Override
public void onAutopilotRouteLineId(long lineId) {
}
@Override
public void onAutopilotGuardian(MogoReportMsg.MogoReportMessage guardianInfo) {
BusTrajectoryManager.getInstance().onAutopilotGuardian(guardianInfo);
}
@Override
public void onAutopilotGuardian(@Nullable MogoReportMsg.MogoReportMessage guardianInfo, long lineId) {
}
@Override
public void onAutopilotIpcConnectStatusChanged(@NonNull AdasConstants.IpcConnectionStatus status, @Nullable String reason) {
}
@Override
public void onAutopilotStatusRespByQuery(@NonNull SystemStatusInfo.StatusInfo status) {
}
@Override
public void onSystemStatus(@NonNull SsmInfo.SsmStatusInf statusInf) {
public void onAutopilotGuardian(MogoReportMsg.MogoReportMessage guardianInfo, long lineId) {
BusTrajectoryManager.getInstance().onAutopilotGuardian(guardianInfo,lineId);
}
@Override
@@ -279,12 +255,4 @@ public class BusPresenter extends Presenter<ShuttleFragment>
runOnUIThread(() -> mView.stopAnimAndUpdateBtnStatus());
}
@Override
public void onAutopilotDockerInfo(@NonNull String dockerVersion) {
}
@Override
public void onSsmReceiveTimeout(boolean isTimeout) {
}
}

View File

@@ -63,6 +63,10 @@ public class BusTrajectoryManager {
}
}
public void onAutopilotGuardian(@Nullable MogoReportMsg.MogoReportMessage guardianInfo,long lineId) {
onAutopilotGuardian(guardianInfo);
}
/**
* 接口MEC反馈的常规信息MAP v2.5.0新增轨迹相关信息)
* @param guardianInfo

View File

@@ -30,6 +30,8 @@ import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.eagle.core.utilcode.util.ToastUtils
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.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.distance.IDistanceListener
import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager
@@ -107,7 +109,7 @@ class PM2DrivingModel private constructor() {
private fun initListener() {
//自动驾驶状态监听
CallerAutoPilotStatusListenerManager.addListener(TAG, mAutoPilotStatusListener)
OchAutoPilotStatusListenerManager.addListener(TAG, mAutoPilotStatusListener)
// 定位监听
CallerChassisLocationGCJ02ListenerManager.addListener(TAG, 3, mMapLocationListener)
@@ -273,8 +275,8 @@ class PM2DrivingModel private constructor() {
mDrivingInfoCallback?.updateSpeed(speedKM)
}
private val mAutoPilotStatusListener: IMoGoAutopilotStatusListener =
object : IMoGoAutopilotStatusListener {
private val mAutoPilotStatusListener: IOchAutopilotStatusListener =
object : IOchAutopilotStatusListener {
override fun onAutopilotStatusResponse(state: Int) {
super.onAutopilotStatusResponse(state)

View File

@@ -39,6 +39,9 @@ import com.mogo.eagle.core.utilcode.util.NetworkUtils;
import com.mogo.eagle.core.utilcode.util.StringUtils;
import com.mogo.eagle.core.utilcode.util.ToastUtils;
import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
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.manager.socket.cloud.OCHSocketMessageManager;
import com.mogo.och.common.module.manager.socket.cloud.data.OCHOperationalMessage;
import com.mogo.och.common.module.biz.login.LoginStatusManager;
@@ -211,7 +214,7 @@ public class TaxiModel {
private void initListeners() {
// 2021.11.1重构自动驾驶 实现接口 IMoGoAutopilotStatusListener 注册监听 替换IMogoAdasOCHCallback接口
CallerAutoPilotStatusListenerManager.INSTANCE.addListener(TAG, mGoAutopilotStatusListener);
OchAutoPilotStatusListenerManager.INSTANCE.addListener(TAG, mGoAutopilotStatusListener);
IntentManager.getInstance().registerIntentListener(ConnectivityManager.CONNECTIVITY_ACTION, mNetWorkIntentListener);
//定位监听, 传false是高德坐标系
@@ -260,7 +263,7 @@ public class TaxiModel {
OCHSocketMessageManager.INSTANCE.releaseSocketMessageListener(OCHSocketMessageManager.msgMonitorType);
CallerAutoPilotStatusListenerManager.INSTANCE.removeListener(mGoAutopilotStatusListener);
OchAutoPilotStatusListenerManager.INSTANCE.removeListener(mGoAutopilotStatusListener);
CallerPlanningRottingListenerManager.INSTANCE.removeListener(moGoAutopilotPlanningListener);
OCHAdasAbilityManager.getInstance().setAdasStartFailureCallback(null);
@@ -1201,33 +1204,11 @@ public class TaxiModel {
startServicePilotDone();
}
private final IMoGoAutopilotStatusListener mGoAutopilotStatusListener = new IMoGoAutopilotStatusListener() {
private final IOchAutopilotStatusListener mGoAutopilotStatusListener = new IOchAutopilotStatusListener() {
@Override
public void onAutopilotTrajectoryDownloadReq(@NonNull AutopilotControlParameters.AutoPilotLine autoPilotLine, int downloadType) {
}
@Override
public void onSsmReceiveTimeout(boolean isTimeout) {
}
@Override
public void onAutopilotDockerInfo(@NonNull String dockerVersion) {
}
@Override
public void onAutopilotRouteLineId(long lineId) {
}
@Override
public void onAutopilotIpcConnectStatusChanged(@NonNull AdasConstants.IpcConnectionStatus status, @Nullable String reason) {
}
@Override
public void onAutopilotGuardian(@Nullable MogoReportMsg.MogoReportMessage guardianInfo) {
TaxiTrajectoryManager.getInstance().onAutopilotGuardian(guardianInfo);
public void onAutopilotGuardian(@Nullable MogoReportMsg.MogoReportMessage guardianInfo, long lineId) {
TaxiTrajectoryManager.getInstance().onAutopilotGuardian(guardianInfo,lineId);
}
@Override
@@ -1290,11 +1271,7 @@ public class TaxiModel {
}
@Override
public void onAutopilotSNRequest(@NonNull MessagePad.BasicInfoReq basicInfoReq) {
}
@Override
public void onAutopilotArriveAtStation(MessagePad.ArrivalNotification data) {
public void onAutopilotArriveAtStation(ArrivedStation data) {
CallerLogger.i(M_TAXI + TAG, "onAutopilotArriveAtStation = " + data.toString());
if (data == null || !checkCurrentOCHOrder()
@@ -1305,20 +1282,10 @@ public class TaxiModel {
if (FunctionBuildConfig.isDemoMode) {
// 当美化模式(演示模式)开启时: 到达目的地置false
// 2022.10.08 到达目的地时候取消自动起自驾, 服务完成取消引导线和自动驾驶按钮状态
// FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData = false;
// CallerAutoPilotManager.INSTANCE.setIgnoreConditionDraw(false);
CallerAutoPilotControlManager.INSTANCE.setIPCDemoMode(false);
CallerLogger.d(M_TAXI + TAG, "美化模式-ignore置为false到达目的地");
}
}
@Override
public void onAutopilotStatusRespByQuery(@NonNull SystemStatusInfo.StatusInfo status) {
}
@Override
public void onSystemStatus(@NonNull SsmInfo.SsmStatusInf statusInf) {
}
};
private final IMoGoPlanningRottingListener moGoAutopilotPlanningListener = new IMoGoPlanningRottingListener() {

View File

@@ -66,6 +66,10 @@ public class TaxiTrajectoryManager {
}
}
public void onAutopilotGuardian(@Nullable MogoReportMsg.MogoReportMessage guardianInfo, long lineId) {
onAutopilotGuardian(guardianInfo);
}
/**
* 接口MEC反馈的常规信息MAP v2.5.0新增轨迹相关信息)
* @param guardianInfo

View File

@@ -14,6 +14,8 @@ import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.och.common.module.network.OchCommonServiceCallback
import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager
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.manager.distance.TrajectoryAndDistanceManager
import com.mogo.och.common.module.utils.PinYinUtil
import com.mogo.och.common.module.voice.VoiceNotice
@@ -23,12 +25,12 @@ import com.mogo.och.taxi.passenger.ui.model.order.TaxiPassengerOrderStatusEnum
import com.mogo.och.taxi.passenger.network.TaxiPassengerServiceManager
import com.mogo.och.taxi.passenger.utils.TaxiPassengerAnalyticsManager
object AutopilotManager : IMoGoAutopilotStatusListener {
object AutopilotManager : IOchAutopilotStatusListener {
private const val TAG = "AutopilotManager"
init {
CallerAutoPilotStatusListenerManager.addListener(TAG, this)
OchAutoPilotStatusListenerManager.addListener(TAG, this)
}
//检测当前订单
private fun checkCurrentOCHOrder(): Boolean {

View File

@@ -16,6 +16,8 @@ import com.mogo.eagle.core.function.call.setting.CallerSkinModeListenerManager
import com.mogo.eagle.core.function.hmi.ui.setting.ToggleDebugView
import com.mogo.eagle.core.utilcode.kotlin.onClick
import com.mogo.eagle.core.utilcode.util.ActivityUtils
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.manager.debug.DebugViewWatchDogFragment
import com.mogo.och.taxi.passenger.R
import com.mogo.och.taxi.passenger.ui.debug.DebugEvent
@@ -29,7 +31,7 @@ class StatusBarView @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
) : ConstraintLayout(context, attrs, defStyleAttr), IMoGoAutopilotStatusListener {
) : ConstraintLayout(context, attrs, defStyleAttr), IOchAutopilotStatusListener {
companion object {
const val TAG = "StatusBarView"
@@ -73,7 +75,7 @@ class StatusBarView @JvmOverloads constructor(
layoutParams = params
}
CallerAutoPilotStatusListenerManager.addListener(TAG, this)
OchAutoPilotStatusListenerManager.addListener(TAG, this)
iv_biz_icon.setOnClickListener { continuousClick(debugView) }
vShowDebugView.setOnLongClickListener {

View File

@@ -5,6 +5,8 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
import com.mogo.eagle.core.utilcode.util.TAG
import com.mogo.och.common.module.manager.audition.AuditionManager
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.utils.RxUtils
import com.mogo.och.taxi.passenger.ui.model.order.BaseOrderBean
import com.mogo.och.taxi.passenger.ui.model.order.OrderListener
@@ -12,11 +14,11 @@ import com.mogo.och.taxi.passenger.ui.model.order.OrderModel
import com.mogo.och.taxi.passenger.ui.model.order.TaxiPassengerOrderStatusEnum
import io.reactivex.disposables.Disposable
object MusicModel : OrderListener, IMoGoAutopilotStatusListener {
object MusicModel : OrderListener, IOchAutopilotStatusListener {
init {
OrderModel.setOrderStatusCallback(TAG,this)
//自动驾驶状态监听
CallerAutoPilotStatusListenerManager.addListener(TAG, this)
OchAutoPilotStatusListenerManager.addListener(TAG, this)
}
private var stopMusicDisposable: Disposable? = null

View File

@@ -23,6 +23,9 @@ import com.mogo.eagle.core.utilcode.util.NetworkUtils
import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.och.common.module.network.OchCommonServiceCallback
import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager
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.utils.OCHThreadPoolManager
import com.mogo.och.taxi.bean.ContrailBean
import com.mogo.och.taxi.bean.EndGrayContrailTaskReq
@@ -82,26 +85,18 @@ object TaxiRoutingModel {
}
fun addAutoPilotStatusListener() {
CallerAutoPilotStatusListenerManager.addListener(TAG, mMogoAutopilotStatusListener)
OchAutoPilotStatusListenerManager.addListener(TAG, mMogoAutopilotStatusListener)
}
fun removeAutoPilotStatusListener() {
CallerAutoPilotStatusListenerManager.removeListener(TAG)
OchAutoPilotStatusListenerManager.removeListener(TAG)
}
//MAP到站监听
private val mMogoAutopilotStatusListener: IMoGoAutopilotStatusListener =
object : IMoGoAutopilotStatusListener {
override fun onAutopilotIpcConnectStatusChanged(status: AdasConstants.IpcConnectionStatus, reason: String?) {
}
private val mMogoAutopilotStatusListener: IOchAutopilotStatusListener =
object : IOchAutopilotStatusListener {
override fun onAutopilotGuardian(guardianInfo: MogoReportMsg.MogoReportMessage?) {
}
override fun onAutopilotStatusResponse(state: Int) {
}
override fun onAutopilotArriveAtStation(arrivalNotification: MessagePad.ArrivalNotification?) {
override fun onAutopilotArriveAtStation(arrivalNotification: ArrivedStation?) {
CallerLogger.i(
TAG,
"onAutopilotArriveAtStation = ${arrivalNotification.toString()}"

View File

@@ -45,6 +45,9 @@ import com.mogo.och.common.module.biz.login.LoginService
import com.mogo.och.common.module.callback.OchAdasStartFailureCallback
import com.mogo.och.common.module.manager.socket.cloud.AbnormalFactorsLoopManager
import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager
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.manager.distance.IDistanceListener
import com.mogo.och.common.module.manager.distance.ITrajectoryListener
import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager
@@ -80,7 +83,6 @@ import io.reactivex.Observable
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.disposables.Disposable
import io.reactivex.schedulers.Schedulers
import mogo.telematics.pad.MessagePad.ArrivalNotification
import mogo.telematics.pad.MessagePad.GlobalPathResp
import mogo_msg.MogoReportMsg.MogoReportMessage
import java.util.concurrent.ConcurrentHashMap
@@ -208,7 +210,7 @@ object TaxiTaskModel {
private fun initListeners() {
// 2021.11.1重构自动驾驶 实现接口 IMoGoAutopilotStatusListener 注册监听 替换IMogoAdasOCHCallback接口
CallerAutoPilotStatusListenerManager.addListener(TAG, mMogoAutopilotStatusListener)
OchAutoPilotStatusListenerManager.addListener(TAG, mMogoAutopilotStatusListener)
//定位监听, 传false是高德坐标系 10 -> 100ms一次
CallerChassisLocationGCJ02ListenerManager.addListener(TAG, 5, mMapLocationListener)
//2021.11.1 自动驾驶路线规划接口
@@ -243,7 +245,7 @@ object TaxiTaskModel {
// 注销地图监听
CallerChassisLocationGCJ02ListenerManager.removeListener(TAG)
OCHSocketMessageManager.releaseSocketMessageListener(OCHSocketMessageManager.msgMonitorType)
CallerAutoPilotStatusListenerManager.removeListener(mMogoAutopilotStatusListener)
OchAutoPilotStatusListenerManager.removeListener(mMogoAutopilotStatusListener)
CallerPlanningRottingListenerManager.removeListener(mMogoAutopilotPlanningListener)
OCHAdasAbilityManager.getInstance().setAdasStartFailureCallback(null)
AbnormalFactorsLoopManager.stopLoopAbnormalFactors()
@@ -269,8 +271,8 @@ object TaxiTaskModel {
}
}
private val mMogoAutopilotStatusListener: IMoGoAutopilotStatusListener =
object : IMoGoAutopilotStatusListener {
private val mMogoAutopilotStatusListener: IOchAutopilotStatusListener =
object : IOchAutopilotStatusListener {
override fun onAutopilotIpcConnectStatusChanged(status: AdasConstants.IpcConnectionStatus, reason: String?) {
DebugView.printInfoMsg(
"[域控连接状态变化] status=$status, reason=${
@@ -282,8 +284,9 @@ object TaxiTaskModel {
)
}
override fun onAutopilotGuardian(guardianInfo: MogoReportMessage?) {
TaxiTrajectoryManager.getInstance().onAutopilotGuardian(guardianInfo)
override fun onAutopilotGuardian(guardianInfo: MogoReportMessage?, lineId: Long) {
super.onAutopilotGuardian(guardianInfo, lineId)
TaxiTrajectoryManager.getInstance().onAutopilotGuardian(guardianInfo,lineId)
}
override fun onAutopilotStatusResponse(state: Int) {
@@ -343,7 +346,7 @@ object TaxiTaskModel {
}
}
override fun onAutopilotArriveAtStation(arrivalNotification: ArrivalNotification?) {
override fun onAutopilotArriveAtStation(arrivalNotification: ArrivedStation?) {
i(TAG, "onAutopilotArriveAtStation = ${arrivalNotification.toString()}")
DebugView.printInfoMsg("[MAP到站通知] 上报到站location=${arrivalNotification?.endLocation}")
if (arrivalNotification == null || !checkCurrentTaskCondition() ||

View File

@@ -85,6 +85,10 @@ public class TaxiTrajectoryManager {
}
}
public void onAutopilotGuardian(@Nullable MogoReportMsg.MogoReportMessage guardianInfo,long lineId) {
onAutopilotGuardian(guardianInfo);
}
/**
* 接口MEC反馈的常规信息MAP v2.5.0新增轨迹相关信息)
* @param guardianInfo
@@ -95,31 +99,26 @@ public class TaxiTrajectoryManager {
// 1. 轨迹管理_轨迹开始下载本地已有对应轨迹也触发
CallerLogger.d(M_TAXI + TAG, "onAutopilotGuardian() 轨迹开始下载");
OchChainLogManager.writeChainLog("轨迹监控","onAutopilotGuardian() 轨迹开始下载", true, OchChainLogManager.EVENT_KEY_INFE_WITH_TRAJECTORY);
// ToastUtils.showShort("轨迹开始下载");
stopTrajReqLoop();
} else if ("ISYS_INIT_TRAJECTORY_SUCCESS".equals(guardianInfo.getCode())) {
// 2. 轨迹管理_轨迹下载成功本地已有对应轨迹也触发
CallerLogger.d(M_TAXI + TAG, "onAutopilotGuardian() 轨迹下载成功");
OchChainLogManager.writeChainLog("轨迹监控","onAutopilotGuardian() 轨迹下载成功", true, OchChainLogManager.EVENT_KEY_INFE_WITH_TRAJECTORY);
// ToastUtils.showShort("轨迹下载成功");
stopTrajReqLoop();
} else if ("ISYS_INIT_TRAJECTORY_FAILURE".equals(guardianInfo.getCode())) {
// 3. 轨迹管理_轨迹下载失败本地无对应轨迹
CallerLogger.d(M_TAXI + TAG, "onAutopilotGuardian() " +
"轨迹下载失败,本地无对应轨迹");
OchChainLogManager.writeChainLog("轨迹监控","onAutopilotGuardian() 轨迹下载失败,本地无对应轨迹", true, OchChainLogManager.EVENT_KEY_INFE_WITH_TRAJECTORY);
// ToastUtils.showShort("轨迹下载失败,本地无对应轨迹");
} else if ("ISYS_INIT_TRAJECTORY_WARNING".equals(guardianInfo.getCode())) {
// 4. 轨迹管理_轨迹下载失败本地有对应轨迹认为成功
CallerLogger.d(M_TAXI + TAG, "onAutopilotGuardian() " +
"轨迹下载失败,本地有对应轨迹,认为成功");
OchChainLogManager.writeChainLog("轨迹监控","onAutopilotGuardian() 轨迹下载失败,本地有对应轨迹,认为成功", true, OchChainLogManager.EVENT_KEY_INFE_WITH_TRAJECTORY);
// ToastUtils.showShort("轨迹下载失败,本地有对应轨迹,认为成功");
} else if ("ISYS_INIT_TRAJECTORY_TIMEOUT".equals(guardianInfo.getCode())) {
// 5. 轨迹管理_轨迹下载超时
CallerLogger.d(M_TAXI + TAG, "onAutopilotGuardian() 轨迹下载超时");
OchChainLogManager.writeChainLog("轨迹监控","onAutopilotGuardian() 轨迹下载超时", true, OchChainLogManager.EVENT_KEY_INFE_WITH_TRAJECTORY);
// ToastUtils.showShort("轨迹下载超时");
}
}

View File

@@ -12,6 +12,8 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.och.common.module.network.OchCommonServiceCallback
import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager
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.manager.logchainanalytic.OchChainLogManager
import com.mogo.och.common.module.voice.VoiceNotice
import com.mogo.och.taxi.passenger.bean.TaxiPassengerBaseRespBean
@@ -20,14 +22,14 @@ import com.mogo.och.taxi.passenger.ui.model.order.TaxiPassengerOrderStatusEnum
import com.mogo.och.taxi.passenger.network.TaxiPassengerServiceManager
import com.mogo.och.taxi.passenger.utils.TaxiPassengerAnalyticsManager
object AutopilotManager : IMoGoAutopilotStatusListener {
object AutopilotManager : IOchAutopilotStatusListener {
private const val TAG = "AutopilotManager"
private var needSpeakByStartAutopilot = false
init {
CallerAutoPilotStatusListenerManager.addListener(TAG, this)
OchAutoPilotStatusListenerManager.addListener(TAG, this)
}
//检测当前订单
@@ -199,7 +201,6 @@ object AutopilotManager : IMoGoAutopilotStatusListener {
*/
private fun startAutoPilotServiceByPassenger() {
if (TaxiPassengerModel.currentOCHOrder == null) return
//val currentLocation = CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02()
OchChainLogManager.writeChainLog(TaxiPassengerModel.currentOCHOrder.toString(),"action启动自驾状态流转")
TaxiPassengerServiceManager.startAutoPilotServiceByPassenger(
TaxiPassengerModel.currentOCHOrder!!.orderNo,

View File

@@ -14,6 +14,8 @@ import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager
import com.mogo.eagle.core.function.call.setting.CallerSkinModeListenerManager
import com.mogo.eagle.core.function.hmi.ui.setting.ToggleDebugView
import com.mogo.eagle.core.utilcode.util.ActivityUtils
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.manager.debug.DebugViewWatchDogFragment
import com.mogo.och.taxi.passenger.R
import com.mogo.och.taxi.passenger.ui.debug.DebugEvent
@@ -27,7 +29,7 @@ class StatusBarView @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
) : ConstraintLayout(context, attrs, defStyleAttr), IMoGoAutopilotStatusListener {
) : ConstraintLayout(context, attrs, defStyleAttr), IOchAutopilotStatusListener {
companion object {
const val TAG = "StatusBarView"
@@ -69,7 +71,7 @@ class StatusBarView @JvmOverloads constructor(
layoutParams = params
}
CallerAutoPilotStatusListenerManager.addListener(TAG, this)
OchAutoPilotStatusListenerManager.addListener(TAG, this)
iv_biz_icon.setOnClickListener { continuousClick() }
vShowDebugView.setOnLongClickListener {