add func of func biz config

This commit is contained in:
zhongchao
2022-09-14 19:44:20 +08:00
parent 699389a794
commit 19e252334a
8 changed files with 165 additions and 37 deletions

View File

@@ -27,6 +27,8 @@ import com.mogo.eagle.core.data.app.AppConfigInfo
import com.mogo.eagle.core.data.autopilot.*
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.data.constants.MoGoConfig
import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.BIZ_BEAUTY_MODE
import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.BIZ_RAIN_MODE
import com.mogo.eagle.core.data.deva.chain.ChainConstant
import com.mogo.eagle.core.data.deva.scene.SceneModule
import com.mogo.eagle.core.data.enums.TrafficTypeEnum
@@ -36,10 +38,12 @@ import com.mogo.eagle.core.data.obu.ObuStatusInfo
import com.mogo.eagle.core.data.report.ReportEntity
import com.mogo.eagle.core.data.upgrade.UpgradeVersionEntity
import com.mogo.eagle.core.function.api.autopilot.*
import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsFuncConfigListener
import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsListener
import com.mogo.eagle.core.function.api.map.listener.IMoGoMapLocationListener
import com.mogo.eagle.core.function.api.obu.IMoGoObuStatusListener
import com.mogo.eagle.core.function.call.autopilot.*
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsFuncConfigListenerManager
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsListenerManager
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
@@ -94,7 +98,7 @@ class DebugSettingView @JvmOverloads constructor(
IMoGoAutopilotStatusListener, IMoGoAutopilotCarStateListener,
IMoGoMapLocationListener, IMoGoAutopilotIdentifyListener,
IMoGoAutopilotPlanningListener, IMoGoAutopilotCarConfigListener,
IMoGoAutopilotVehicleStateListener {
IMoGoAutopilotVehicleStateListener, IMoGoDevaToolsFuncConfigListener {
private val TAG = "DebugSettingView"
@@ -189,6 +193,11 @@ class DebugSettingView @JvmOverloads constructor(
CallerAutopilotCarConfigListenerManager.addListener(TAG, this)
//添加 车辆底盘数据回调 监听
CallerAutopilotVehicleStateListenerManager.addListener(TAG, this)
//添加 业务配置监听
CallerDevaToolsFuncConfigListenerManager.registerDevaToolsFuncConfigListener(BIZ_BEAUTY_MODE,TAG,this)
CallerDevaToolsFuncConfigListenerManager.registerDevaToolsFuncConfigListener(BIZ_RAIN_MODE,TAG,this)
if (logInfoView != null) {
logInfoView!!.onEnterForeground()
}
@@ -216,9 +225,12 @@ class DebugSettingView @JvmOverloads constructor(
CallerAutopilotPlanningListenerManager.removeListener(TAG)
// 移除 工控机基础信息回调 监听
CallerAutopilotCarConfigListenerManager.removeListener(TAG)
//移除 车辆底盘数据回调 监听
// 移除 车辆底盘数据回调 监听
CallerAutopilotVehicleStateListenerManager.removeListener(TAG)
// 移除 业务配置监听
CallerDevaToolsFuncConfigListenerManager.unRegisterDevaToolsFuncConfigListener(this)
if (logInfoView != null) {
logInfoView!!.onEnterBackground()
}
@@ -1880,6 +1892,17 @@ class DebugSettingView @JvmOverloads constructor(
}
}
override fun updateBizData(type: String,state: Boolean, lock: Boolean, data: String?) {
when(type){
BIZ_BEAUTY_MODE -> {
}
BIZ_RAIN_MODE -> {
}
}
}
override fun onAutopilotCarStateData(gnssInfo: MessagePad.GnssInfo?) {
mGnssInfo = gnssInfo
//实时加速度列表
@@ -2135,4 +2158,5 @@ class DebugSettingView @JvmOverloads constructor(
fun showReportListWindow(show: Boolean)
}
}

View File

@@ -774,6 +774,7 @@ class MogoPrivateObuManager private constructor() {
}
//todo 二期优化此处内容,注解参数
/**
* 构造对应展示数据和场景 根据obu的场景add change delete确定是否展示
*
@@ -833,6 +834,27 @@ class MogoPrivateObuManager private constructor() {
changeVisualAngle = visualAngle
}
}
//前车急刹预警
EventTypeEnum.TYPE_USECASE_ID_EBW.poiType -> {
EventTypeHelper.getEBW(appId){ alert ,tts ->
alertContent = alert
ttsContent = tts
}
}
//前向碰撞预警
EventTypeEnum.TYPE_USECASE_ID_FCW.poiType -> {
EventTypeHelper.getFCW(appId){ alert ,tts ->
alertContent = alert
ttsContent = tts
}
}
//逆向超车预警
EventTypeEnum.TYPE_USECASE_ID_DNPW.poiType -> {
EventTypeHelper.getDNPW(appId){ alert ,tts ->
alertContent = alert
ttsContent = tts
}
}
// 这里处理固定的提示信息,包括了<紧急车辆提醒>
else -> {

View File

@@ -65,7 +65,6 @@ dependencies {
implementation rootProject.ext.dependencies.mogo_core_res
} else {
implementation project(':core:mogo-core-res')
implementation project(':core:mogo-core-data')
api project(":libraries:mogo-adas-data")
}
}

View File

@@ -10,21 +10,21 @@ class FuncBizConfig {
// V2N
const val BIZ_VIP = "BIZ_VIP" // vip变灯
const val BIZ_OPT_LINE = "BIZ_OPT_LINE" // 最优车道 todo @Biz
const val BIZ_VRU = "BIZ_VRU" // 弱势交通 todo @Biz
const val BIZ_VRU_RI = "BIZ_VRU_RI" // 弱势交通逆行 todo @Biz
const val BIZ_HLW = "BIZ_HLW" // 道路提示 todo
const val BIZ_OPT_LINE = "BIZ_OPT_LINE" // 最优车道
const val BIZ_VRU = "BIZ_VRU" // 弱势交通
const val BIZ_VRU_RI = "BIZ_VRU_RI" // 弱势交通逆行
const val BIZ_HLW = "BIZ_HLW" // 道路提示 todo 需求不明确是施工还是所有
// V2I
const val BIZ_IVP_GREEN = "BIZ_IVP_GREEN" // 绿波通行
const val BIZ_IVP = "BIZ_IVP" // 闯红灯预警
const val BIZ_RTS = "BIZ_RTS" // 查看视频流
const val BIZ_SLW = "BIZ_SLW" // 限速提醒 todo @Biz
const val BIZ_SLW = "BIZ_SLW" // 限速提醒
const val BIZ_IVS = "BIZ_IVS" // 车内标识 todo 暂未实现
const val BIZ_TJW = "BIZ_TJW" // 道路拥堵 todo @Biz
const val BIZ_TJW = "BIZ_TJW" // 道路拥堵 todo 需求来源 是从云还是从OBU过来
// V2V
const val BIZ_AVW = "BIZ_AVW" // 异常车辆提醒 todo @Biz
const val BIZ_LCW = "BIZ_LCW" // 变道碰撞预警 todo @Biz
const val BIZ_BSW = "BIZ_BSW" // 盲区碰撞预警 todo @Biz
const val BIZ_AVW = "BIZ_AVW" // 异常车辆提醒
const val BIZ_LCW = "BIZ_LCW" // 变道碰撞预警
const val BIZ_BSW = "BIZ_BSW" // 盲区碰撞预警
const val BIZ_EBW = "BIZ_EBW" // 前车急刹预警
const val BIZ_FCW = "BIZ_FCW" // 前向碰撞预警
const val BIZ_LTA = "BIZ_LTA" // 左转辅助预警
@@ -33,14 +33,13 @@ class FuncBizConfig {
// Foundation
const val BIZ_BEAUTY_MODE = "BIZ_BEAUTY_MODE" // 美化模式
const val BIZ_RAIN_MODE = "BIZ_RAIN_MODE" // 雨天模式
const val BIZ_FULL_LOG = "BIZ_FULL_LOG" // 全量日志
const val BIZ_TRACE_LOG = "BIZ_TRACE_LOG" // 链路日志
const val BIZ_BAG_RECORD = "BIZ_BAG_RECORD" // Bag录制
const val BIZ_WARNING_UPLOAD = "BIZ_WARNING_UPLOAD" // 异常上报
const val BIZ_LIMIT_SPEED_SET = "BIZ_LIMIT_SPEED_SET" // 限速设置
const val BIZ_BYPASS = "BIZ_BYPASS" // 绕障
const val BIZ_AUTOPILOT_LANE_SELECTION = "BIZ_AUTOPILOT_LANE_SELECTION" // 择机变道
const val BIZ_FULL_LOG = "BIZ_FULL_LOG" // 全量日志 todo
const val BIZ_TRACE_LOG = "BIZ_TRACE_LOG" // 链路日志 todo
const val BIZ_BAG_RECORD = "BIZ_BAG_RECORD" // Bag录制 todo
const val BIZ_WARNING_UPLOAD = "BIZ_WARNING_UPLOAD" // 异常上报 todo
const val BIZ_LIMIT_SPEED_SET = "BIZ_LIMIT_SPEED_SET" // 限速设置 todo
const val BIZ_BYPASS = "BIZ_BYPASS" // 绕障 todo 暂未实现
const val BIZ_AUTOPILOT_LANE_SELECTION = "BIZ_AUTOPILOT_LANE_SELECTION" // 择机变道 todo 暂未实现
}
}

View File

@@ -8,7 +8,9 @@ interface IMoGoDevaToolsFuncConfigListener {
/**
* 更新业务数据注意⚠需要由业务方判断具体type业务聚合
* type : biz类型 (FuncBizConfig)
* state: 开启状态
* lock : 锁定状态
* data : json
*/
fun updateBizData(type: String, data: String?)
fun updateBizData(type: String, state: Boolean, lock: Boolean, data: String?)
}

View File

@@ -61,7 +61,7 @@ object CallerDevaToolsFuncConfigListenerManager {
if (key.contains(biz)) {
list.forEach { subBiz ->
val listener = it.value
listener.updateBizData(subBiz.type, subBiz.data)
listener.updateBizData(subBiz.type, subBiz.state, subBiz.lock, subBiz.data)
}
}
}

View File

@@ -4,6 +4,8 @@ import android.view.View
import com.alibaba.android.arouter.launcher.ARouter
import com.mogo.eagle.core.data.bindingcar.IPCUpgradeStateInfo
import com.mogo.eagle.core.data.constants.MoGoFragmentPaths
import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.BIZ_SLW
import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.V2I
import com.mogo.eagle.core.data.enums.WarningDirectionEnum
import com.mogo.eagle.core.data.map.Infrastructure
import com.mogo.eagle.core.data.notice.NoticeNormalData
@@ -12,11 +14,11 @@ import com.mogo.eagle.core.data.report.ReportEntity
import com.mogo.eagle.core.function.api.hmi.IMoGoHmiViewProxy.IViewNotificationProvider
import com.mogo.eagle.core.function.api.hmi.view.IOchBusView
import com.mogo.eagle.core.function.api.hmi.view.IViewLimitingVelocity
import com.mogo.eagle.core.function.api.hmi.view.IViewNotification
import com.mogo.eagle.core.function.api.hmi.view.IViewTrafficLight
import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWaringProvider
import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWarningStatusListener
import com.mogo.eagle.core.function.call.base.CallerBase
import com.zhjt.service_biz.BizConfig
/**
* @author xiaoyuzhou
@@ -75,7 +77,7 @@ object CallerHmiManager : CallerBase() {
/**
* 控制刹车功能
*/
fun setBrakeLightFunction (isOpen: Boolean) {
fun setBrakeLightFunction(isOpen: Boolean) {
waringProviderApi?.setBrakeLightFunction(isOpen)
}
@@ -89,7 +91,7 @@ object CallerHmiManager : CallerBase() {
/**
* 开关DebugView
*/
fun toggleDebugView(){
fun toggleDebugView() {
waringProviderApi?.toggleDebugView()
}
@@ -101,8 +103,24 @@ object CallerHmiManager : CallerBase() {
* @param ttsContent tts语音播报消息
* @param tag tag绑定弹窗的标志
*/
fun showWarningV2X(v2xType: String, alertContent: CharSequence?, ttsContent: String?, tag: String?, listenerIMoGo: IMoGoWarningStatusListener?, playTts: Boolean, expireTime: Long = 5000L) {
waringProviderApi?.showWarningV2X(v2xType, alertContent, ttsContent, tag, listenerIMoGo, playTts, expireTime)
fun showWarningV2X(
v2xType: String,
alertContent: CharSequence?,
ttsContent: String?,
tag: String?,
listenerIMoGo: IMoGoWarningStatusListener?,
playTts: Boolean,
expireTime: Long = 5000L
) {
waringProviderApi?.showWarningV2X(
v2xType,
alertContent,
ttsContent,
tag,
listenerIMoGo,
playTts,
expireTime
)
}
/**
@@ -119,8 +137,8 @@ object CallerHmiManager : CallerBase() {
* @param checkLightId 0-都是默认1-红2-黄3-绿
* @param lightSource 1:云端下发2:自车感知
*/
fun showWarningTrafficLight(checkLightId: Int,lightSource: Int) {
waringProviderApi?.showWarningTrafficLight(checkLightId,lightSource)
fun showWarningTrafficLight(checkLightId: Int, lightSource: Int) {
waringProviderApi?.showWarningTrafficLight(checkLightId, lightSource)
}
/**
@@ -140,7 +158,7 @@ object CallerHmiManager : CallerBase() {
/**
* 关闭红绿灯倒计时
*/
fun disableWarningTrafficLightCountDown(){
fun disableWarningTrafficLightCountDown() {
waringProviderApi?.disableWarningTrafficLightCountDown()
}
@@ -179,6 +197,7 @@ object CallerHmiManager : CallerBase() {
*
* @param limitingSpeed 限速速度
*/
@BizConfig(V2I, "", BIZ_SLW)
fun showLimitingVelocity(limitingSpeed: Int) {
waringProviderApi?.showLimitingVelocity(limitingSpeed)
}
@@ -280,14 +299,14 @@ object CallerHmiManager : CallerBase() {
/**
* 呈现工控机升级确认框
*/
fun showAdUpgradeDialog(images: List<String>,padSn: String,releaseId: String){
fun showAdUpgradeDialog(images: List<String>, padSn: String, releaseId: String) {
waringProviderApi?.showAdUpgradeDialog(images, padSn, releaseId)
}
/**
* 更新工控机下载、升级状态
*/
fun showAdUpgradeStatus(ipcUpgradeStateInfo: IPCUpgradeStateInfo){
fun showAdUpgradeStatus(ipcUpgradeStateInfo: IPCUpgradeStateInfo) {
waringProviderApi?.showAdUpgradeStatus(ipcUpgradeStateInfo)
}
@@ -323,7 +342,7 @@ object CallerHmiManager : CallerBase() {
*注册工控机升级提示圆点View的回调
* @param 提示圆点View
*/
fun registerUpgradeTipsCallback(tipsView:() -> View){
fun registerUpgradeTipsCallback(tipsView: () -> View) {
waringProviderApi?.registerUpgradeTipsCallback(tipsView)
}
@@ -332,7 +351,7 @@ object CallerHmiManager : CallerBase() {
* @param code
* @param msg
*/
fun showDockerRebootResult(code: Int,msg: String){
fun showDockerRebootResult(code: Int, msg: String) {
waringProviderApi?.showDockerRebootResult(code, msg)
}
@@ -366,8 +385,12 @@ object CallerHmiManager : CallerBase() {
* @param warningReportList 提醒级别上报数据列表
* @param reportLevel 1:error级别 2:warning级别
*/
fun showIPCReportWindow(errorReportList: ArrayList<ReportEntity>,warningReportList: ArrayList<ReportEntity>,reportLevel: Int){
waringProviderApi?.showIPCReportWindow(errorReportList,warningReportList,reportLevel)
fun showIPCReportWindow(
errorReportList: ArrayList<ReportEntity>,
warningReportList: ArrayList<ReportEntity>,
reportLevel: Int
) {
waringProviderApi?.showIPCReportWindow(errorReportList, warningReportList, reportLevel)
}
fun showVideoDialog(infList: List<Infrastructure>) {
@@ -378,7 +401,7 @@ object CallerHmiManager : CallerBase() {
* bus出车/收车状态设置
* true : 显示收车; false显示出车
*/
fun changeBusOperationStatus(isOut:Boolean){
fun changeBusOperationStatus(isOut: Boolean) {
waringProviderApi?.changeBusOperationStatus(isOut)
}

View File

@@ -1,13 +1,29 @@
package com.mogo.module.common.enums
import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.BIZ_AVW
import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.BIZ_BSW
import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.BIZ_CLW
import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.BIZ_DNPW
import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.BIZ_EBW
import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.BIZ_FCW
import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.BIZ_LCW
import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.BIZ_LTA
import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.BIZ_OPT_LINE
import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.BIZ_VRU
import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.BIZ_VRU_RI
import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.V2N
import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.V2V
import com.mogo.eagle.core.data.enums.WarningDirectionEnum
import com.mogo.eagle.core.data.enums.isLeft
import com.mogo.eagle.core.data.enums.isRight
import com.zhjt.service_biz.BizConfig
class EventTypeHelper {
companion object {
//变道预警
@BizConfig(V2V, "", BIZ_LCW)
fun getLCW(
appId: Int,
direction: WarningDirectionEnum,
@@ -35,6 +51,8 @@ class EventTypeHelper {
}
}
//车辆失控预警
@BizConfig(V2V, "", BIZ_CLW)
fun getCLW(
appId: Int,
direction: WarningDirectionEnum,
@@ -46,6 +64,8 @@ class EventTypeHelper {
)
}
//左转辅助
@BizConfig(V2V, "", BIZ_LTA)
fun getLTA(appId: Int, data: ((alert: String, tts: String) -> Unit)) {
data.invoke(
EventTypeEnum.getWarningContent(appId.toString()),
@@ -53,6 +73,8 @@ class EventTypeHelper {
)
}
//异常车辆提醒
@BizConfig(V2V, "", BIZ_AVW)
fun getAVW(
appId: Int,
direction: WarningDirectionEnum,
@@ -64,6 +86,8 @@ class EventTypeHelper {
)
}
//盲区预警
@BizConfig(V2V, "", BIZ_BSW)
fun getBSW(
appId: Int,
direction: WarningDirectionEnum,
@@ -94,6 +118,8 @@ class EventTypeHelper {
}
}
//弱势交通碰撞预警
@BizConfig(V2N, "", BIZ_VRU)
fun getVRU(data: ((appId: Int, tts: String, content: String) -> Unit)) {
data.invoke(
EventTypeEnum.TYPE_USECASE_ID_VRUCW_PERSON.poiType.toInt(),
@@ -102,6 +128,8 @@ class EventTypeHelper {
)
}
//弱势交通逆行预警
@BizConfig(V2N, "", BIZ_VRU_RI)
fun getVRURI(data: ((appId: Int, tts: String, content: String) -> Unit)) {
data.invoke(
EventTypeEnum.TYPE_USECASE_ID_VRUCW_PERSON.poiType.toInt(),
@@ -110,6 +138,8 @@ class EventTypeHelper {
)
}
//最优车道
@BizConfig(V2N, "", BIZ_OPT_LINE)
fun getOptLine(data: ((appId: Int, tts: String, content: String) -> Unit)) {
data.invoke(
EventTypeEnum.TYPE_USECASE_OPTIMAL_LANE.poiType.toInt(),
@@ -118,6 +148,7 @@ class EventTypeHelper {
)
}
//前方道路拥堵预警
fun getTJW(data: ((appId: Int, tts: String, content: String) -> Unit)) {
data.invoke(
EventTypeEnum.FOURS_BLOCK_UP.poiType.toInt(),
@@ -125,6 +156,34 @@ class EventTypeHelper {
EventTypeEnum.FOURS_BLOCK_UP.content
)
}
//前车急刹
@BizConfig(V2V, "", BIZ_EBW)
fun getEBW(appId: Int, data: ((tts: String, content: String) -> Unit)) {
data.invoke(
EventTypeEnum.getWarningContent(appId.toString()),
EventTypeEnum.getWarningTts(appId.toString())
)
}
//前向碰撞预警
@BizConfig(V2V, "", BIZ_FCW)
fun getFCW(appId: Int, data: ((tts: String, content: String) -> Unit)) {
data.invoke(
EventTypeEnum.getWarningContent(appId.toString()),
EventTypeEnum.getWarningTts(appId.toString())
)
}
//逆向超车预警
@BizConfig(V2V, "", BIZ_DNPW)
fun getDNPW(appId: Int, data: ((tts: String, content: String) -> Unit)) {
data.invoke(
EventTypeEnum.getWarningContent(appId.toString()),
EventTypeEnum.getWarningTts(appId.toString())
)
}
}
}