[merge2master]

This commit is contained in:
yangyakun
2023-03-28 17:32:58 +08:00
2838 changed files with 73081 additions and 69058 deletions

View File

@@ -1,7 +1,9 @@
package com.mogo.eagle.core.function.api.autopilot
/**
* pnc actions 决策 驾驶的意图
*/
interface IMoGoAutopilotActionsListener {
/**

View File

@@ -1,18 +0,0 @@
package com.mogo.eagle.core.function.api.autopilot
import mogo.telematics.pad.MessagePad
/**
*@author xiaoyuzhou
*@date 2021/11/2 2:06 下午
* 车辆状态&定位 数据 数据 回调监听
*/
interface IMoGoAutopilotCarStateListener {
/**
* 车辆状态&定位 数据
*
* @param gnssInfo
*/
fun onAutopilotCarStateData(gnssInfo: MessagePad.GnssInfo?)
}

View File

@@ -2,8 +2,8 @@ package com.mogo.eagle.core.function.api.autopilot
import chassis.SpecialVehicleTaskCmdOuterClass
import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters
import com.mogo.eagle.core.data.badcase.BagManagerEntity
import com.mogo.eagle.core.data.trafficlight.TrafficLightResult
import com.mogo.eagle.core.data.deva.badcase.BagManagerEntity
import com.mogo.eagle.core.data.biz.trafficlight.TrafficLightResult
import com.mogo.eagle.core.function.api.base.IMoGoFunctionServerProvider
/**
@@ -11,7 +11,7 @@ import com.mogo.eagle.core.function.api.base.IMoGoFunctionServerProvider
* @date 2021/9/22 8:27 下午
* 自动驾驶节点
*/
interface IMoGoAutopilotProvider : IMoGoFunctionServerProvider {
interface IMoGoAutopilotControlProvider : IMoGoFunctionServerProvider {
/**
* 重新连接自动驾驶域控制器指定IP地址
*
@@ -290,4 +290,35 @@ interface IMoGoAutopilotProvider : IMoGoFunctionServerProvider {
* 福田清扫车业务指令下发
*/
fun sendSweeperFuTianTaskCmd(fuTianTaskCmd: SpecialVehicleTaskCmdOuterClass.RoboSweeperFuTianTaskCmd)
/**
* 打开点云绘制
*
* @param isDrawPointCloud 是否绘制点云
*/
fun setIsDrawPointCloud(isDrawPointCloud: Boolean)
fun sendRoboBusJinlvM1FrontDoorCmd(switchCmd: Int): Boolean
fun sendRoboBusJinlvM1AirConditionerCmd(
switchCmd: Int,
modeCmd: Int,
windSpeedCmd: Int,
temperatureCmd: Int
): Boolean
fun sendRoboBusJinlvM1HeaderCmd(switchCmd: Int, windSpeedCmd: Int): Boolean
fun sendRoboBusJinlvM1MainLamp1Cmd(switchCmd: Int): Boolean
fun sendRoboBusJinlvM1MainLamp2Cmd(switchCmd: Int): Boolean
/**
* 车门控制
*/
fun sendRoboBusJinlvM1SmallLampCmd(switchCmd: Int): Boolean
fun sendRoboBusJinlvM1TaskCmd(roboBusJinlvM1Cmd: SpecialVehicleTaskCmdOuterClass.RoboBusJinlvM1Cmd): Boolean
fun sendPlanningCmd(cmd: Int): Boolean
}

View File

@@ -1,8 +1,5 @@
package com.mogo.eagle.core.function.api.autopilot
import mogo.telematics.pad.MessagePad
import rule_segement.MogoPointCloudOuterClass
/**
* @author xiaoyuzhou

View File

@@ -1,8 +1,10 @@
package com.mogo.eagle.core.function.api.autopilot
import com.zhidao.support.adas.high.bean.AutopilotStatistics
import com.zhjt.mogo.adas.data.bean.AutopilotStatistics
/**
* 启动自动驾驶状态统计监听
*/
interface IMoGoAutopilotStatisticsListener {
/**

View File

@@ -41,7 +41,6 @@ interface IMoGoAutopilotStatusListener {
*/
fun onAutopilotIpcConnectStatusChanged(status: Int, reason: String?) {}
/**
* 工控机主动查询 AdasManager#sendStatusQueryReq(),后会收到如下回调
*/

View File

@@ -1,60 +1,13 @@
package com.mogo.eagle.core.function.api.autopilot
import chassis.Chassis
import chassis.VehicleStateOuterClass
/**
* 车辆底盘 数据 回调监听
*/
interface IMoGoAutopilotVehicleStateListener {
/**
* 车辆转向灯 数据
* @param lightSwitch
*/
fun onAutopilotLightSwitchData(lightSwitch: Chassis.LightSwitch?)
/**
* 车辆刹车灯 数据
* @param brakeLight
*/
fun onAutopilotBrakeLightData(brakeLight: Boolean)
/**
* 车辆方向盘转向角回调
* @param steering 方向盘转向角
*/
fun onAutopilotSteeringData(steering: Float)
/**
* 车辆挂挡档位
* @param gear 档位
*/
fun onAutopilotGearData(gear: Chassis.GearPosition)
/**
* 没有自车状态数据
*/
fun onAutopilotDataException(timestamp: Long){}
/**
* 车辆加速度
*/
fun onAutopilotAcc(carAcc: Float)
/**
* 油门
*/
fun onAutopilotThrottle(throttle: Float)
/**
* 刹车
*/
fun onAutopilotBrake(brake: Float)
/**
* 清扫车(福田)清扫控制系统状态
*/
fun onSweeperFutianCleanSystemState(cleanSystemState: VehicleStateOuterClass.SweeperFuTianCleanSystemState)
fun onAutopilotDataException(timestamp: Long) {}
}

View File

@@ -0,0 +1,13 @@
package com.mogo.eagle.core.function.api.autopilot
import chassis.ChassisStatesOuterClass
/**
* 电池管理系统
*/
interface IMoGoBatteryManagementSystemListener {
/**
* 电池管理系统
*/
fun onBatteryManagementSystemStates(states: ChassisStatesOuterClass.BMSSystemStates)
}

View File

@@ -0,0 +1,13 @@
package com.mogo.eagle.core.function.api.autopilot
/**
* 车辆加速度 数据 回调监听
*/
interface IMoGoChassisAccStateListener {
/**
* 车辆加速度
*/
fun onAutopilotAcc(carAcc: Float)
}

View File

@@ -0,0 +1,12 @@
package com.mogo.eagle.core.function.api.autopilot
/**
* 刹车 数据 回调监听
*/
interface IMoGoChassisBrakeStateListener {
/**
* 刹车
*/
fun onAutopilotBrake(brake: Float)
}

View File

@@ -0,0 +1,16 @@
package com.mogo.eagle.core.function.api.autopilot
import chassis.Chassis
/**
* 车辆挂档档位 数据 回调监听
*/
interface IMoGoChassisGearStateListener {
/**
* 车辆挂档档位
* @param gear 档位
*/
fun onAutopilotGearData(gear: Chassis.GearPosition)
}

View File

@@ -0,0 +1,18 @@
package com.mogo.eagle.core.function.api.autopilot
import mogo.telematics.pad.MessagePad
/**
* 车辆定位 WGS84 坐标系-高精度坐标系 数据 回调监听
* @author donghongyu
* @date 2023/1/11 2:06 下午
*/
interface IMoGoChassisGnssListener {
/**
* 车辆定位 GCJ02 坐标系-高德坐标系 数据
*
* @param gnssInfo
*/
fun onChassisGnss(gnssInfo: MessagePad.GnssInfo)
}

View File

@@ -0,0 +1,22 @@
package com.mogo.eagle.core.function.api.autopilot
import chassis.Chassis
/**
* 车辆底盘 灯光数据 回调监听
*/
interface IMoGoChassisLamplightListener {
/**
* 车辆转向灯 数据
* @param lightSwitch
*/
fun onAutopilotLightSwitchData(lightSwitch: Chassis.LightSwitch?){}
/**
* 车辆刹车灯 数据
* @param brakeLight
*/
fun onAutopilotBrakeLightData(brakeLight: Boolean){}
}

View File

@@ -0,0 +1,18 @@
package com.mogo.eagle.core.function.api.autopilot
import com.mogo.eagle.core.data.map.MogoLocation
/**
* @author donghongyu
* @date 2023/1/11 2:06 下午
* 车辆定位 GCJ02 坐标系-高德坐标系 数据 回调监听
*/
interface IMoGoChassisLocationGCJ02Listener {
/**
* 车辆定位 GCJ02 坐标系-高德坐标系 数据
*
* @param gnssInfo
*/
fun onChassisLocationGCJ02(mogoLocation: MogoLocation?)
}

View File

@@ -0,0 +1,18 @@
package com.mogo.eagle.core.function.api.autopilot
import com.mogo.eagle.core.data.map.MogoLocation
/**
* 车辆定位 WGS84 坐标系-高精度坐标系 数据 回调监听
* @author donghongyu
* @date 2023/1/11 2:06 下午
*/
interface IMoGoChassisLocationWGS84Listener {
/**
* 车辆定位 WGS84 坐标系-高精度坐标系 数据
*
* @param gnssInfo
*/
fun onChassisLocationWGS84(gnssInfo: MogoLocation)
}

View File

@@ -0,0 +1,14 @@
package com.mogo.eagle.core.function.api.autopilot
/**
* 车辆方向盘转向角 数据 回调监听
*/
interface IMoGoChassisSteeringStateListener {
/**
* 车辆方向盘转向角回调
* @param steering 方向盘转向角
*/
fun onAutopilotSteeringData(steering: Float)
}

View File

@@ -0,0 +1,12 @@
package com.mogo.eagle.core.function.api.autopilot
/**
* 油门 数据 回调监听
*/
interface IMoGoChassisThrottleStateListener {
/**
* 油门
*/
fun onAutopilotThrottle(throttle: Float)
}

View File

@@ -3,15 +3,9 @@ package com.mogo.eagle.core.function.api.autopilot
import mogo.telematics.pad.MessagePad
/**
* 自动驾驶规划路线相关的监听
* 工控机全局规划路径
*/
interface IMoGoAutopilotPlanningListener {
/**
* 工控机引导线数据
*
* @param trajectoryInfos 引导线数据经纬度
*/
fun onAutopilotTrajectory(trajectoryInfos: MutableList<MessagePad.TrajectoryPoint>)
interface IMoGoPlanningRottingListener {
/**
* 2021/6/23 工控机经纬度 绘制时转成高德经纬度

View File

@@ -0,0 +1,17 @@
package com.mogo.eagle.core.function.api.autopilot
import mogo.telematics.pad.MessagePad
/**
* 工控机引导线数据
*/
interface IMoGoPlanningTrajectoryListener {
/**
* 工控机引导线数据
*
* @param trajectoryInfos 引导线数据经纬度
*/
fun onAutopilotTrajectory(trajectoryInfos: MutableList<MessagePad.TrajectoryPoint>)
}

View File

@@ -0,0 +1,11 @@
package com.mogo.eagle.core.function.api.autopilot
import chassis.VehicleStateOuterClass
/**
* 金旅M1
*/
interface IMoGoRoboBusJinlvM1StatesListener {
fun onRoboBusJinlvM1States(states: VehicleStateOuterClass.RoboBusJinlvM1State)
}

View File

@@ -0,0 +1,11 @@
package com.mogo.eagle.core.function.api.autopilot
/**
* 清扫车(福田)后摄像头视频数据
*/
interface IMoGoSweeperFutianBackCameraVideoListener {
/**
* 清扫车(福田)后摄像头视频数据 10Hz 每一帧为一张图片
*/
fun onSweeperFutianBackCameraVideo(data: ByteArray)
}

View File

@@ -0,0 +1,20 @@
package com.mogo.eagle.core.function.api.autopilot
import chassis.ChassisStatesOuterClass
import planning.RoboSweeperTaskIndexOuterClass
/**
* 清扫车(福田)清扫控制系统状态
*/
interface IMoGoSweeperFutianCleanSystemListener {
/**
* 清扫车(福田)清扫控制系统状态
*/
fun onSweeperFutianCleanSystemState(cleanSystemState: ChassisStatesOuterClass.SweeperFuTianTaskSystemStates)
/**
* 清扫车(福田)指标数据 贴边数据
*/
fun onSweeperFutianTaskIndexData(roboSweeperTaskIndex: RoboSweeperTaskIndexOuterClass.RoboSweeperTaskIndex)
}

View File

@@ -1,12 +0,0 @@
package com.mogo.eagle.core.function.api.bindingcar;
import com.mogo.eagle.core.data.bindingcar.ModifyBindingcarInfo;
/**
* @author lixiaopeng
* @description 网络请求回调
* @since: 3/16/22
*/
public interface BindingcarCallBack {
void callBackResult(ModifyBindingcarInfo modifyBindingcarInfo);
}

View File

@@ -1,14 +0,0 @@
package com.mogo.eagle.core.function.api.bindingcar
/**
* @author XuXinChao
* @description
* @since: 2022/5/18
*/
interface IMoGoBindingCarListener {
fun queryContainersResponse(dockerList: List<String>)
fun pushServerConfirm()
}

View File

@@ -1,46 +0,0 @@
package com.mogo.eagle.core.function.api.bindingcar;
import com.mogo.eagle.core.function.api.base.IMoGoFunctionServerProvider;
import java.util.List;
/**
* @author lixiaopeng
* @description 修改车辆信息
* @since: 3/15/22
*/
public interface IMoGoBindingcarProvider extends IMoGoFunctionServerProvider {
/**
* 修改工控机的绑定关系
* @param callBack
*/
void modifyCarInfo(BindingcarCallBack callBack);
/**
* 获取车辆的信息
* @param macAddress
* @param widevineIDWithMd5
*/
void getBindingcarInfo(String macAddress, String widevineIDWithMd5);
/**
* 确认升级工控机docker版本
* @param images docker列表
* @param padSn SN
* @param releaseId 任务ID
*/
void upgradeConfirm(List<String> images, String padSn, String releaseId);
/**
* 获取新工控机docker版本
* @param padSn SN
* @param dockerVersion 当前工控机版本
*/
void queryContainers(String padSn,String dockerVersion);
/**
* 查询app是否有更新
*/
void queryAppUpgrade();
}

View File

@@ -0,0 +1,16 @@
package com.mogo.eagle.core.function.api.biz
import com.mogo.eagle.core.data.map.Infrastructure
import com.mogo.eagle.core.data.v2x.V2XEventData
interface IFuncBizProvider {
/**
* 查询衡阳所有的摄像头数据
*/
fun onInfStructures(map: HashMap<String, ArrayList<Infrastructure>>?) {}
/**
* 根据lineId获取整条道路的V2X事件
*/
fun onV2XEvents(v2XEventData: List<V2XEventData>?) {}
}

View File

@@ -0,0 +1,63 @@
package com.mogo.eagle.core.function.api.biz
import android.content.Context
import com.mogo.eagle.core.data.biz.camera.CameraEntity
import com.mogo.eagle.core.function.api.base.IMoGoFunctionServerProvider
interface IMoGoFuncBizProvider : IMoGoFunctionServerProvider {
/*----------------------------------------Notice----------------------------------------*/
/**
* 是否接受交通事故任务
* @param infoId
* @param sn
* @param accept
*/
fun feedBackNoticeTraffic(infoId: String, sn: String, accept: Int)
/**
* 获取事故详细信息
* @param infoId
* @param sn
* @param callBack
*/
fun requestAccidentInfo(infoId: String, sn: String, callBack: IMoGoNoticeNetCallBack)
/*----------------------------------------Dispatch----------------------------------------*/
/**
* 调度确认
*/
fun dispatchAffirm()
/**
* 调度取消
* @param manualTrigger 是否手动
*/
fun dispatchCancel(manualTrigger: Boolean)
/**
* 调度测试
*/
fun testDispatch(sceneType: Int)
/*----------------------------------------Monitoring----------------------------------------*/
val getCameraList: List<CameraEntity>
fun openCameraStream(cameraIp: String)
fun openCameraStream(cameraIp: String, success: (String) -> Unit, error: (Throwable) -> Unit)
/**
* 防止回调摄像头列表View的相关调用
*/
fun closeCameraLive()
/*----------------------------------------全览模式----------------------------------------*/
fun fetchInfStructures()
fun getAllV2XEvents()
fun queryV2XEvents()
}

View File

@@ -0,0 +1,12 @@
package com.mogo.eagle.core.function.api.biz;
import com.mogo.eagle.core.data.biz.notice.NoticeTrafficStyleInfo;
/**
* @author Jing
* @description 网络请求回调
* @since: 11/3/21
*/
public interface IMoGoNoticeNetCallBack {
void callBackWithResult(NoticeTrafficStyleInfo trafficInfo);
}

View File

@@ -200,5 +200,5 @@ interface IMoGoMediaFacade {
interface IMoGoAnalyticsFacade {
fun track(eventType: String, data: Map<String, Any>? = hashMapOf())
fun track(eventType: String, data: MutableMap<String, Any> = hashMapOf())
}

View File

@@ -1,46 +0,0 @@
package com.mogo.eagle.core.function.api.check;
import android.content.Context;
import com.mogo.eagle.core.function.api.base.IMoGoFunctionServerProvider;
/**
* 检测接口
*/
public interface ICheckProvider extends IMoGoFunctionServerProvider {
/**
* 注册车辆监控变化监听
*
* @param module 监听模块
* @param listener
*/
void registerVehicleMonitoringListener(String module, IMogoCheckListener listener);
/**
* 注销车辆监控变化监听
*
* @param module
*/
void unregisterListener(String module);
/**
* 启动检测模块
*/
void startCheckActivity(Context context);
/**
* 检测弹框
*/
void showCheckDialog(Context context);
/**
* 指标监测
*/
void checkMonitor(Context context);
/**
* 根据监测指标修改主页检测按钮
*/
void updateMonitoringStatus(String module, Integer state);
}

View File

@@ -1,10 +0,0 @@
package com.mogo.eagle.core.function.api.check;
/**
* @author liujing
* @description 监听指标发生变化, 通知首页检测入口处预警图标重新渲染
* @since: 8/26/21
*/
public interface IMogoCheckListener {
void updateMonitoringStatus(Integer state);
}

View File

@@ -1,6 +1,25 @@
package com.mogo.eagle.core.function.api.cloud
interface IMoGoCloudListener {
import com.mogo.eagle.core.data.v2x.V2XEvent
fun tokenGot(token: String, sn: String)
interface IMoGoCloudListener{
fun tokenGot(token: String, sn: String){}
/**
* 获取到V2X事件成功回调
* @param event
* - 参数说明:目前此参数支持以下类型
* - [V2XEvent.ForwardsWarning]: 路口碰撞预警、盲区预警等预警事件, 数据实体取自[V2XEvent.ForwardsWarning.data]
* - [V2XEvent.Road]: 道路事件, 数据实体取自[V2XEvent.Road.data]
* - [V2XEvent.Warning]: 预警目标物事件, 数据实体取自[V2XEvent.Warning.data]
* - [V2XEvent.Marker]: 道路标记事件, 数据实体取自[V2XEvent.Marker.data]
*/
fun onAck(event: V2XEvent){}
/**
* V2X事件获取过程中出现的异常信息用于问题排查
* @param msg 异常信息
*/
fun onFail(msg: String){}
}

View File

@@ -0,0 +1,7 @@
package com.mogo.eagle.core.function.api.datacenter
import com.mogo.eagle.core.function.api.base.IMoGoFunctionServerProvider
interface IDataCenterProvider: IMoGoFunctionServerProvider {
}

View File

@@ -1,4 +1,4 @@
package com.mogo.eagle.core.function.api.msgbox
package com.mogo.eagle.core.function.api.datacenter.msgbox
import com.mogo.eagle.core.data.msgbox.MsgBoxBean

View File

@@ -1,4 +1,4 @@
package com.mogo.eagle.core.function.api.msgbox
package com.mogo.eagle.core.function.api.datacenter.msgbox
import com.mogo.eagle.core.data.msgbox.MsgBoxBean
import com.mogo.eagle.core.data.msgbox.MsgCategory

View File

@@ -1,4 +1,4 @@
package com.mogo.eagle.core.function.api.msgbox
package com.mogo.eagle.core.function.api.datacenter.msgbox
import android.content.Context
import com.mogo.eagle.core.data.msgbox.MsgBoxBean

View File

@@ -0,0 +1,18 @@
package com.mogo.eagle.core.function.api.datacenter.obu
import com.mogo.eagle.core.data.obu.ObuStatusInfo
/**
* OBU 连接状态监听回调
* @author xiaoyuzhou
* @date 2021/9/30 5:53 下午
*/
interface IMoGoObuConnectListener {
/**
* 检查OBU连链接信息
* @param obuStatusInfo OBU 状态信息
*/
fun onConnectStatus(obuStatusInfo: ObuStatusInfo)
}

View File

@@ -0,0 +1,16 @@
package com.mogo.eagle.core.function.api.datacenter.obu
/**
* OBU 显示信息
* @author lixiaopeng
* @date 2023/2/28
*/
interface IMoGoObuInfoListener {
/**
* @param obuInfoStr OBU信息
*/
fun onGetObuInfo(obuInfoStr: String)
}

View File

@@ -0,0 +1,20 @@
package com.mogo.eagle.core.function.api.datacenter.obu
import mogo.telematics.pad.MessagePad
/**
* OBU HV 自车车辆基础信息数据,自车定位数据 WGS84 坐标系
* @author donghongyu
* @date 2023-02-01
*/
interface IMoGoObuLocationWGS84Listener {
/**
* HV车辆基础信息
s
* @param data 数据
* @since 1.0.0
*/
fun onObuLocationWGS84(data: MessagePad.GnssInfo)
}

View File

@@ -1,4 +1,4 @@
package com.mogo.eagle.core.function.api.obu
package com.mogo.eagle.core.function.api.datacenter.obu
import com.mogo.eagle.core.function.api.base.IMoGoFunctionServerProvider
@@ -15,5 +15,9 @@ interface IMoGoObuProvider : IMoGoFunctionServerProvider {
fun isConnected(): Boolean
fun setObuLibLog(isSet: Boolean)
fun setObuLog(isChecked: Boolean)
fun uploadObuPack(filePathArray: Array<String>)
fun deleteObuFile()
}

View File

@@ -0,0 +1,20 @@
package com.mogo.eagle.core.function.api.datacenter.obu
import com.mogo.eagle.core.data.enums.DataSourceType
/**
* OBU 数据保存
* @author lixiaopeng
* @date 2023-02-01
*/
interface IMoGoObuSaveMessageListener {
/**
* @param type 事件id类似与uuid
* @param content 事件内容
* @param tts 事件语音播报
* @param sourceType 来源
*/
fun onMoGoObuSaveMessage(type: String, content: String, tts: String, sourceType: DataSourceType)
}

View File

@@ -1,6 +1,5 @@
package com.mogo.eagle.core.function.api.obu
package com.mogo.eagle.core.function.api.datacenter.obu
import com.mogo.eagle.core.data.obu.ObuStatusInfo
import com.mogo.eagle.core.data.traffic.TrafficData
/**
@@ -9,13 +8,6 @@ import com.mogo.eagle.core.data.traffic.TrafficData
* OBU 状态监听回调
*/
interface IMoGoObuStatusListener {
/**
* 检查OBU连链接信息
* @param obuStatusInfo OBU 状态信息
*/
fun onObuStatusResponse(obuStatusInfo: ObuStatusInfo){
}
/**
* v2i时延

View File

@@ -0,0 +1,20 @@
package com.mogo.eagle.core.function.api.datacenter.obu
import com.mogo.support.obu.ObuScene
/**
* OBU 地图匹配结果,
* @author donghongyu
* @date 2023-02-01
*/
interface IMoGoObuWarningMapListener {
/**
* 地图匹配结果
*
* @param mapMatchData 数据
* @since 1.0.0
*/
fun onMoGoObuMapMath(mapMatchData: ObuScene.MapMatchData)
}

View File

@@ -0,0 +1,20 @@
package com.mogo.eagle.core.function.api.datacenter.obu
import com.mogo.support.obu.ObuScene
/**
* OBU RSI预警信息
* @author donghongyu
* @date 2023-02-01
*/
interface IMoGoObuWarningRsiListener {
/**
* RSI预警信息
*
* @param rsiWarningData 数据
* @since 1.0.0
*/
fun onMoGoObuRsiWarning(rsiWarningData: ObuScene.RsiWarningData)
}

View File

@@ -0,0 +1,20 @@
package com.mogo.eagle.core.function.api.datacenter.obu
import com.mogo.support.obu.ObuScene
/**
* OBU RSM预警信息弱势交通参与者预警信息
* @author donghongyu
* @date 2023-02-01
*/
interface IMoGoObuWarningRsmListener {
/**
* RSM预警信息弱势交通参与者预警信息
*
* @param rsmWarningData 数据
* @since 1.0.0
*/
fun onMoGoObuRsmWarning(rsmWarningData: ObuScene.RsmWarningData)
}

View File

@@ -0,0 +1,20 @@
package com.mogo.eagle.core.function.api.datacenter.obu
import com.mogo.support.obu.model.MogoObuRvWarningData
/**
* OBU V2V预警信息
* @author donghongyu
* @date 2023-02-01
*/
interface IMoGoObuWarningRvListener {
/**
* OBU V2V预警信息
*
* @param data 数据
* @since 1.0.0
*/
fun onMoGoObuRvWarning(data: MogoObuRvWarningData)
}

View File

@@ -0,0 +1,20 @@
package com.mogo.eagle.core.function.api.datacenter.obu
import com.mogo.support.obu.ObuScene
/**
* OBU 红绿灯预警信息,
* @author donghongyu
* @date 2023-02-01
*/
interface IMoGoObuWarningSpatListener {
/**
* OBU 红绿灯预警信息
*
* @param spatWarningData 数据
* @since 1.0.0
*/
fun onMoGoObuSpatWarning(spatWarningData: ObuScene.SpatWarningData)
}

View File

@@ -0,0 +1,16 @@
package com.mogo.eagle.core.function.api.datacenter.obu.obucombine
import mogo.v2x.ObuWarningEvent
/**
* obu和dc 通道打通融合
*/
interface IMoGoObuDcCombineListener {
/**
* obu透传v2i数据标牌弱势交通红绿灯限速道路危险状况
* @param obuWarningData
*/
fun onMoGoObuDcCombineData(obuWarningData: ObuWarningEvent.ObuWarningData?)
}

View File

@@ -0,0 +1,13 @@
package com.mogo.eagle.core.function.api.datacenter.union
import com.mogo.eagle.core.data.enums.DataSourceType
/**
* 限速信息回掉
*/
interface ILimitingVelocityListener {
fun onUnion(limitingVelocity: Int,sourceType: DataSourceType){}
fun onLimitingVelocityChange(limitingVelocity: Int,sourceType: DataSourceType){}
}

View File

@@ -0,0 +1,69 @@
package com.mogo.eagle.core.function.api.datacenter.union
import com.mogo.eagle.core.data.enums.DataSourceType
import com.mogo.eagle.core.data.enums.TrafficLightEnum
import com.mogo.eagle.core.data.biz.trafficlight.TrafficLightResult
interface IMoGoTrafficLightListener {
/**
* 当前云端红绿灯状态,包含红绿灯灯态,倒计时秒数,灯态经纬度,时间戳,剩余时间
*/
fun onTrafficLightStatus(trafficLightResult: TrafficLightResult){}
/**
* 车辆进入路口回调
*/
fun onEnterCrossRoad(enter:Boolean){
}
/**
* 云端红绿灯接口请求失败
*/
fun onTrafficRequestError(){
}
/**
* obu红绿灯状态
*/
fun onTrafficLightPlusSource(light: TrafficLightEnum, remain:Int = -1, lightSource: DataSourceType){}
/**
* obu 红绿灯消失
*/
fun onObuTrafficLightDisapper(){}
/**
* 展示红绿灯预警
*
* @param checkLightId 0-都是默认1-红2-黄3-绿
* @param lightSource 1:云端下发 2:自车感知 3:OBU
*/
fun showTrafficLight(checkLightId: TrafficLightEnum, lightSource: DataSourceType) {}
/**
* @param readNum 红灯倒计时
* @param yellowNum 黄灯倒计时
* @param greenNum 绿灯倒计时
*/
fun changeCountdownTrafficLightNum(readNum: Int, yellowNum: Int, greenNum: Int) {}
fun changeCountdownGreen(greenNum: Int) {}
fun changeCountdownYellow(yellowNum: Int) {}
fun changeCountdownRed(redNum: Int) {}
/**
* 关闭红绿灯预警展示,并重制灯态
*/
fun disableTrafficLight() {}
/**
* 关闭红绿灯计数
*/
fun disableTrafficLightCountDown() {}
}

View File

@@ -2,13 +2,17 @@ package com.mogo.eagle.core.function.api.devatools
import android.app.Activity
import android.content.Context
import android.view.*
import android.view.View
import android.view.ViewGroup
import com.alibaba.android.arouter.facade.template.IProvider
import com.mogo.eagle.core.data.EnvConfig
import com.mogo.eagle.core.data.deva.bindingcar.ModifyBindingcarInfo
import com.mogo.eagle.core.data.deva.chain.ChainLogParam
import com.mogo.eagle.core.data.deva.scene.SceneModule
import com.mogo.eagle.core.data.deva.scene.SceneTAG
import com.mogo.eagle.core.data.msgbox.MsgBoxBean
import record_cache.RecordPanelOuterClass
import com.mogo.eagle.core.function.api.devatools.apm.*
import com.mogo.eagle.core.function.api.devatools.strict.*
/**
* 开发套件工具接口
@@ -20,6 +24,8 @@ interface IDevaToolsProvider : IProvider {
*/
fun initBiz()
fun checkMonitorDb()
/**
* 开始抓取日志默认10min
*/
@@ -106,15 +112,20 @@ interface IDevaToolsProvider : IProvider {
fun showBadCaseManagerView(context: Context)
/**
* 获取升级版本Urls
* 工控机异常上报列表
*/
fun getUpgradeVersionUrls(versionName: String)
fun showReportListWindow(context: Context,isShow: Boolean)
/**
* 下载指定包
*/
fun downLoadPackage(downloadKey: String, downloadUrl: String)
/**
* 更新下载进度
*/
fun updateUpgradeProgress()
/**
* 展示状态栏
*/
@@ -133,4 +144,58 @@ interface IDevaToolsProvider : IProvider {
* 同步AppConfigInfo信息
*/
fun syncConfig()
/**
* 修改工控机的绑定关系
* @param callBack
*/
fun modifyCarInfo(callBack: (ModifyBindingcarInfo) -> Unit)
/**
* 获取车辆的信息
* @param macAddress
* @param widevineIDWithMd5
*/
fun getBindingCarInfo(macAddress: String, widevineIDWithMd5: String)
/**
* 确认升级工控机docker版本
* @param images docker列表
* @param padSn SN
* @param releaseId 任务ID
*/
fun upgradeConfirm(images: List<String>, padSn: String, releaseId: String)
/**
* 获取新工控机docker版本
* @param padSn SN
* @param dockerVersion 当前工控机版本
*/
fun queryContainers(padSn: String, dockerVersion: String)
/**
* 查询app是否有更新
*/
fun queryAppUpgrade()
/**
* 查询obu是否有更新
*/
fun queryObuUpgrade(obuVersionName: String)
fun getEnvConfig(): EnvConfig?
fun getEnvCityName():String
fun getEnvNetMode():String
fun envConfigReset()
fun envConfigChange(cityCode: String, netMode: Int)
fun dockerVersion(dockerVersion: String?)
fun apmEnvProvider(): IApmEnvProvider
fun strict(): IStrictModeProvider
}

View File

@@ -25,20 +25,34 @@ interface IMoGoDevaToolsListener {
* 日志抓取按行返回 lineLog
* 注:莫要在此回调中打印日志,否则会造成日志循环记录
*/
fun onLogCatch(lineLog: String)
fun onLogCatch(lineLog: String){
}
/**
* fw线程写入倒计时结束
*/
fun fwThreadClose()
fun fwThreadClose(){
}
/**
* 模块TAG更新回调
*/
fun moduleLogChanged(moduleTag: MutableMap<String, SceneModule>)
fun moduleLogChanged(moduleTag: MutableMap<String, SceneModule>){
}
fun queryContainersResponse(dockerList: List<String>){
}
fun pushServerConfirm(){
}
fun mofangStatus(status:Boolean){
}
/**
* 版本升级Urls
*/
fun upgradeVersionUrls(urls: Map<String, String>?)
}

View File

@@ -0,0 +1,10 @@
package com.mogo.eagle.core.function.api.devatools.apm
interface IApmEnvProvider {
fun init(buildType: String, netType: String, dockerVersion: String)
fun onEnvChanged(buildType: String, netType: String, dockerVersion: String)
fun isDebugEnabled(): Boolean?
}

View File

@@ -0,0 +1,17 @@
package com.mogo.eagle.core.function.api.devatools.mofang
/**
* 魔方数据的数据处理
* @author lixiaopeng
* @date 2023-02-20
*/
interface IMoGoMoFangListener {
/**
* 魔方数据的数据处理
* @param keyCode 按键类型
* @param action 按键状态
*/
fun onMofangHandle(keyCode: Int, action: Int): Boolean
}

View File

@@ -0,0 +1,10 @@
package com.mogo.eagle.core.function.api.devatools.strict
/**
* 系统严格模式功能封装
*/
interface IStrictModeProvider {
fun enable()
}

View File

@@ -1,7 +0,0 @@
package com.mogo.eagle.core.function.api.dispatch
import com.mogo.eagle.core.function.api.base.IMoGoFunctionServerProvider
interface IDispatchProvider : IMoGoFunctionServerProvider {
}

View File

@@ -1,36 +0,0 @@
package com.mogo.eagle.core.function.api.hmi
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
/**
* 设置HMI中控件代理接口
*/
interface IMoGoHmiViewProxy {
/**
* 设置 V2X预警 代理View
* @param view
*/
fun setViewNotificationProvider(provider: IViewNotificationProvider)
/**
* 设置 红绿灯 代理View
* @param view
*/
fun setProxyTrafficLightView(view: IViewTrafficLight)
/**
* 设置 限速 代理View
* @param view
*/
fun setProxyLimitingSpeedView(view: IViewLimitingVelocity)
interface IViewNotificationProvider {
fun getNotificationView() : IViewNotification?
}
}

View File

@@ -6,5 +6,7 @@ package com.mogo.eagle.core.function.api.hmi.autopilot
* 自动驾驶控制按钮回调监听
*/
interface IMoGoCheckAutoPilotBtnListener {
fun onCheck(isChecked: Boolean)
fun onCheck(isChecked: Boolean) {}
fun updateHDDataCacheStatus(isCached: Boolean) {}
}

View File

@@ -1,16 +0,0 @@
package com.mogo.eagle.core.function.api.hmi.view
import android.content.Context
import android.util.AttributeSet
import android.widget.LinearLayout
/**
* 定义红绿灯View具备的功能接口
*/
abstract class IOchBusView(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) :
LinearLayout(context, attrs, defStyleAttr) {
open fun showBusOperation(){}
open fun changerOperationStatus(isOut:Boolean){}
}

View File

@@ -0,0 +1,18 @@
package com.mogo.eagle.core.function.api.hmi.view
import android.content.Context
import android.view.View
import android.widget.FrameLayout
import com.alibaba.android.arouter.facade.template.IProvider
/**
* 设置状态栏View
*/
interface IStatusViewLayout : IProvider{
/**
* 提供状态栏View
*/
fun getStatusView(context: Context):View
}

View File

@@ -0,0 +1,39 @@
package com.mogo.eagle.core.function.api.hmi.view
import android.view.ViewGroup
interface IViewControlListener {
companion object{
const val TrafficLightView_TAG = "TrafficLightView_TAG"
const val LimitingVelocityView_TAG = "LimitingVelocityView_TAG"
}
/** --------- View --------- **/
fun visible(v:Int){
}
/** --------- StatusBar --------- **/
/**
* 设置状态栏暗夜或明亮模式
* 默认 light
*/
fun setStatusBarDarkOrLight(light: Boolean){}
/**
* 更新(添加/删除)状态栏右侧元素
*/
fun updateStatusBarRightView(insert: Boolean, tag: String, viewGroup: ViewGroup){}
/**
* 更新(添加/删除)状态栏左侧元素
*/
fun updateStatusBarLeftView(insert: Boolean, tag: String, viewGroup: ViewGroup){}
/**
* 更新(添加/删除)下载进度
*/
fun updateStatusBarDownloadView(insert: Boolean, tag: String, progress: Int){}
}

View File

@@ -1,18 +0,0 @@
package com.mogo.eagle.core.function.api.hmi.view
import android.content.Context
import android.util.AttributeSet
import android.widget.LinearLayout
/**
* 定义限速View具备的接口
*/
abstract class IViewLimitingVelocity(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) :
LinearLayout(context, attrs, defStyleAttr) {
/**
* 更新限速数据
* @param limitingSpeed 限速值单位km/h
*/
open fun updateLimitingSpeed(limitingSpeed: Int, limitSource: Int) {}
}

View File

@@ -1,43 +0,0 @@
package com.mogo.eagle.core.function.api.hmi.view
import android.content.Context
import android.util.AttributeSet
import android.widget.LinearLayout
/**
* 定义红绿灯View具备的功能接口
*/
abstract class IViewTrafficLight(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) :
LinearLayout(context, attrs, defStyleAttr) {
/**
* 展示红绿灯预警
*
* @param checkLightId 0-都是默认1-红2-黄3-绿
* @param lightSource 1:云端下发2:自车感知;3:OBU
*/
open fun showWarningTrafficLight(checkLightId: Int,lightSource: Int) {}
/**
* 关闭红绿灯预警展示,并重制灯态
*/
open fun disableWarningTrafficLight() {}
/**
* @param readNum 红灯倒计时
* @param yellowNum 黄灯倒计时
* @param greenNum 绿灯倒计时
*/
open fun changeCountdownTrafficLightNum(readNum: Int, yellowNum: Int, greenNum: Int) {}
open fun changeCountdownGreen(greenNum: Int) {}
open fun changeCountdownYellow(yellowNum: Int) {}
open fun changeCountdownRed(redNum: Int) {}
/**
* 隐藏倒计时
*/
open fun disableCountdown(){}
}

View File

@@ -0,0 +1,132 @@
package com.mogo.eagle.core.function.api.hmi.warning
import android.view.ViewGroup
import com.alibaba.android.arouter.facade.template.IProvider
import com.mogo.eagle.core.data.deva.bindingcar.IPCUpgradeStateInfo
import com.mogo.eagle.core.data.biz.dispatch.DispatchAdasAutoPilotLocReceiverBean
import com.mogo.eagle.core.data.enums.WarningDirectionEnum
import com.mogo.eagle.core.data.map.Infrastructure
import com.mogo.eagle.core.data.biz.notice.NoticeNormalData
import com.mogo.eagle.core.data.biz.notice.NoticeTrafficStylePushData
import com.mogo.eagle.core.data.deva.report.ReportEntity
/**
* @author xiaoyuzhou
* @date 2021/8/2 7:36 下午
*/
interface IMoGoHmiProvider :IProvider{
/**
* 不展示顶部弹窗,其它保留
*/
fun warningV2X(v2xType: String, alertContent: CharSequence?, ttsContent: String?, listener: IMoGoWarningStatusListener?, direction: WarningDirectionEnum, expireTime: Long)
/**
* 展示指定方位上的红框预警
* @param direction
* @see WarningDirectionEnum
*/
fun showWarning(v2xType: String ,direction: WarningDirectionEnum, expireTime: Long)
/**
* 主动消失边框预警
*/
fun dismissWarning(direction: WarningDirectionEnum)
/**
* 呈现交警推送消息顶部弹框
*
* @param pushData 推送消息体
*/
fun showNoticeForTrafficWithData(pushData: NoticeTrafficStylePushData?)
/**
* 呈现普通公告顶部弹框
*
* @param normalData 推送消息体
*/
fun showNoticeNormalData(normalData: NoticeNormalData?)
/**
* 路侧直播,超视距感知
*/
fun startRoadCameraLive(flvUrl: String)
/**
* 超视距感知关闭
*/
fun showNoSignView()
/**
* 展示工具栏
*/
fun showToolsView()
/**
* 关闭工具栏
*/
fun hideToolsView()
/**
* 展示绑定车辆弹框
*/
fun showToBindingCarDialog()
/**
* 展示修改绑定车辆弹框
*/
fun showModifyBindingCarDialog()
/**
* 展示升级app弹框
*/
fun showUpgradeDialog(name: String, url: String, title: String, content: String, installType: String)
/**
* 呈现工控机升级确认框
*/
fun showAdUpgradeDialog(images: List<String>,padSn: String,releaseId: String)
/**
* 更新工控机下载、升级状态
*/
fun showAdUpgradeStatus(ipcUpgradeStateInfo: IPCUpgradeStateInfo)
/**
* 道路视频 放入指定url
*/
fun showVideoDialog(infList: List<Infrastructure>)
/**
* 调度弹窗展示
*/
fun showDispatchDialog(msgData: DispatchAdasAutoPilotLocReceiverBean)
/**
* 隐藏调度弹窗
*/
fun dismissDispatchDialog()
/**
* 设置状态栏暗夜或明亮模式
* 默认 light
*/
fun setStatusBarDarkOrLight(light: Boolean)
/**
* 更新(添加/删除)状态栏右侧元素
*/
fun updateStatusBarRightView(insert: Boolean, tag: String, viewGroup: ViewGroup)
/**
* 更新(添加/删除)状态栏左侧元素
*/
fun updateStatusBarLeftView(insert: Boolean, tag: String, viewGroup: ViewGroup)
/**
* 更新(添加/删除)下载进度
*/
fun updateStatusBarDownloadView(insert: Boolean, tag: String, progress: Int)
}

View File

@@ -1,321 +0,0 @@
package com.mogo.eagle.core.function.api.hmi.warning
import android.view.View
import android.view.ViewGroup
import com.mogo.eagle.core.data.bindingcar.IPCUpgradeStateInfo
import com.mogo.eagle.core.data.enums.WarningDirectionEnum
import com.mogo.eagle.core.data.map.Infrastructure
import com.mogo.eagle.core.data.notice.NoticeNormalData
import com.mogo.eagle.core.data.notice.NoticeTrafficStylePushData
import com.mogo.eagle.core.data.report.ReportEntity
import com.mogo.eagle.core.function.api.hmi.IMoGoHmiViewProxy
import com.mogo.eagle.core.function.api.hmi.view.IOchBusView
/**
* @author xiaoyuzhou
* @date 2021/8/2 7:36 下午
*/
interface IMoGoWaringProvider : IMoGoHmiViewProxy {
/**
* 浓雾预警
*/
fun displayEffects()
/**
* 隐藏 脉速表
* @param visibility View.VISIBLE, View.INVISIBLE,View.GONE
*/
fun setSpeedChartViewVisibility(visibility: Int)
/**
* 隐藏 红绿灯UI
* @param visibility View.VISIBLE, View.INVISIBLE,View.GONE
*/
fun setTrafficLightVrVisibility(visibility: Int)
/**
* 隐藏 自动驾驶触发 按钮
* @param visibility View.VISIBLE, View.INVISIBLE,View.GONE
*/
fun setAutopilotStatusViewVisibility(visibility: Int)
/**
* 隐藏 切换视角 按钮
* @param visibility View.VISIBLE, View.INVISIBLE,View.GONE
*/
fun setPerspectiveSwitchViewVisibility(visibility: Int)
/**
* 隐藏 工具箱 按钮
* @param visibility View.VISIBLE, View.INVISIBLE,View.GONE
*/
fun setToolsViewVisibility(visibility: Int)
fun setCameraViewVisibility(visibility: Int)
/**
* 控制转向灯
*/
fun setTurnLightFunction(isOpen: Boolean)
/**
* 控制刹车功能
*/
fun setBrakeLightFunction(isOpen: Boolean)
/**
* 控制sn绑定功能
*/
fun setSnBinding(isOpen: Boolean)
/**
* 控制展示obu的弱势交通
*/
fun setObuWeaknessTraffic(isOpen: Boolean)
/**
* 控制展示云端的弱势交通
*/
fun setCloudWeaknessTraffic(isOpen: Boolean)
/**
* 开关DebugView
*/
fun toggleDebugView()
/**
* 开关SOPSettingView
*/
fun toggleSOPView()
/**
* 开关Bag包任务管理页面
*/
fun toggleBagManagerView()
/**
* 展示VR下V2X预警
*
* @param poiType V2X类型
* @param alertContent 提醒文本
* @param ttsContent tts语音播报消息
* @param tag tag绑定弹窗的标志
*/
fun showWarningV2X(v2xType: String, alertContent: CharSequence?, ttsContent: String?, tag: String?, listener: IMoGoWarningStatusListener?, playTts: Boolean, expireTime: Long)
/**
* 不展示顶部弹窗,其它保留
*/
fun warningV2X(v2xType: String, alertContent: CharSequence?, ttsContent: String?, tag: String?, listener: IMoGoWarningStatusListener?, playTts: Boolean, expireTime: Long)
/**
* 关闭指定floatTag 的 VR下V2X预警弹窗
* @param tag 弹窗标识
*/
fun disableWarningV2X(tag: String?)
/**
* 展示红绿灯预警
*
* @param checkLightId 0-都是默认1-红2-黄3-绿
* @param lightSource 1:云端下发2:自车感知;3:OBU
*/
fun showWarningTrafficLight(checkLightId: Int,lightSource: Int)
/**
* 红绿灯是否展示
*/
fun isWarningTrafficLightShow(): Boolean
/**
* 关闭红绿灯预警
*/
fun disableWarningTrafficLight()
/**
* 关闭红绿灯倒计时
*/
fun disableWarningTrafficLightCountDown()
/**
* 修改红灯倒计时
*/
fun changeCountdownRed(redNum: Int)
/**
* 修改黄灯倒计时
*/
fun changeCountdownYellow(yellowNum: Int)
/**
* 修改绿灯倒计时
*/
fun changeCountdownGreen(greenNum: Int)
/**
* @param readNum 红灯倒计时
* @param yellowNum 黄灯倒计时
* @param greenNum 绿灯倒计时
*/
fun changeCountdownTrafficLightNum(readNum: Int, yellowNum: Int, greenNum: Int)
/**
* 展示限速预警
*
* @param limitingSpeed 限速速度
* @param limitSpeedSource 限速来源 1:MAP, 2:RSU
*/
fun showLimitingVelocity(limitingSpeed: Int, limitSpeedSource: Int)
/**
* 关闭限速预警
*/
fun disableLimitingVelocity()
/**
* 展示指定方位上的红框预警
* @param direction
* @see WarningDirectionEnum
*/
fun showWarning(direction: WarningDirectionEnum)
/**
* 展示指定方位上的红框预警
* @param direction
* @see WarningDirectionEnum
* @param closeTime 倒计时
*/
fun showWarning(direction: WarningDirectionEnum, closeTime: Long)
/**
* 主动消失边框预警
*/
fun dismissWarning(direction: WarningDirectionEnum)
/**
* 呈现交警推送消息顶部弹框
*
* @param pushData 推送消息体
*/
fun showNoticeForTrafficWithData(pushData: NoticeTrafficStylePushData?)
/**
* 呈现普通公告顶部弹框
*
* @param normalData 推送消息体
*/
fun showNoticeNormalData(normalData: NoticeNormalData?)
/**
* 展示VIP标识
*/
fun vipIdentification(visible: Boolean)
fun startRoadCameraLive(flvUrl: String)
fun showNoSignView()
fun showToolsView()
fun hideToolsView()
fun showMaskView()
fun hideMaskView()
/**
* 加载全览模式图层
*/
fun showSmallFragment()
fun hideSmallFragment()
/**
* 展示转向灯
*/
fun showTurnLight(light: Int)
/**
* 展示刹车灯
*/
fun showBrakeLight(brakeLight: Int)
/**
* 展示绑定车辆弹框
*/
fun showToBindingcarDialog()
/**
* 展示修改绑定车辆弹框
*/
fun showModifyBindingcarDialog()
/**
* 展示升级app弹框
*/
fun showUpgradeDialog(name: String, url: String, title: String, content: String, installType: String)
/**
* 呈现工控机升级确认框
*/
fun showAdUpgradeDialog(images: List<String>,padSn: String,releaseId: String)
/**
* 更新工控机下载、升级状态
*/
fun showAdUpgradeStatus(ipcUpgradeStateInfo: IPCUpgradeStateInfo)
/**
*注册工控机升级提示圆点View的回调
* @param 提示圆点View
*/
fun registerUpgradeTipsCallback(tipsView: () -> View)
/**
* 工控机重启返回结果
* @param code
* @param msg
*/
fun showDockerRebootResult(code: Int,msg: String)
/**
* 展示工控机监控上报数据
* @param errorReportList 错误级别上报数据列表
* @param warningReportList 提醒级别上报数据列表
* @param reportLevel 1:error级别 2:warning级别
*/
fun showIPCReportWindow(errorReportList: ArrayList<ReportEntity>,warningReportList: ArrayList<ReportEntity>,reportLevel: Int)
fun showVideoDialog(infList: List<Infrastructure>)
fun setBusOperationView(view:IOchBusView)
/**
* 设置状态栏暗夜或明亮模式
* 默认 light
*/
fun setStatusBarDarkOrLight(light: Boolean)
/**
* 更新(添加/删除)状态栏右侧元素
*/
fun updateStatusBarRightView(insert: Boolean, tag: String, viewGroup: ViewGroup)
/**
* 更新(添加/删除)状态栏左侧元素
*/
fun updateStatusBarLeftView(insert: Boolean, tag: String, viewGroup: ViewGroup)
/**
* 更新(添加/删除)下载进度
*/
fun updateStatusBarDownloadView(insert: Boolean, tag: String, progress: Int)
/**
* 更新魔方的连接状态
*/
fun updateMfStatus(tag: String, status: Boolean)
fun updateHDDataCacheStatus(isCached: Boolean)
}

View File

@@ -0,0 +1,10 @@
package com.mogo.eagle.core.function.api.hmi.warning
import com.mogo.eagle.core.data.enums.WarningDirectionEnum
interface IV2XEventListener {
fun show(v2xType: String, direction: WarningDirectionEnum, time: Long)
fun dismiss(direction: WarningDirectionEnum)
}

View File

@@ -1,26 +0,0 @@
package com.mogo.eagle.core.function.api.map;
import com.alibaba.android.arouter.facade.template.IProvider;
import com.mogo.map.IDestroyable;
/**
* @author congtaowang
* @since 2020/10/23
* <p>
* 地图图层切换:高德地图 <-> 自研地图,过渡期使用
*/
public interface IMogoMapFrameController extends IProvider, IDestroyable {
void initDelegate(IMogoMapFrameController controller);
/**
* 切换到高德2D
*/
void changeTo2dMode();
/**
* 切换到自研vr
* @param isNightMode true-夜间模式false-白天模式
*/
void stepInVrMode(boolean isNightMode);
}

View File

@@ -4,14 +4,9 @@ import android.content.Context;
import com.alibaba.android.arouter.facade.template.IProvider;
import com.mogo.eagle.core.function.api.map.marker.IMogoMarkerService;
import com.mogo.map.listener.IMogoHosListenerRegister;
import com.mogo.map.location.IMogoLocationClient;
import com.mogo.map.location.IMogoGDLocationClient;
import com.mogo.map.marker.IMogoMarkerManager;
import com.mogo.map.overlay.IMogoOverlayManager;
import com.mogo.map.search.geo.IMogoGeoSearch;
import com.mogo.map.search.poisearch.IMogoPoiSearch;
import com.mogo.map.search.poisearch.query.MogoPoiSearchQuery;
import com.mogo.map.search.traffic.IMogoTrafficSearch;
import com.mogo.map.uicontroller.IMogoMapUIController;
/**
@@ -21,42 +16,16 @@ import com.mogo.map.uicontroller.IMogoMapUIController;
* 地图对外接口
*/
public interface IMogoMapService extends IProvider {
/**
* 获取定位服务实例,全局唯一
*
* @param context
* @return
*/
IMogoLocationClient getSingletonLocationClient( Context context );
/**
* 地理编码或逆地理编码服务
*
* @param context
* @return
*/
IMogoGeoSearch getGeoSearch( Context context );
/**
* poi搜索服务
*
* @param context
* @param query
* @return
*/
IMogoPoiSearch getPoiSearch( Context context, MogoPoiSearchQuery query );
/**
* marker 操作
*
* @return
*/
IMogoMarkerManager getMarkerManager( Context context );
IMogoMarkerManager getMarkerManager(Context context);
/**
* 带有业务标注的服务marker
*
* @return
*/
IMogoMarkerService getMarkerService();
@@ -68,26 +37,18 @@ public interface IMogoMapService extends IProvider {
*/
IMogoMapUIController getMapUIController();
/**
* 主模块监听注册
*
* @return
*/
IMogoHosListenerRegister getHostListenerRegister();
/**
* 覆盖物操作
*
* @param context
* @return
*/
IMogoOverlayManager getOverlayManager( Context context );
IMogoOverlayManager getOverlayManager();
/**
* 交通态势查询
* 获取高德定位服务
*
* @return
*/
IMogoTrafficSearch getTrafficSearchApi();
IMogoGDLocationClient getGDLocationServer(Context context);
}

View File

@@ -0,0 +1,10 @@
package com.mogo.eagle.core.function.api.map.angle
import com.alibaba.android.arouter.facade.template.IProvider
interface IMoGoVisualAngleChangeProvider: IProvider {
fun updateLongSightLevel(level: Boolean)
fun changeAngle(scene: Scene)
}

View File

@@ -0,0 +1,104 @@
package com.mogo.eagle.core.function.api.map.angle
import com.mogo.map.uicontroller.*
import java.util.concurrent.*
import java.util.concurrent.TimeUnit.SECONDS
private interface IAttach {
val angle: VisualAngleMode
val priority: Int
val displayThreshold: Long //最大展示时长 > 0; 表示最长展示多长时间, -1 表示,一直展示,直到触发默认视角, 0: 默认视角专用值,
}
sealed class Scene: IAttach
/**
* 默认视图
* @param delay: 表示多少稍后默认值为2
* @param unit: 时间单位,默认为秒
*/
class Default(val delay: Long = 2, val unit: TimeUnit = SECONDS): Scene() {
override val angle: VisualAngleMode = VisualAngleMode.MODE_MEDIUM_SIGHT
override val priority: Int = 1
override val displayThreshold: Long
get() = 0
override fun toString(): String {
return "Default(delay=$delay, unit=$unit, angle=$angle, priority=$priority)"
}
}
/**
* 变道-接收到转向灯信息号
*/
class Turning(var open: Boolean = false): Scene() {
override val angle: VisualAngleMode = VisualAngleMode.MAP_STYLE_VR_ANGLE_TOP
override val priority: Int = 3
override val displayThreshold: Long
get() = -1
override fun toString(): String {
return "Turning(open: ${open}, priority=$priority, displayThreshold: $displayThreshold, priority=$priority)"
}
}
/**
* 后方车辆离自车过近
*/
object TooClose: Scene() {
override val angle: VisualAngleMode = VisualAngleMode.MAP_STYLE_VR_ANGLE_300
override val priority: Int = 2
override val displayThreshold: Long
get() = SECONDS.toMillis(8)
override fun toString(): String {
return "TooClose(priority=$priority, displayThreshold: $displayThreshold, priority=$priority)"
}
}
/**
* 道路事件
*/
object RoadEvent: Scene() {
override val angle: VisualAngleMode = VisualAngleMode.MODE_LONG_SIGHT
override val priority: Int = 5
override val displayThreshold: Long
get() = SECONDS.toMillis(8)
override fun toString(): String {
return "RoadEvent(priority=${priority}, displayThreshold: ${displayThreshold}, priority=${priority})"
}
}
/**
* 十字路口
*/
class CrossRoad(var open: Boolean = false): Scene() {
override val angle: VisualAngleMode = VisualAngleMode.MAP_STYLE_VR_ANGLE_CROSS
override val priority: Int = 4
override val displayThreshold: Long
get() = -1
override fun toString(): String {
return "CrossRoad(open: ${open}, priority=${priority}, displayThreshold: ${displayThreshold}, priority=${priority})"
}
}

View File

@@ -1,74 +0,0 @@
package com.mogo.eagle.core.function.api.map.hd
import androidx.annotation.RawRes
import com.mogo.eagle.core.data.map.CenterLine
import com.mogo.eagle.core.function.api.base.IMoGoFunctionServerProvider
/**
* @author donghongyu
* @date 12/10/20 1:36 PM
* 地图层控制
*/
interface IMoGoMapFragmentProvider : IMoGoFunctionServerProvider {
/**
* 修改地图中心点
* MapAutoApi.CAR_CENTER_100 1/4
* MapAutoApi.CAR_CENTER_100 2/5
* MapAutoApi.CAR_CENTER_100 80米
* MapAutoApi.CAR_CENTER_100 2/5
*/
fun changeMaoViewAngle(type: Int)
/**
* 修改高精地图自车图标
* 传入资源ID
*/
fun changeCurrentIcon(@RawRes iconId: Int)
/**
* 设置地图视线角度
*/
fun setMapDAngle(mode: Int)
/**
* 获取车道中心线信息
*/
fun getCenterLineInfo(lon: Double, lat: Double, angle: Float): CenterLine?
/**
* 进入VR 模式
*
* @param isDayMode true-白天模式false-夜间模式
*/
fun stepInVrMode(isDayMode: Boolean)
/**
* 打开点云绘制
*
* @param isDrawPointCloud 是否绘制点云
*/
fun setIsDrawPointCloud(isDrawPointCloud: Boolean)
/**
* 设制点云大小
*
* @param pointCloudSize 点云的点大小
*/
fun setPointCloudSize(pointCloudSize: Float)
/**
* 设置点云颜色
*
* @param color // color:"#RRGGBB*
*/
fun setPointCloudColor(color: String)
/**
* 设置地图是否是Debug模式
* @param debugMode 是否开启Debug模式
*/
fun setDebugMode(debugMode: Boolean)
}

View File

@@ -3,15 +3,16 @@ package com.mogo.eagle.core.function.api.map.listener
import com.mogo.eagle.core.data.map.MogoLocation
/**
* 封装高德地图通过设备GPS获取到的位置信息频率1s一次坐标系为CJC20
* 这里的数据仅用于非高精度业务
* @author xiaoyuzhou
* @date 2021/11/1 7:17 下午
* 地图定位回调
*/
interface IMoGoMapLocationListener {
interface IGaoDeMapLocationListener {
/**
* 定位发生改变
*
* @param location 新定位点
*/
fun onLocationChanged(location: MogoLocation?, from: Int, isGps: Boolean)
fun onMoGoLocationChanged(location: MogoLocation)
}

View File

@@ -35,6 +35,13 @@ public interface IMogoMarkerService {
*/
void renderStopLineMarker(double lon, double lat);
/**
* 绘制箭头
* @param location
* @param markerType
* @param type
* @param rotate
*/
void drawerArrowsMarkerWithLocation(MogoLatLng location, String markerType, int type, int rotate);
/**

View File

@@ -30,7 +30,13 @@ public interface IMogoSmallMapProvider {
*/
void clearPolyline();
/**
* 查询全揽模式下V2X事件
*/
default void startQueryV2XEvents() {}
/**
* 清除V2X事件
*/
default void clearV2XMarkers() {}
}

View File

@@ -1,19 +0,0 @@
package com.mogo.eagle.core.function.api.monitoring
import com.mogo.eagle.core.function.api.base.IMoGoFunctionServerProvider
import com.mogo.eagle.core.data.camera.CameraEntity
/**
* @author xiaoyuzhou
* @date 2021/10/29 10:35 上午
* 超视距功能,路测摄像头,前车摄像头监控
*/
interface IMoGoMonitoringProvider : IMoGoFunctionServerProvider {
val cameraList: List<CameraEntity>?
fun openCameraStream(cameraIp: String)
fun openCameraStream(cameraIp: String, success: (String) -> Unit, error: (Throwable) -> Unit)
/**
* 防止回调摄像头列表View的相关调用
*/
fun disposeCameraStream()
}

View File

@@ -1,13 +0,0 @@
package com.mogo.eagle.core.function.api.notice;
import com.mogo.eagle.core.function.api.base.IMoGoFunctionServerProvider;
/**
* @author Jing
* @description
* @since: 10/27/21
*/
public interface IMoGoNoticeProvider extends IMoGoFunctionServerProvider {
void feedBackNoticeTraffic(String infoId, String sn, int accept);
void requestAccidentInfo(String infoId, String sn,NoticeNetCallBack callBack);
}

View File

@@ -1,12 +0,0 @@
package com.mogo.eagle.core.function.api.notice;
import com.mogo.eagle.core.data.notice.NoticeTrafficStyleInfo;
/**
* @author Jing
* @description 网络请求回调
* @since: 11/3/21
*/
public interface NoticeNetCallBack {
void callBackWithResult(NoticeTrafficStyleInfo trafficInfo);
}

View File

@@ -1,12 +0,0 @@
package com.mogo.eagle.core.function.api.obu
/**
* @author lixiaopeng
* @date 2022/1/30 1028 下午
* OBU 灯态信息 消失
*/
interface IMoGoObuTrafficLightDisapperListener {
fun onObuLightDisapper()
}

View File

@@ -1,14 +0,0 @@
package com.mogo.eagle.core.function.api.obu
/**
* @author lixiaopeng
* @date 2022/1/30 1028 下午
* OBU 灯态信息
*/
interface IMoGoObuTrafficLightListener {
/**
* @param light 灯的信息
*/
fun onObuTrafficLight(light: Int){}
}

View File

@@ -25,7 +25,7 @@ interface MoGoUiSettingProvider {
/**
* 退出 皮肤 白天 模式
*/
fun stepOutDayMode()
fun stepInNightMode()
/**
* 获取 皮肤 模式

View File

@@ -0,0 +1,9 @@
package com.mogo.eagle.core.function.api.startup
import com.alibaba.android.arouter.facade.template.IProvider
interface IStartUpProvider: IProvider {
fun initStageOne()
fun initStageTwo()
}

View File

@@ -9,5 +9,9 @@ interface IMogoTelematicProvider: IProvider {
fun getServerIp(): String
fun getServerToken(): String
fun getServerToken(): String?
fun sendMsgToAllClients(type: Int, byteArray: ByteArray)
fun sendMsgToServer(type: Int, byteArray: ByteArray)
}

View File

@@ -0,0 +1,5 @@
package com.mogo.eagle.core.function.api.telematic
interface IReceivedMsgListener {
fun onReceivedMsg(type: Int, byteArray: ByteArray)
}

View File

@@ -1,26 +0,0 @@
package com.mogo.eagle.core.function.api.trafficlight
import com.mogo.eagle.core.data.trafficlight.TrafficLightResult
interface IMoGoTrafficLightListener {
/**
* 当前红绿灯状态,包含红绿灯灯态,倒计时秒数,灯态经纬度,时间戳,剩余时间
*/
fun onTrafficLightStatus(trafficLightResult: TrafficLightResult)
/**
* 车辆进入路口回调
*/
fun onEnterCrossRoad(enter:Boolean){
}
/**
* 红绿灯接口请求失败
*/
fun onTrafficRequestError(){
}
}

View File

@@ -1,28 +0,0 @@
package com.mogo.eagle.core.function.api.trafficlight
import android.content.Context
import com.mogo.eagle.core.data.trafficlight.TrafficLightControl
import com.mogo.eagle.core.data.trafficlight.TrafficLightDetail
import com.mogo.eagle.core.function.api.base.IMoGoFunctionServerProvider
interface ITrafficLightProvider : IMoGoFunctionServerProvider {
fun initTrafficLightServer(context: Context)
/**
* 获取当前红绿灯数据状态
*/
fun getTrafficLightCurrentState(): TrafficLightDetail?
/**
* 变灯
*/
fun turnLightToGreen(
lightId: Int,
crossingNo: String,
heading: Double,
controlTime:Int,
onSuccess: ((TrafficLightControl) -> Unit),
onError: ((String) -> Unit)
)
}

View File

@@ -1,4 +1,4 @@
package com.mogo.eagle.core.function.api.vip
package com.mogo.eagle.core.function.api.v2x
interface IMoGoVipSetListener {

View File

@@ -1,8 +0,0 @@
package com.mogo.eagle.core.function.api.v2x
/**
* 限速信息回掉
*/
interface LimitingVelocityListener {
fun onLimitingVelocityChange(limitingVelocity: Int)
}