[merge2master]
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
package com.mogo.eagle.core.function.api.autopilot
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* pnc actions 决策 驾驶的意图
|
||||
*/
|
||||
interface IMoGoAutopilotActionsListener {
|
||||
|
||||
/**
|
||||
|
||||
@@ -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?)
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
@@ -1,8 +1,5 @@
|
||||
package com.mogo.eagle.core.function.api.autopilot
|
||||
|
||||
import mogo.telematics.pad.MessagePad
|
||||
import rule_segement.MogoPointCloudOuterClass
|
||||
|
||||
|
||||
/**
|
||||
* @author xiaoyuzhou
|
||||
|
||||
@@ -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 {
|
||||
|
||||
/**
|
||||
|
||||
@@ -41,7 +41,6 @@ interface IMoGoAutopilotStatusListener {
|
||||
*/
|
||||
fun onAutopilotIpcConnectStatusChanged(status: Int, reason: String?) {}
|
||||
|
||||
|
||||
/**
|
||||
* 工控机主动查询 AdasManager#sendStatusQueryReq(),后会收到如下回调
|
||||
*/
|
||||
|
||||
@@ -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) {}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.mogo.eagle.core.function.api.autopilot
|
||||
|
||||
import chassis.ChassisStatesOuterClass
|
||||
|
||||
/**
|
||||
* 电池管理系统
|
||||
*/
|
||||
interface IMoGoBatteryManagementSystemListener {
|
||||
/**
|
||||
* 电池管理系统
|
||||
*/
|
||||
fun onBatteryManagementSystemStates(states: ChassisStatesOuterClass.BMSSystemStates)
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.mogo.eagle.core.function.api.autopilot
|
||||
|
||||
/**
|
||||
* 车辆加速度 数据 回调监听
|
||||
*/
|
||||
interface IMoGoChassisAccStateListener {
|
||||
|
||||
/**
|
||||
* 车辆加速度
|
||||
*/
|
||||
fun onAutopilotAcc(carAcc: Float)
|
||||
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.mogo.eagle.core.function.api.autopilot
|
||||
|
||||
/**
|
||||
* 刹车 数据 回调监听
|
||||
*/
|
||||
interface IMoGoChassisBrakeStateListener {
|
||||
|
||||
/**
|
||||
* 刹车
|
||||
*/
|
||||
fun onAutopilotBrake(brake: Float)
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.mogo.eagle.core.function.api.autopilot
|
||||
|
||||
import chassis.Chassis
|
||||
|
||||
/**
|
||||
* 车辆挂档档位 数据 回调监听
|
||||
*/
|
||||
interface IMoGoChassisGearStateListener {
|
||||
|
||||
/**
|
||||
* 车辆挂档档位
|
||||
* @param gear 档位
|
||||
*/
|
||||
fun onAutopilotGearData(gear: Chassis.GearPosition)
|
||||
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
@@ -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){}
|
||||
|
||||
}
|
||||
@@ -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?)
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.mogo.eagle.core.function.api.autopilot
|
||||
|
||||
/**
|
||||
* 车辆方向盘转向角 数据 回调监听
|
||||
*/
|
||||
interface IMoGoChassisSteeringStateListener {
|
||||
|
||||
/**
|
||||
* 车辆方向盘转向角回调
|
||||
* @param steering 方向盘转向角
|
||||
*/
|
||||
fun onAutopilotSteeringData(steering: Float)
|
||||
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.mogo.eagle.core.function.api.autopilot
|
||||
|
||||
/**
|
||||
* 油门 数据 回调监听
|
||||
*/
|
||||
interface IMoGoChassisThrottleStateListener {
|
||||
|
||||
/**
|
||||
* 油门
|
||||
*/
|
||||
fun onAutopilotThrottle(throttle: Float)
|
||||
}
|
||||
@@ -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 工控机经纬度 绘制时转成高德经纬度
|
||||
@@ -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>)
|
||||
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package com.mogo.eagle.core.function.api.autopilot
|
||||
|
||||
import chassis.VehicleStateOuterClass
|
||||
|
||||
/**
|
||||
* 金旅M1
|
||||
*/
|
||||
interface IMoGoRoboBusJinlvM1StatesListener {
|
||||
|
||||
fun onRoboBusJinlvM1States(states: VehicleStateOuterClass.RoboBusJinlvM1State)
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package com.mogo.eagle.core.function.api.autopilot
|
||||
|
||||
/**
|
||||
* 清扫车(福田)后摄像头视频数据
|
||||
*/
|
||||
interface IMoGoSweeperFutianBackCameraVideoListener {
|
||||
/**
|
||||
* 清扫车(福田)后摄像头视频数据 10Hz 每一帧为一张图片
|
||||
*/
|
||||
fun onSweeperFutianBackCameraVideo(data: ByteArray)
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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()
|
||||
|
||||
}
|
||||
@@ -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();
|
||||
|
||||
}
|
||||
@@ -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>?) {}
|
||||
}
|
||||
@@ -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()
|
||||
|
||||
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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())
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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){}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package com.mogo.eagle.core.function.api.datacenter
|
||||
|
||||
import com.mogo.eagle.core.function.api.base.IMoGoFunctionServerProvider
|
||||
|
||||
interface IDataCenterProvider: IMoGoFunctionServerProvider {
|
||||
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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)
|
||||
|
||||
}
|
||||
@@ -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)
|
||||
|
||||
}
|
||||
@@ -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)
|
||||
|
||||
}
|
||||
@@ -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()
|
||||
}
|
||||
@@ -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)
|
||||
|
||||
}
|
||||
@@ -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时延
|
||||
@@ -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)
|
||||
|
||||
}
|
||||
@@ -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)
|
||||
|
||||
}
|
||||
@@ -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)
|
||||
|
||||
}
|
||||
@@ -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)
|
||||
|
||||
}
|
||||
@@ -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)
|
||||
|
||||
}
|
||||
@@ -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?)
|
||||
|
||||
}
|
||||
@@ -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){}
|
||||
}
|
||||
@@ -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() {}
|
||||
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
@@ -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>?)
|
||||
}
|
||||
@@ -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?
|
||||
}
|
||||
@@ -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
|
||||
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
package com.mogo.eagle.core.function.api.devatools.strict
|
||||
|
||||
|
||||
/**
|
||||
* 系统严格模式功能封装
|
||||
*/
|
||||
interface IStrictModeProvider {
|
||||
|
||||
fun enable()
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
package com.mogo.eagle.core.function.api.dispatch
|
||||
|
||||
import com.mogo.eagle.core.function.api.base.IMoGoFunctionServerProvider
|
||||
|
||||
interface IDispatchProvider : IMoGoFunctionServerProvider {
|
||||
|
||||
}
|
||||
@@ -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?
|
||||
}
|
||||
}
|
||||
@@ -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) {}
|
||||
}
|
||||
@@ -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){}
|
||||
}
|
||||
@@ -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
|
||||
|
||||
}
|
||||
@@ -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){}
|
||||
|
||||
}
|
||||
@@ -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) {}
|
||||
}
|
||||
@@ -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(){}
|
||||
}
|
||||
@@ -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)
|
||||
|
||||
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
@@ -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})"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
/**
|
||||
|
||||
@@ -30,7 +30,13 @@ public interface IMogoSmallMapProvider {
|
||||
*/
|
||||
void clearPolyline();
|
||||
|
||||
/**
|
||||
* 查询全揽模式下V2X事件
|
||||
*/
|
||||
default void startQueryV2XEvents() {}
|
||||
|
||||
/**
|
||||
* 清除V2X事件
|
||||
*/
|
||||
default void clearV2XMarkers() {}
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
package com.mogo.eagle.core.function.api.obu
|
||||
|
||||
|
||||
/**
|
||||
* @author lixiaopeng
|
||||
* @date 2022/1/30 10:28 下午
|
||||
* OBU 灯态信息 消失
|
||||
*/
|
||||
interface IMoGoObuTrafficLightDisapperListener {
|
||||
|
||||
fun onObuLightDisapper()
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
package com.mogo.eagle.core.function.api.obu
|
||||
|
||||
|
||||
/**
|
||||
* @author lixiaopeng
|
||||
* @date 2022/1/30 10:28 下午
|
||||
* OBU 灯态信息
|
||||
*/
|
||||
interface IMoGoObuTrafficLightListener {
|
||||
/**
|
||||
* @param light 灯的信息
|
||||
*/
|
||||
fun onObuTrafficLight(light: Int){}
|
||||
}
|
||||
@@ -25,7 +25,7 @@ interface MoGoUiSettingProvider {
|
||||
/**
|
||||
* 退出 皮肤 白天 模式
|
||||
*/
|
||||
fun stepOutDayMode()
|
||||
fun stepInNightMode()
|
||||
|
||||
/**
|
||||
* 获取 皮肤 模式
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.mogo.eagle.core.function.api.telematic
|
||||
|
||||
interface IReceivedMsgListener {
|
||||
fun onReceivedMsg(type: Int, byteArray: ByteArray)
|
||||
}
|
||||
@@ -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(){
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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)
|
||||
)
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.eagle.core.function.api.vip
|
||||
package com.mogo.eagle.core.function.api.v2x
|
||||
|
||||
interface IMoGoVipSetListener {
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
package com.mogo.eagle.core.function.api.v2x
|
||||
|
||||
/**
|
||||
* 限速信息回掉
|
||||
*/
|
||||
interface LimitingVelocityListener {
|
||||
fun onLimitingVelocityChange(limitingVelocity: Int)
|
||||
}
|
||||
Reference in New Issue
Block a user