Merge branch 'dev_robotaxi-d_250709_8.1.4' into dev_robotaxi-d_250709_8.1.2_advideo
# Conflicts: # gradle.properties
This commit is contained in:
@@ -10,6 +10,8 @@ import com.mogo.eagle.core.utilcode.util.CoordinateUtils
|
||||
import com.mogo.och.bridge.autopilot.location.OchLocationManager
|
||||
import com.mogo.och.bridge.distance.TrajectoryAndDistanceManager
|
||||
import com.mogo.och.bridge.bridge.OchBridgeManager
|
||||
import com.mogo.och.bridge.bridge.OchCollisionRiskManager
|
||||
import com.mogo.och.bridge.bridge.OchPncManager
|
||||
import com.mogo.och.bridge.bridge.OchVlmManager
|
||||
import com.mogo.och.bridge.trajectory.TrajectoryManager
|
||||
import com.mogo.och.common.module.biz.birdge.BridgeService
|
||||
@@ -35,10 +37,9 @@ class BridgeProvider : BridgeService, CallerBase<BridgeListener>() {
|
||||
|
||||
// 车前引导线+预测数据
|
||||
OchBridgeManager.load()
|
||||
|
||||
// if(EnvManager.isT1T2Passenger()){
|
||||
OchVlmManager.load()
|
||||
// }
|
||||
OchVlmManager.load()
|
||||
OchPncManager.load()
|
||||
OchCollisionRiskManager.load()
|
||||
|
||||
TrajectoryManager.load()
|
||||
}
|
||||
@@ -114,5 +115,17 @@ class BridgeProvider : BridgeService, CallerBase<BridgeListener>() {
|
||||
}
|
||||
}
|
||||
|
||||
fun invokePncData(pncAction:String){
|
||||
M_LISTENERS.forEach {
|
||||
it.value.onPncInfoListener(pncAction)
|
||||
}
|
||||
}
|
||||
|
||||
fun invokeCollisionRisk(){
|
||||
M_LISTENERS.forEach {
|
||||
it.value.onCollisionRisk()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -46,4 +46,12 @@ object BridgeServiceManager {
|
||||
this.bridgeService?.inVokeNdeData(title,desc,sortedList)
|
||||
}
|
||||
|
||||
fun invokePncData(pncAction:String){
|
||||
this.bridgeService?.invokePncData(pncAction)
|
||||
}
|
||||
|
||||
fun collisionRisk() {
|
||||
this.bridgeService?.invokeCollisionRisk()
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.mogo.och.bridge.bridge
|
||||
|
||||
import com.mogo.eagle.core.function.api.devatools.ICollisionRiskListener
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerCollisionRiskManager
|
||||
import com.mogo.och.bridge.BridgeServiceManager
|
||||
|
||||
object OchCollisionRiskManager : ICollisionRiskListener {
|
||||
|
||||
private const val TAG = "OchCollisionRiskManager"
|
||||
fun load() {
|
||||
CallerCollisionRiskManager.addListener(TAG, this)
|
||||
}
|
||||
|
||||
fun release() {
|
||||
CallerCollisionRiskManager.removeListener(TAG)
|
||||
}
|
||||
|
||||
override fun onCollisionRisk() {
|
||||
BridgeServiceManager.collisionRisk()
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
package com.mogo.och.bridge.bridge
|
||||
|
||||
import com.mogo.eagle.core.data.autopilot.pnc.PncActionsHelper
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotPlanningActionsListener
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerPlanningActionsListenerManager
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_OCHCOMMON
|
||||
import com.mogo.och.bridge.BridgeServiceManager
|
||||
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
|
||||
import kotlin.properties.Delegates
|
||||
import mogo.telematics.pad.MessagePad
|
||||
|
||||
object OchPncManager : IMoGoAutopilotPlanningActionsListener {
|
||||
|
||||
private val TAG = "${M_OCHCOMMON}OchPncManager"
|
||||
|
||||
private var pncAction: String by Delegates.observable("") { _, oldValue, newValue ->
|
||||
if (oldValue != newValue) {
|
||||
OchChainLogManager.writeCHainLogBridge("pnc消息","oldPnc:$oldValue newPnc:$newValue")
|
||||
BridgeServiceManager.invokePncData(newValue)
|
||||
}
|
||||
}
|
||||
|
||||
fun load(){
|
||||
CallerPlanningActionsListenerManager.addListener(TAG, this)
|
||||
}
|
||||
|
||||
fun release(){
|
||||
CallerPlanningActionsListenerManager.removeListener(TAG)
|
||||
}
|
||||
|
||||
override fun pncActions(planningActionMsg: MessagePad.PlanningActionMsg) {
|
||||
planningActionMsg.actionMsg?.let {
|
||||
try {
|
||||
pncAction = PncActionsHelper.getAction(
|
||||
it.drivingState.number,
|
||||
it.drivingAction.number
|
||||
)
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
}
|
||||
planningActionMsg.v2NActionMsgList?.forEach { v2nAction ->
|
||||
pncAction = PncActionsHelper.getAction(
|
||||
v2nAction.drivingState.number,
|
||||
v2nAction.drivingAction.number
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -28,6 +28,7 @@ import com.mogo.eagle.core.function.call.autopilot.CallerChassisStatesListenerMa
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerPlanningActionsListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerPlanningRottingListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerVlmManager
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerCollisionRiskManager
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager
|
||||
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
|
||||
import com.mogo.eagle.core.function.call.map.CallerMapRomaListener
|
||||
@@ -80,8 +81,12 @@ object DebugDataDispatch {
|
||||
const val mediaMusic = "mediaAndMusic"
|
||||
const val vlmMessage = "vlmMessage"
|
||||
const val vlmImage = "vlmImage"
|
||||
const val pncAction = "pncAction"
|
||||
const val collisionRisk = "CollisionRisk"
|
||||
|
||||
// adb shell am broadcast -a com.mogo.launcher.debug -f 0x011000000 --es type "location" --es path "1111/11111"
|
||||
// adb shell am broadcast -a com.mogo.launcher.debug -f 0x011000000 --es type "pncAction"
|
||||
// adb shell am broadcast -a com.mogo.launcher.debug -f 0x011000000 --es type "CollisionRisk"
|
||||
// adb shell am broadcast -a com.mogo.launcher.debug -f 0x011000000 --es type "globalPath" --es path "sy73.json"
|
||||
// adb shell am broadcast -a com.mogo.launcher.debug -f 0x011000000 --es type "carDoor" --ei doorPostion 1 --ei doorStatus 1
|
||||
// adb shell am broadcast -a com.mogo.launcher.debug -f 0x011000000 --es type "trunAroud" --es code "IMAP_TRA_LOADED"
|
||||
@@ -112,6 +117,18 @@ object DebugDataDispatch {
|
||||
|
||||
}
|
||||
when (type) {
|
||||
collisionRisk -> {
|
||||
CallerCollisionRiskManager.invokeCollisionRisk()
|
||||
}
|
||||
pncAction -> {
|
||||
val time = intent.getFloatExtra("action",0f)
|
||||
val newBuilder = MessagePad.PlanningActionMsg.newBuilder()
|
||||
val actionMsg = MessagePad.DrivingActionMsg.newBuilder()
|
||||
actionMsg.drivingAction = MessagePad.DrivingAction.DRIVING_ACTION_STATE_ONE
|
||||
actionMsg.drivingState = MessagePad.DrivingState.PULL_OVER
|
||||
newBuilder.actionMsg = actionMsg.build()
|
||||
CallerPlanningActionsListenerManager.invokePNCActions(newBuilder.build())
|
||||
}
|
||||
vlmMessage -> {
|
||||
val time = intent.getFloatExtra("time",0f)
|
||||
val id = intent.getIntExtra("id",0)
|
||||
|
||||
@@ -22,4 +22,8 @@ interface BridgeListener {
|
||||
fun onVlmDataListener(vlmData: VlmData){}
|
||||
|
||||
fun onNdeDataListener(title: String, desc: String, sortedList: List<RoadMsg>) {}
|
||||
|
||||
fun onPncInfoListener(pncAction: String) {}
|
||||
|
||||
fun onCollisionRisk() {}
|
||||
}
|
||||
@@ -80,5 +80,7 @@ class OchCommonConst {
|
||||
const val Charter_AVERAGE_SPEED = 15
|
||||
//T1T2的平均里程:38km/h
|
||||
const val TAXI_AVERAGE_SPEED = 38
|
||||
|
||||
const val PNC_ACTION_ENTERSTATION = "正在进站"
|
||||
}
|
||||
}
|
||||
@@ -66,6 +66,13 @@ object OchChainLogManager {
|
||||
|
||||
const val EVENT_KEY_INFO_VLM = "analytics_event_och_vlm"
|
||||
|
||||
const val EVENT_KEY_INFO_BRIDGE = "analytics_event_och_bridge"
|
||||
|
||||
|
||||
fun writeCHainLogBridge(title: String,info: String) {
|
||||
writeChainLog(title, info, false, EVENT_KEY_INFO_BRIDGE)
|
||||
}
|
||||
|
||||
fun writeChainLogEye(title: String, info: String) {
|
||||
writeChainLog(title, info, true, EVENT_KEY_INFO_CALL_EYE)
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
<string name="offline_dialog_tips">您确认要结束任务吗?</string>
|
||||
|
||||
<string name="m2_voice_out_arrive_station">蘑菇小巴正在进站</string>
|
||||
<string name="m2_voice_out_arrive_station">欢迎乘坐蘑菇小巴</string>
|
||||
<string name="m2_voice_out_autopilot_start_in15m">蘑菇小巴出发咯</string>
|
||||
|
||||
<string name="go_login_count_down">当前网络良好(%1$s)</string>
|
||||
|
||||
@@ -21,6 +21,9 @@ import com.mogo.och.bridge.autopilot.autopilot.bean.ArrivedStation
|
||||
import com.mogo.och.bridge.autopilot.line.ILineCallback
|
||||
import com.mogo.och.bridge.autopilot.line.LineManager
|
||||
import com.mogo.och.bridge.autopilot.location.OchLocationManager
|
||||
import com.mogo.och.common.module.biz.birdge.BridgeListener
|
||||
import com.mogo.och.common.module.biz.birdge.BridgeManager
|
||||
import com.mogo.och.common.module.constant.OchCommonConst
|
||||
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
|
||||
import com.mogo.och.common.module.manager.loop.BizLoopManager
|
||||
import com.mogo.och.common.module.manager.loop.LoopInfo
|
||||
@@ -78,6 +81,8 @@ object OrderModel {
|
||||
|
||||
OchAutoPilotStatusListenerManager.addListener(TAG, ochAutopilotStatusListener)
|
||||
|
||||
BridgeManager.addBridgeListener(TAG,bridgeListener)
|
||||
|
||||
LineManager.addListener(TAG,arriveStationBySearch)
|
||||
|
||||
OchTransform.addListener(TAG,ochTransform)
|
||||
@@ -96,11 +101,23 @@ object OrderModel {
|
||||
TicketModel.release()
|
||||
|
||||
OchAutoPilotStatusListenerManager.removeListener(TAG)
|
||||
BridgeManager.removeBridgeListener(LineModel.TAG)
|
||||
|
||||
LineManager.removeListener(TAG)
|
||||
OchTransform.removeListener(TAG)
|
||||
}
|
||||
|
||||
private val bridgeListener = object : BridgeListener{
|
||||
override fun onPncInfoListener(pncAction: String) {
|
||||
when (pncAction) {
|
||||
OchCommonConst.PNC_ACTION_ENTERSTATION -> {
|
||||
ShuttleVoiceManager.arrivedStationOut(ResourcesUtils.getString(R.string.m2_voice_out_arriving_station))
|
||||
}
|
||||
else -> {}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private val ochAutopilotStatusListener = object : IOchAutopilotStatusListener{
|
||||
override fun onAutopilotArriveAtStation(arrivedStation: ArrivedStation?) {
|
||||
e(TAG, "行程日志-onAutopilotArriveAtStation arrive")
|
||||
|
||||
@@ -4,9 +4,14 @@ import com.mogo.commons.AbsMogoApplication
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS
|
||||
import com.mogo.eagle.core.utilcode.util.GsonUtils
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
import com.mogo.och.common.module.biz.login.LoginStatusManager
|
||||
import com.mogo.och.bridge.autopilot.line.LineManager
|
||||
import com.mogo.och.bridge.distance.IDistanceListener
|
||||
import com.mogo.och.bridge.distance.TrajectoryAndDistanceManager
|
||||
import com.mogo.och.common.module.biz.birdge.BridgeListener
|
||||
import com.mogo.och.common.module.biz.birdge.BridgeManager
|
||||
import com.mogo.och.common.module.manager.socket.cloud.AbnormalFactorsLoopManager
|
||||
import com.mogo.och.common.module.manager.socket.cloud.OCHSocketMessageManager
|
||||
import com.mogo.och.common.module.manager.socket.cloud.action.OperateAction
|
||||
@@ -17,6 +22,7 @@ import com.mogo.och.common.module.manager.socket.lan.bean.BusinessType
|
||||
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.utils.ResourcesUtils
|
||||
import com.mogo.och.common.module.voice.VoiceNotice.showNotice
|
||||
import com.mogo.och.data.bean.BusRoutesResult
|
||||
import com.mogo.och.data.bean.BusTransferData
|
||||
import com.mogo.och.shuttle.weaknet.R
|
||||
@@ -31,6 +37,32 @@ object ThirdDeviceData {
|
||||
@JvmStatic
|
||||
val busRoutesResult: BusRoutesResult = BusRoutesResult()
|
||||
|
||||
private val bridgeListener: BridgeListener = object : BridgeListener {
|
||||
override fun onCollisionRisk() {
|
||||
ShuttleVoiceManager.collisionRisk()
|
||||
}
|
||||
}
|
||||
private val trajectoryListener: IDistanceListener = object : IDistanceListener {
|
||||
override fun distanceCallback(distance: Float) {
|
||||
// 小于200m 播报站点介绍
|
||||
if (distance < 200) {
|
||||
LineManager.getStations { start, end ->
|
||||
if (!end.isPlayTts) {
|
||||
end.isPlayTts = true
|
||||
if (StringUtils.isEmpty(end.introduction)) {
|
||||
if(!StringUtils.isEmpty(end.name)){
|
||||
val message = "前方到站:${end.name},请下车的乘客做好准备"
|
||||
ShuttleVoiceManager.leave200Distance(message)
|
||||
}
|
||||
}else{
|
||||
ShuttleVoiceManager.leave200Distance(end.introduction)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun init() {
|
||||
//监听运营消息
|
||||
OCHSocketMessageManager.registerSocketMessageListener(
|
||||
@@ -51,6 +83,8 @@ object ThirdDeviceData {
|
||||
DPMsgType.TYPE_TASK_DETAILS.type,
|
||||
taskDetailsMsgListener
|
||||
)
|
||||
TrajectoryAndDistanceManager.addDistanceListener(TAG,trajectoryListener)
|
||||
BridgeManager.addBridgeListener(TAG,bridgeListener)
|
||||
}
|
||||
|
||||
fun release() {
|
||||
@@ -61,6 +95,10 @@ object ThirdDeviceData {
|
||||
|
||||
AbnormalFactorsLoopManager.stopLoopAbnormalFactors()
|
||||
|
||||
TrajectoryAndDistanceManager.removeListener(TAG)
|
||||
|
||||
BridgeManager.removeBridgeListener(TAG)
|
||||
|
||||
//监听乘客屏发来的消息
|
||||
LanSocketManager.unRegisterSocketMessageListener(
|
||||
DPMsgType.TYPE_TASK_DETAILS.type,
|
||||
|
||||
@@ -47,20 +47,11 @@ object ShuttleVoiceManager {
|
||||
VoiceNotice.showNotice(list, AIAssist.LEVEL1,null)
|
||||
} else if (AppIdentityModeUtils.isB2(FunctionBuildConfig.appIdentityMode)) {
|
||||
siteNameCN?.let {
|
||||
sendArrivedStationToClient(it)
|
||||
sendPassengerPlay( ResourcesUtils.getString(R.string.bus_arrived_station_tip,it))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun sendArrivedStationToClient(arriveStation: String) {
|
||||
val arrivedMsg = AppConnectMsg(
|
||||
isViewShow = false,
|
||||
isPlay = true,
|
||||
msg = ResourcesUtils.getString(R.string.bus_arrived_station_tip,arriveStation),
|
||||
)
|
||||
LanSocketManager.sendMsgToClient(arrivedMsg)
|
||||
}
|
||||
|
||||
fun leaveStationBus(siteNameCN: String?, siteNameKR: String?) {
|
||||
val list: MutableList<LangTtsEntity> = ArrayList()
|
||||
val context = AbsMogoApplication.getApp()
|
||||
@@ -88,20 +79,11 @@ object ShuttleVoiceManager {
|
||||
VoiceNotice.showNotice(list, AIAssist.LEVEL1,null)
|
||||
} else if (AppIdentityModeUtils.isB2(FunctionBuildConfig.appIdentityMode)) {
|
||||
siteNameCN?.let {
|
||||
sendStartStationToClient(it)
|
||||
sendPassengerPlay(ResourcesUtils.getString(R.string.bus_leave_station_tip,it))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun sendStartStationToClient(nextStation: String) {
|
||||
val startMsg = AppConnectMsg(
|
||||
isViewShow = false,
|
||||
isPlay = true,
|
||||
msg = ResourcesUtils.getString(R.string.bus_leave_station_tip,nextStation),
|
||||
)
|
||||
LanSocketManager.sendMsgToClient(startMsg)
|
||||
}
|
||||
|
||||
fun endOrderBus() {
|
||||
val context = AbsMogoApplication.getApp()
|
||||
val list: MutableList<LangTtsEntity> = ArrayList()
|
||||
@@ -115,40 +97,20 @@ object ShuttleVoiceManager {
|
||||
if (AppIdentityModeUtils.isB1(FunctionBuildConfig.appIdentityMode)) {
|
||||
VoiceNotice.showNotice(list, AIAssist.LEVEL0,null)
|
||||
} else if (AppIdentityModeUtils.isB2(FunctionBuildConfig.appIdentityMode)) {
|
||||
sendEndTaskToClient()
|
||||
sendPassengerPlay(SkinResources.getInstance().getString(R.string.bus_end_task_tip))
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private fun sendEndTaskToClient() {
|
||||
val endMsg = AppConnectMsg(
|
||||
isViewShow = false,
|
||||
isPlay = true,
|
||||
msg = SkinResources.getInstance().getString(R.string.bus_end_task_tip),
|
||||
)
|
||||
LanSocketManager.sendMsgToClient(endMsg)
|
||||
}
|
||||
|
||||
|
||||
fun writeOffCount(successNum:Int){
|
||||
if(successNum<=1){
|
||||
VoiceNotice.showNotice("核验通过", AIAssist.LEVEL3)
|
||||
//sendWriteOffNumToClient("核验通过")
|
||||
}else{
|
||||
VoiceNotice.showNotice("$successNum 人核验通过", AIAssist.LEVEL3)
|
||||
//sendWriteOffNumToClient("$successNum 人核验通过")
|
||||
}
|
||||
}
|
||||
|
||||
private fun sendWriteOffNumToClient(msg: String?) {
|
||||
val passengerMsg = AppConnectMsg(
|
||||
isViewShow = false,
|
||||
isPlay = true,
|
||||
msg = msg!!,
|
||||
)
|
||||
LanSocketManager.sendMsgToClient(passengerMsg)
|
||||
}
|
||||
|
||||
|
||||
// 距离发车还有1分钟
|
||||
fun showLeafTime(tips: String) {
|
||||
@@ -160,4 +122,33 @@ object ShuttleVoiceManager {
|
||||
VoiceNotice.showNotice(reaseon, AIAssist.LEVEL3)
|
||||
}
|
||||
|
||||
fun leave200Distance(message:String){
|
||||
if (AppIdentityModeUtils.isB1(FunctionBuildConfig.appIdentityMode)) {
|
||||
VoiceNotice.showNotice(message, AIAssist.LEVEL0)
|
||||
} else if (AppIdentityModeUtils.isB2(FunctionBuildConfig.appIdentityMode)) {
|
||||
sendPassengerPlay(message)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
fun collisionRisk() {
|
||||
val message = ResourcesUtils.getString(R.string.m2_voice_collision_risk)
|
||||
if (AppIdentityModeUtils.isB1(FunctionBuildConfig.appIdentityMode)) {
|
||||
VoiceNotice.showNotice(message, AIAssist.LEVEL0)
|
||||
} else if (AppIdentityModeUtils.isB2(FunctionBuildConfig.appIdentityMode)) {
|
||||
sendPassengerPlay(message)
|
||||
arrivedStationOut("车辆遇到紧急情况,正在安全处理")
|
||||
}
|
||||
}
|
||||
|
||||
private fun sendPassengerPlay(msg:String){
|
||||
val passengerMsg = AppConnectMsg(
|
||||
isViewShow = false,
|
||||
isPlay = true,
|
||||
msg = msg,
|
||||
)
|
||||
LanSocketManager.sendMsgToClient(passengerMsg)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -46,8 +46,10 @@
|
||||
<string name="bus_dialog_confirm">确认</string>
|
||||
<string name="bus_dialog_cancel">取消</string>
|
||||
|
||||
<string name="m2_voice_out_arrive_station">蘑菇小巴正在进站</string>
|
||||
<string name="m2_voice_out_arrive_station">欢迎乘坐蘑菇小巴</string>
|
||||
<string name="m2_voice_out_arriving_station">蘑菇小巴正在进站</string>
|
||||
<string name="m2_voice_out_autopilot_start_in15m">蘑菇小巴出发咯</string>
|
||||
<string name="m2_voice_collision_risk">尊敬的乘客,车辆遇到紧急情况,正在安全处理,请坐稳扶好,听从指引,感谢配合</string>
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -174,16 +174,6 @@ object CommonModel {
|
||||
}
|
||||
}
|
||||
}
|
||||
// 小于200m 播报站点介绍
|
||||
if (distance < 200) {
|
||||
val stationNext = mStations[mNextStationIndex]
|
||||
if (!stationNext.isPlayTts) {
|
||||
if (!StringUtils.isEmpty(stationNext.introduction)) {
|
||||
showNotice(stationNext.introduction)
|
||||
stationNext.isPlayTts = true
|
||||
}
|
||||
}
|
||||
}
|
||||
mCommonCallbackList.forEach {
|
||||
it.value.updateRemainMT(
|
||||
distance.toLong(),
|
||||
|
||||
@@ -52,6 +52,7 @@ import com.mogo.och.unmanned.taxi.ui.task.TaxiTaskModel
|
||||
import com.mogo.och.unmanned.taxi.ui.task.cancleorder.CancleOrderView
|
||||
import com.mogo.och.unmanned.taxi.ui.task.itinerayswitch.ItinerarySwitchModel
|
||||
import com.mogo.och.unmanned.taxi.utils.TaskUtils
|
||||
import com.mogo.och.unmanned.taxi.utils.TaxiTrajectoryManager
|
||||
//演练单标识
|
||||
import kotlinx.android.synthetic.main.unmanned_itinerary_current.view.aciv_task_type_exercise
|
||||
// 距离目的地距离和剩余时间
|
||||
@@ -149,6 +150,9 @@ class ItineraryCurrentView: ConstraintLayout, ItineraryCurrentModel.SwtichLineVi
|
||||
}
|
||||
|
||||
private fun initViewModelObserver() {
|
||||
include_empty.onClick {
|
||||
TaxiTrajectoryManager.syncTrajectoryInfo()
|
||||
}
|
||||
viewModel?.sendUiIntent(TaskUiIntent.StartTaskWithOrderLooper)
|
||||
|
||||
//监听返回的数据状态
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.mogo.eagle.core.data.msgbox.MsgBoxType
|
||||
import com.mogo.eagle.core.data.deva.report.ReportEntity
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerCollisionRiskManager
|
||||
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager
|
||||
import com.mogo.eagle.core.utilcode.util.TimeUtils
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
@@ -84,6 +85,11 @@ class IPCReportManager : IMoGoAutopilotStatusListener {
|
||||
*/
|
||||
override fun onAutopilotGuardian(guardianInfo: MogoReportMsg.MogoReportMessage?) {
|
||||
guardianInfo?.let{
|
||||
//8.1.4版本异常声光电提醒
|
||||
if(it.code == MogoReport.Code.Info.IMAP.CONTROLLER_START_FM_COMMAND){
|
||||
CallerCollisionRiskManager.invokeCollisionRisk()
|
||||
}
|
||||
|
||||
if(it.resultList.contains(RESULT_AUTOPILOT_DISABLE)
|
||||
|| it.resultList.contains(RESULT_AUTOPILOT_SYSTEM_UNSTARTED)
|
||||
|| it.resultList.contains(RESULT_REMOTEPILOT_DISABLE)
|
||||
@@ -96,7 +102,7 @@ class IPCReportManager : IMoGoAutopilotStatusListener {
|
||||
|| it.code == MogoReport.Code.Info.IMAP.EXIT_AUTOPILOT
|
||||
|| it.code == MogoReport.Code.Info.IMAP.ENTRY_REMOTEPILOT
|
||||
|| it.code == MogoReport.Code.Info.IMAP.EXIT_REMOTEPILOT
|
||||
|| it.code == MogoReport.Code.Info.IMAP.CONTROLLER_START_FM_COMMAND
|
||||
// || it.code == MogoReport.Code.Info.IMAP.CONTROLLER_START_FM_COMMAND
|
||||
|| it.code == MogoReport.Code.Info.IMAP.CONTROLLER_FINISH_FM_COMMAND
|
||||
|| it.code == MogoReport.Code.Info.IMAP.CONTROLLER_ABORT_FM_COMMAND
|
||||
|| it.code == MogoReport.Code.Info.IMAP.PLANNING_START_FM_COMMAND
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.mogo.eagle.core.function.api.devatools
|
||||
|
||||
/**
|
||||
* 814异常声光电上报提醒
|
||||
*/
|
||||
interface ICollisionRiskListener {
|
||||
|
||||
/**
|
||||
* 声光电异常提醒
|
||||
*/
|
||||
fun onCollisionRisk(){}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.mogo.eagle.core.function.call.devatools
|
||||
|
||||
import com.mogo.eagle.core.function.api.devatools.ICollisionRiskListener
|
||||
import com.mogo.eagle.core.function.call.base.CallerBase
|
||||
|
||||
/**
|
||||
* 814异常声光电上报提醒
|
||||
*/
|
||||
object CallerCollisionRiskManager: CallerBase<ICollisionRiskListener>() {
|
||||
|
||||
/**
|
||||
* 声光电异常提醒
|
||||
*/
|
||||
fun invokeCollisionRisk(){
|
||||
M_LISTENERS.forEach{
|
||||
val listener = it.value
|
||||
listener.onCollisionRisk()
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user