Merge branch 'dev_arch_opt_3.0' into dev_robobus-m1-p-app-module_1.0.0_230112_1.0.0

# Conflicts:
#	app/build.gradle
#	app/functions/och.gradle
#	core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/ToggleDebugView.kt
This commit is contained in:
yangyakun
2023-03-03 14:54:30 +08:00
215 changed files with 1448 additions and 1422 deletions

View File

@@ -4,6 +4,7 @@ import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_BUS
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.TextView;
@@ -20,6 +21,7 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener;
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager;
import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager;
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant;
import com.mogo.eagle.core.utilcode.util.ToastUtils;
import com.mogo.map.marker.IMogoMarker;
import com.mogo.map.marker.MogoMarkerOptions;
@@ -434,6 +436,7 @@ public class BusFragment extends BaseBusTabFragment<BusFragment, BusPresenter>
}
//清除鹰眼右下角小地图轨迹
CallerLogger.INSTANCE.d(SceneConstant.M_MAP, "clearBusStationsMarkers --------->");
smallMapView.clearPolyline();
}

View File

@@ -1,6 +1,7 @@
package com.mogo.och.bus.model;
import android.content.Context;
import android.util.Log;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.eagle.core.utilcode.util.NetworkUtils;

View File

@@ -256,14 +256,17 @@ android {
qa {
dimension "env"
buildConfigField 'int', 'NET_ENV', '2'
buildConfigField 'String', 'URLs', "\"${readFileToJson("qa").replace("\"", "\\\"")}\""
}
online {
dimension "env"
buildConfigField 'int', 'NET_ENV', '3'
buildConfigField 'String', 'URLs', "\"${readFileToJson("online").replace("\"", "\\\"")}\""
}
demo {
dimension "env"
buildConfigField 'int', 'NET_ENV', '4'
buildConfigField 'String', 'URLs', "\"${readFileToJson("demo").replace("\"", "\\\"")}\""
}
}
@@ -281,6 +284,8 @@ android {
apply from: "./productFlavors/fMultiDisplayOchBus.gradle"
apply from: "./productFlavors/fMultiDisplayOchTaxi.gradle"
apply from: "./productFlavors/flavorsFilterConfig.gradle"
apply from: "./productFlavors/fMultiDisplaySweeper.gradle"
packagingOptions {
exclude 'META-INF/io.netty.versions.properties'

View File

@@ -61,5 +61,8 @@ project.dependencies {
// taxi乘客端
fMultiDisplayOchTaxiImplementation (project(':OCH:mogo-och-taxi-passenger'))
// 清扫车-多屏幕
fMultiDisplaySweeperImplementation (project(':OCH:mogo-och-sweeper'))
}
}

View File

@@ -0,0 +1,54 @@
project.android.productFlavors {
// 支持多个屏幕异显示的终端,即一个终端包含司机端、乘客端
fMultiDisplaySweeper {
externalNativeBuild {
ndk {
// 设置支持的SO库架构
abiFilters "armeabi-v7a", "arm64-v8a"
}
}
minSdkVersion rootProject.ext.android.minSdkVersionPadLenovo
targetSdkVersion rootProject.ext.android.targetSdkVersionPadLenovo
versionCode rootProject.versionCode as int
versionName rootProject.versionName
// 应用包名
applicationId rootProject.ext.android.fLauncherApplicationId
dimension "product"
// 车机类型主要用于区分自研车机还是别人家的车机自研车机类型为0
buildConfigField 'int', 'CAR_MACHINE_TYPE', '2'
// 配置AndroidManifest.xml中用到的参数
manifestPlaceholders = [
// 高德地图鉴权信息
AMAP_API_VALUE : rootProject.ext.android.fLauncherAmapApiValue,
// BUGLY_APP_CHANNEL
CHANNEL_VALUE : "fMultiDisplaySweeper",
// 在启动的时候把Task给清空
ACTIVITY_ROOT : true,
// Activity的朝向
SCREEN_ORIENTATION: "landscape"
]
// 是否需要实时上报坐标
buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'true'
// GPS数据提供源 0-Android系统1-工控机2-OBU
buildConfigField 'int', 'GPS_PROVIDER', "1"
// 构建的应用身份类型,具体查看 README.md APP_IDENTITY_MODE规则
buildConfigField 'String', 'APP_IDENTITY_MODE', "\"Taxi_Driver_Base\""
// 连接的工控机IP地址
buildConfigField 'String', 'ADAS_CONNECT_IP', "\"192.168.1.102\""
// 构建的是否是演示(美化)模式
buildConfigField 'boolean', 'IS_DEMO_MODE', 'false'
// 构建的是否要动态更换模型
buildConfigField 'boolean', 'IS_CAR_MODEL_CHANGE', 'true'
// 构建 是否支持多屏异显异交互
buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'true'
//不能启动自驾的档位
buildConfigField 'java.util.Set<chassis.Chassis.GearPosition>', 'UNABLE_LAUNCH_AUTOPILOT_GEAR', 'null'
}
}

View File

@@ -1,6 +1,7 @@
package com.mogo.launcher.lancet
import android.content.ComponentName
import android.content.Context
import android.content.Intent
import androidx.annotation.*
import com.knightboost.lancet.api.Origin
@@ -29,4 +30,25 @@ class CrashFix {
null
}
}
/**
* https://console.volcengine.com/apmplus/app/crash/detail/java/bb387ccd9c1a3c6ad2ede4e6f501a5e7?aid=302368&date=%7B%22granularity%22%3A%221h%22%2C%22duration%22%3A%22recently%22%2C%22range%22%3A%221w%22%7D&filters=%7B%22type%22%3A%22and%22%2C%22sub_conditions%22%3A%5B%7B%22dimension%22%3A%22os%22%2C%22op%22%3A%22in%22%2C%22type%22%3A%22expression%22%2C%22values%22%3A%5B%22Android%22%5D%7D%5D%7D&org_id=2100068151&os=Android&page_number=6&status=%5B%22pending%22%2C%22processing%22%2C%22solved%22%2C%22reopen%22%5D
* java.lang.IllegalArgumentException: Invalid audio buffer size.
* at android.media.AudioTrack.audioBuffSizeCheck(AudioTrack.java:1857)
at android.media.AudioTrack.<init>(AudioTrack.java:812)
at android.media.AudioTrack.<init>(AudioTrack.java:754)
at android.media.AudioTrack.<init>(AudioTrack.java:708)
at android.media.AudioTrack.<init>(AudioTrack.java:649)
at com.aispeech.lite.tts.a.a(SourceFile:70)
*/
@Insert
@TargetClass("com.aispeech.lite.tts.a")
@TargetMethod(methodName = "a")
fun fixAiSpeechCrash(context: Context, arg1: Int, arg2: Int) {
try {
Origin.callVoid()
} catch (t: Throwable) {
t.printStackTrace()
}
}
}

View File

@@ -6,7 +6,7 @@ import com.mogo.eagle.core.data.app.AppConfigInfo
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.data.config.HdMapBuildConfig
import com.mogo.eagle.core.data.config.HmiBuildConfig
import com.mogo.eagle.core.data.deva.net.UrlConfig
import com.mogo.eagle.core.data.app.UrlConfig
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
import com.mogo.eagle.core.utilcode.util.GsonUtils
import com.mogo.launcher.BuildConfig

View File

@@ -2,6 +2,18 @@ import java.text.SimpleDateFormat
apply plugin: 'com.android.application'
// 定义当前gradle文件的全局变量
ext {
//主版本号
MAJOR_VERSION = 1
//次版本号
MINOR_VERSION = 0
createFile()
buildTimes = getBuildTime()
isRelease = checkRelease()
gitBranchName = getWorkingBranchName()
}
android {
compileSdkVersion rootProject.ext.android.compileSdkVersion
defaultConfig {
@@ -9,8 +21,8 @@ android {
minSdkVersion rootProject.ext.android.minSdkVersion
targetSdkVersion 25
multiDexEnabled true
versionCode 1
versionName "1.0"
versionCode increasedVersionCode()
versionName increasedVersionName()
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
flavorDimensions "multi_device"
@@ -42,14 +54,46 @@ android {
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
//配置自定义打包名称
applicationVariants.all { variant ->
def buildTypeName = variant.buildType.name
//println("buildTypeName-------->" + buildTypeName)
variant.outputs.all {
StringBuffer buffer = new StringBuffer()
buffer.append(getProject().name)
buffer.append("_")
buffer.append(defaultConfig.versionName)
buffer.append(".")
buffer.append(buildTimes)
buffer.append("_")
buffer.append(gitBranchName)
buffer.append("_")
//获取渠道编号
String flavor = variant.flavorName
if (flavor != null && flavor != "") {
buffer.append(flavor)
buffer.append("_")
}
//获取打包时间
def fileName = "${buffer.toString()}${buildTypeName}.apk"
//测试文件名称
buildConfigField 'String', 'APK_NAME', "\"${fileName}\""
//println("fileName-------->" + fileName)
//这里修改apk文件名
outputFileName = fileName
}
}
//插入构建时间
buildTypes.each {
//设置时间格式
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd.HHmmss", Locale.getDefault())
//获取当前时间
Date curDate = new Date(System.currentTimeMillis())
String buildTime = formatter.format(curDate)
it.buildConfigField 'String', 'BUILD_TIME', "\"${buildTime}\""
it.buildConfigField 'String', 'BUILD_TIME', "\"${buildTimes}\""
it.buildConfigField 'String', 'GIT_BRANCH_NAME', "\"${gitBranchName}\""
it.buildConfigField 'java.util.Set<chassis.Chassis.GearPosition>', 'UNABLE_LAUNCH_AUTOPILOT_GEAR_TAXI', 'new java.util.HashSet<chassis.Chassis.GearPosition>(){{add(chassis.Chassis.GearPosition.GEAR_P);add(chassis.Chassis.GearPosition.GEAR_R);}}'
it.buildConfigField 'java.util.Set<chassis.Chassis.GearPosition>', 'UNABLE_LAUNCH_AUTOPILOT_GEAR_BUS', 'new java.util.HashSet<chassis.Chassis.GearPosition>(){{add(chassis.Chassis.GearPosition.GEAR_N);add(chassis.Chassis.GearPosition.GEAR_R);}}'
it.buildConfigField 'java.util.Set<chassis.Chassis.GearPosition>', 'UNABLE_LAUNCH_AUTOPILOT_GEAR_M1', 'null'
it.buildConfigField 'java.util.Set<chassis.Chassis.GearPosition>', 'UNABLE_LAUNCH_AUTOPILOT_GEAR_M2', 'new java.util.HashSet<chassis.Chassis.GearPosition>(){{add(chassis.Chassis.GearPosition.GEAR_N);add(chassis.Chassis.GearPosition.GEAR_P);add(chassis.Chassis.GearPosition.GEAR_R);}}'
it.buildConfigField 'java.util.Set<chassis.Chassis.GearPosition>', 'UNABLE_LAUNCH_AUTOPILOT_GEAR_SWEEPER', 'null'
it.buildConfigField 'java.util.Set<chassis.Chassis.GearPosition>', 'UNABLE_LAUNCH_AUTOPILOT_GEAR_VAN', 'null'
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
@@ -64,12 +108,7 @@ android {
driver {
dimension "multi_device"
buildConfigField 'boolean', 'IS_CLIENT', 'false'
buildConfigField 'java.util.Set<chassis.Chassis.GearPosition>', 'UNABLE_LAUNCH_AUTOPILOT_GEAR_TAXI', 'new java.util.HashSet<chassis.Chassis.GearPosition>(){{add(chassis.Chassis.GearPosition.GEAR_P);add(chassis.Chassis.GearPosition.GEAR_R);}}'
buildConfigField 'java.util.Set<chassis.Chassis.GearPosition>', 'UNABLE_LAUNCH_AUTOPILOT_GEAR_BUS', 'new java.util.HashSet<chassis.Chassis.GearPosition>(){{add(chassis.Chassis.GearPosition.GEAR_N);add(chassis.Chassis.GearPosition.GEAR_R);}}'
buildConfigField 'java.util.Set<chassis.Chassis.GearPosition>', 'UNABLE_LAUNCH_AUTOPILOT_GEAR_M1', 'null'
buildConfigField 'java.util.Set<chassis.Chassis.GearPosition>', 'UNABLE_LAUNCH_AUTOPILOT_GEAR_M2', 'new java.util.HashSet<chassis.Chassis.GearPosition>(){{add(chassis.Chassis.GearPosition.GEAR_N);add(chassis.Chassis.GearPosition.GEAR_P);add(chassis.Chassis.GearPosition.GEAR_R);}}'
buildConfigField 'java.util.Set<chassis.Chassis.GearPosition>', 'UNABLE_LAUNCH_AUTOPILOT_GEAR_SWEEPER', 'new java.util.HashSet<chassis.Chassis.GearPosition>(){{add(chassis.Chassis.GearPosition.GEAR_N);}}'
buildConfigField 'java.util.Set<chassis.Chassis.GearPosition>', 'UNABLE_LAUNCH_AUTOPILOT_GEAR_VAN', 'null'
}
}
@@ -103,3 +142,103 @@ dependencies {
// implementation 'com.mogo.cloud:telematic:1.3.59'//注释掉司机端 乘客端
implementation 'com.jcraft:jsch:0.1.55'
}
// 删除老的APK
def checkRelease() {
def runTasks = gradle.startParameter.taskNames
for (String task : runTasks) {
// 我这里认为执行“assembleRelease”和非“debug”的任务就是执行“release”的任务
if (task.contains("assembleRelease") || task.contains("Release")) {
deleteOldAPK("release")
return true
} else if (task.contains("Debug")) {
deleteOldAPK("debug")
return false
}
}
return false
}
//在Moudle 根目录中创建gradle.properties文件存储VersionCode
def createFile() {
def propFile = file('./gradle.properties')
Properties props = new Properties()
if (!propFile.exists()) {
propFile.createNewFile()
props.load(new FileInputStream(propFile))
props['VERSION_CODE'] = '1'
props.store(propFile.newWriter(), null)
} else {
props.load(new FileInputStream(propFile))
def code = props['VERSION_CODE']
if (code == null || code == "0") {
props['VERSION_CODE'] = '1'
props.store(propFile.newWriter(), null)
}
}
}
//读取VersionCode
def readVersionCode() {
def propFile = file('./gradle.properties')
Properties props = new Properties()
props.load(new FileInputStream(propFile))
// 读取gradle.properties文件中定义的VERSION_CODE属性
def code = props['VERSION_CODE'].toInteger()
//def code = props.getProperty('VERSION_CODE').toInteger()
return code
}
//当打包的是Release版本时自动更新VersionCode
def increasedVersionCode() {
def code = readVersionCode()
//println("isRelease====" + isRelease)
if (isRelease) {
code++
def propFile = file('./gradle.properties')
Properties props = new Properties()
props.load(new FileInputStream(propFile))
props['VERSION_CODE'] = code.toString()
// 将最新的versionCode写入gradle.properties文件中
props.store(propFile.newWriter(), null)
}
return code
}
//删除无用apk
def deleteOldAPK(String buildTypeName) {
// 使用map创建一个树
def tree = fileTree(dir: './build/outputs/apk', include: "${buildTypeName}/*.apk")
//println("文件个数:" + tree.size())
// 遍历文件树
tree.each { File file ->
//println("删除文件名称:" + file)
file.delete()
}
}
def increasedVersionName() {
def versionName = "${MAJOR_VERSION}.${MINOR_VERSION}.${readVersionCode()}"
return versionName
}
def getBuildTime() {
//设置时间格式
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd.HHmmss", Locale.getDefault())
//获取当前时间
Date curDate = new Date(System.currentTimeMillis())
return formatter.format(curDate)
}
/**
* @return 获取当前分支名称
*/
def getWorkingBranchName() {
def workingBranchName = ""
def proc = "git rev-parse --abbrev-ref HEAD".execute()
proc.in.eachLine { line -> workingBranchName = line }
proc.err.eachLine { line -> println line }
proc.waitFor()
workingBranchName = "${workingBranchName}"
println "Working branch name: " + workingBranchName
return workingBranchName
}

View File

@@ -0,0 +1,2 @@
#Thu Mar 02 14:18:22 CST 2023
VERSION_CODE=2

View File

@@ -0,0 +1,326 @@
package com.zhidao.adas.client;
import android.util.Log;
import com.google.protobuf.TextFormat;
import com.mogo.support.obu.MogoObuManager;
import com.mogo.support.obu.ObuScene;
import com.mogo.support.obu.constants.MogoObuConstants;
import com.mogo.support.obu.constants.MogoObuTopicId;
import com.mogo.support.obu.model.MogoObuHvBasicsData;
import com.mogo.support.obu.model.MogoObuMapMathData;
import com.mogo.support.obu.model.MogoObuRsiWarningData;
import com.mogo.support.obu.model.MogoObuRsmWarningData;
import com.mogo.support.obu.model.MogoObuRvWarningData;
import com.mogo.support.obu.model.MogoObuSpatWarningData;
import com.mogo.support.obu.model.advance.AccFourAxes;
import com.mogo.support.obu.model.advance.DateTime;
import com.mogo.support.obu.model.advance.NodeId;
import com.mogo.support.obu.model.advance.Participant;
import com.mogo.support.obu.model.advance.PositionLLV;
import com.mogo.support.obu.model.advance.RsiWarning;
import com.mogo.support.obu.model.advance.SpatLight;
import com.mogo.support.obu.model.advance.V2xWarning;
import com.mogo.support.obu.model.advance.VehBasics;
import com.mogo.support.obu.model.advance.VehControl;
import com.mogo.support.obu.model.advance.VehSize;
import com.mogo.support.obu.model.advance.VerticalLLV;
import com.mogo.support.obu.model.advance.WarningData;
import com.zhidao.support.adas.high.common.ThreadPoolManager;
import com.zhidao.support.obu.ObuManager;
import com.zhidao.support.obu.OnObuListener;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;
import mogo.telematics.pad.MessagePad;
/**
* OBU SDK Java对象转PB对象测试
*/
public class ObuTest {
public static void start() {
Runnable runnable = new Runnable() {
@Override
public void run() {
ObuManager.getInstance().registerObuListener(listener);
Class clazz = MogoObuManager.class;
MogoObuManager mogoObuManager = MogoObuManager.getInstance();
Method[] methods = clazz.getDeclaredMethods();
for (Method m : methods) {
String name = m.getName();
if ("onObuCallback".equals(name)) {
m.setAccessible(true);
try {
m.invoke(mogoObuManager, MogoObuTopicId.HV_BASIC.id, buildMogoObuHvBasicsData());
m.invoke(mogoObuManager, MogoObuTopicId.RV_WARNING.id, buildMogoObuRvWarningData());
m.invoke(mogoObuManager, MogoObuTopicId.SPAT_WARNING.id, buildMogoObuSpatWarningData());
m.invoke(mogoObuManager, MogoObuTopicId.RSI_WARNING.id, buildMogoObuRsiWarningData());
m.invoke(mogoObuManager, MogoObuTopicId.RSM_WARNING.id, buildMogoObuRsmWarningData());
m.invoke(mogoObuManager, MogoObuTopicId.MAP_MATCH.id, buildMogoObuMapMathData());
} catch (IllegalAccessException | InvocationTargetException e) {
e.printStackTrace();
}
break;
}
}
}
};
ThreadPoolManager.getsInstance().execute(runnable);
}
private static int have(int unitMask, int mask) {
unitMask += mask;
return unitMask;
}
private static MogoObuHvBasicsData buildMogoObuHvBasicsData() {
int vehBasicsUnitMask = 0;
vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.ID);
vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.SEC_MARK);
vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.LATITUDE);
vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.LONGITUDE);
vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.ELEVATION);
vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.SPEED);
vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.HEADING);
vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.ACC_FOUR_AXES);
vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.VEH_SIZE);
vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.VEH_CLASS);
vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.VEH_CONTROL_MSG);
vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.TARGET_POSITION);
VehBasics vehBasics = new VehBasics(vehBasicsUnitMask);
vehBasics.setId("aaa");
vehBasics.setLatitude(10000000);
vehBasics.setLongitude(20000000);
vehBasics.setElevation(2000);
vehBasics.setSpeed(3000);
vehBasics.setHeading(4000);
vehBasics.setAccFourAxes(new AccFourAxes(200, 201, 202, 203));
vehBasics.setVehSize(new VehSize(300, 301, 302));
vehBasics.setVehClass(303);
int vehControlUnitMask = 0;
vehControlUnitMask = have(vehControlUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_CONTROL.BRAKE_PEDAL_STATUS);
vehControlUnitMask = have(vehControlUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_CONTROL.TRANSMISSION_STATUS);
vehControlUnitMask = have(vehControlUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_CONTROL.EXTERIOR_LIGHTS);
VehControl vehControl = new VehControl(vehControlUnitMask);
vehControl.setBrakePedalStatus(401);
vehControl.setTransmissionStatus(402);
vehControl.setExteriorLights(403);
vehBasics.setVehControlMsg(vehControl);
vehBasics.setTargetPosition(8);
MogoObuHvBasicsData data = new MogoObuHvBasicsData(1, vehBasics);
return data;
}
private static MogoObuRvWarningData buildMogoObuRvWarningData() {
int vehBasicsUnitMask = 0;
vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.ID);
vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.SEC_MARK);
vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.LATITUDE);
vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.LONGITUDE);
vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.ELEVATION);
vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.SPEED);
vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.HEADING);
vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.ACC_FOUR_AXES);
vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.VEH_SIZE);
vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.VEH_CLASS);
vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.VEH_CONTROL_MSG);
vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.TARGET_POSITION);
VehBasics vehBasics = new VehBasics(vehBasicsUnitMask);
vehBasics.setId("aaa");
vehBasics.setLatitude(20000000);
vehBasics.setLongitude(30000000);
vehBasics.setElevation(4000);
vehBasics.setSpeed(5000);
vehBasics.setHeading(6000);
vehBasics.setAccFourAxes(new AccFourAxes(700, 801, 902, 1003));
vehBasics.setVehSize(new VehSize(1100, 1201, 1302));
vehBasics.setVehClass(1403);
int vehControlUnitMask = 0;
vehControlUnitMask = have(vehControlUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_CONTROL.BRAKE_PEDAL_STATUS);
vehControlUnitMask = have(vehControlUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_CONTROL.TRANSMISSION_STATUS);
vehControlUnitMask = have(vehControlUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_CONTROL.EXTERIOR_LIGHTS);
VehControl vehControl = new VehControl(vehControlUnitMask);
vehControl.setBrakePedalStatus(1501);
vehControl.setTransmissionStatus(1602);
vehControl.setExteriorLights(1703);
vehBasics.setVehControlMsg(vehControl);
vehBasics.setTargetPosition(18);
int v2xWarningUnitMask = 0;
v2xWarningUnitMask = have(v2xWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING.WARNING_NUM);
v2xWarningUnitMask = have(v2xWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING.WARNING_DATA);
v2xWarningUnitMask = have(v2xWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING.WARNING_TIME);
v2xWarningUnitMask = have(v2xWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING.DISTANCE);
V2xWarning v2xWarning = new V2xWarning(v2xWarningUnitMask);
DateTime dateTime = new DateTime(19, 20, 21, 22, 23, 24, 25);
List<WarningData> warningDatas = new ArrayList<>();
int warningDataMask = 0;
warningDataMask = have(warningDataMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING_DATA.STATUS);
warningDataMask = have(warningDataMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING_DATA.WARNING_TYPE);
warningDataMask = have(warningDataMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING_DATA.WARNING_LEVEL);
warningDataMask = have(warningDataMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING_DATA.WARNING_PRIORITY);
WarningData warningData1 = new WarningData(warningDataMask, 3);
warningData1.setWarningType(26);
warningData1.setWarningLevel(27);
warningData1.setWarningPriority(28);
warningDatas.add(warningData1);
WarningData warningData2 = new WarningData(warningDataMask, 4);
warningData2.setWarningType(29);
warningData2.setWarningLevel(30);
warningData2.setWarningPriority(31);
warningDatas.add(warningData2);
v2xWarning.setWarningNum(2);
v2xWarning.setWarningData(warningDatas);
v2xWarning.setWarningTime(dateTime);
v2xWarning.setDistance(32);
MogoObuRvWarningData data = new MogoObuRvWarningData(2, vehBasics, v2xWarning);
return data;
}
private static MogoObuSpatWarningData buildMogoObuSpatWarningData() {
List<SpatLight> lights = new ArrayList<>();
lights.add(new SpatLight(35, 36, 37, 38, 39, 40));
lights.add(new SpatLight(41, 42, 43, 44, 45, 46));
lights.add(new SpatLight(47, 48, 49, 50, 51, 52));
MogoObuSpatWarningData data = new MogoObuSpatWarningData(33, 34, 3, lights);
return data;
}
private static MogoObuRsiWarningData buildMogoObuRsiWarningData() {
List<RsiWarning> list = new ArrayList<>();
int rsiWarningUnitMask = 0;
rsiWarningUnitMask = have(rsiWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_RSI_WARNING.SCENE_TYPE);
rsiWarningUnitMask = have(rsiWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_RSI_WARNING.POSITION);
rsiWarningUnitMask = have(rsiWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_RSI_WARNING.SIGN_SERIAL_NUM);
rsiWarningUnitMask = have(rsiWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_RSI_WARNING.EVENT_SERIAL_NUM);
rsiWarningUnitMask = have(rsiWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_RSI_WARNING.SPEED_MAX_LIMIT);
rsiWarningUnitMask = have(rsiWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_RSI_WARNING.SPEED_MIN_LIMIT);
rsiWarningUnitMask = have(rsiWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_RSI_WARNING.EVENT_RADIUS);
rsiWarningUnitMask = have(rsiWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_RSI_WARNING.WARNING_LEVEL);
rsiWarningUnitMask = have(rsiWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_RSI_WARNING.TARGET_POSITION);
rsiWarningUnitMask = have(rsiWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_RSI_WARNING.DISTANCE);
RsiWarning rsiWarning1 = new RsiWarning(rsiWarningUnitMask);
rsiWarning1.setSceneType(53);
rsiWarning1.setPosition(new PositionLLV(7, 54, 55, new VerticalLLV(7, 56)));
rsiWarning1.setSignSerialNum(57);
rsiWarning1.setEventSerialNum(58);
rsiWarning1.setSpeedMinLimit(59);
rsiWarning1.setSpeedMaxLimit(60);
rsiWarning1.setEventRadius(61);
rsiWarning1.setWarningLevel(62);
rsiWarning1.setTargetPosition(63);
rsiWarning1.setDistance(64);
list.add(rsiWarning1);
RsiWarning rsiWarning2 = new RsiWarning(rsiWarningUnitMask);
rsiWarning2.setSceneType(65);
rsiWarning2.setPosition(new PositionLLV(7, 66, 67, new VerticalLLV(7, 68)));
rsiWarning2.setSignSerialNum(69);
rsiWarning2.setEventSerialNum(70);
rsiWarning2.setSpeedMinLimit(71);
rsiWarning2.setSpeedMaxLimit(72);
rsiWarning2.setEventRadius(73);
rsiWarning2.setWarningLevel(74);
rsiWarning2.setTargetPosition(75);
rsiWarning2.setDistance(76);
list.add(rsiWarning2);
MogoObuRsiWarningData data = new MogoObuRsiWarningData(53, 2, list);
return data;
}
private static MogoObuRsmWarningData buildMogoObuRsmWarningData() {
Participant participant = new Participant(78, 79, 80, 81, 82, 83, 84, 85, 86, new AccFourAxes(87, 88, 89, 90), new VehSize(91, 92, 93), 94, 95);
int v2xWarningUnitMask = 0;
v2xWarningUnitMask = have(v2xWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING.WARNING_NUM);
v2xWarningUnitMask = have(v2xWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING.WARNING_DATA);
v2xWarningUnitMask = have(v2xWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING.WARNING_TIME);
v2xWarningUnitMask = have(v2xWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING.DISTANCE);
V2xWarning v2xWarning = new V2xWarning(v2xWarningUnitMask);
DateTime dateTime = new DateTime(96, 97, 98, 99, 100, 101, 102);
List<WarningData> warningDatas = new ArrayList<>();
int warningDataMask = 0;
warningDataMask = have(warningDataMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING_DATA.STATUS);
warningDataMask = have(warningDataMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING_DATA.WARNING_TYPE);
warningDataMask = have(warningDataMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING_DATA.WARNING_LEVEL);
warningDataMask = have(warningDataMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING_DATA.WARNING_PRIORITY);
WarningData warningData1 = new WarningData(warningDataMask, 3);
warningData1.setWarningType(103);
warningData1.setWarningLevel(104);
warningData1.setWarningPriority(105);
warningDatas.add(warningData1);
WarningData warningData2 = new WarningData(warningDataMask, 4);
warningData2.setWarningType(106);
warningData2.setWarningLevel(107);
warningData2.setWarningPriority(108);
warningDatas.add(warningData2);
v2xWarning.setWarningNum(2);
v2xWarning.setWarningData(warningDatas);
v2xWarning.setWarningTime(dateTime);
v2xWarning.setDistance(109);
MogoObuRsmWarningData data = new MogoObuRsmWarningData(77, participant, v2xWarning);
return data;
}
private static MogoObuMapMathData buildMogoObuMapMathData() {
int mogoObuMapMathDataUnitMask = 0;
mogoObuMapMathDataUnitMask = have(mogoObuMapMathDataUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_MAP_MATH.CURRENT_NODE_ID);
mogoObuMapMathDataUnitMask = have(mogoObuMapMathDataUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_MAP_MATH.UPSTREAM_NODE_ID);
mogoObuMapMathDataUnitMask = have(mogoObuMapMathDataUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_MAP_MATH.MATCHING_LANE_ID);
mogoObuMapMathDataUnitMask = have(mogoObuMapMathDataUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_MAP_MATH.SPEED_MAX_LIMIT);
mogoObuMapMathDataUnitMask = have(mogoObuMapMathDataUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_MAP_MATH.SPEED_MIN_LIMIT);
MogoObuMapMathData data = new MogoObuMapMathData(mogoObuMapMathDataUnitMask, 110);
data.setCurrentNodeId(new NodeId(111,112));
data.setUpstreamNodeId(new NodeId(113,114));
data.setMatchingLaneId(115);
data.setSpeedMaxLimit(116);
data.setSpeedMinLimit(117);
return data;
}
private static OnObuListener listener = new OnObuListener() {
@Override
public void onConnectStatus(int connectStatus) {
}
@Override
public void onGnssInfo(MessagePad.GnssInfo gnssInfo) {
Log.i("ddddd", "onGnssInfo=\n" + TextFormat.printer().escapingNonAscii(false).printToString(gnssInfo));
}
@Override
public void onObuRvWarning(ObuScene.RvWarningData rvWarningData) {
Log.i("ddddd", "onObuRvWarning=\n" + TextFormat.printer().escapingNonAscii(false).printToString(rvWarningData));
}
@Override
public void onObuSpatWarning(ObuScene.SpatWarningData spatWarningData) {
Log.i("ddddd", "onObuSpatWarning=\n" + TextFormat.printer().escapingNonAscii(false).printToString(spatWarningData));
}
@Override
public void onObuRsiWarning(ObuScene.RsiWarningData rsiWarningData) {
Log.i("ddddd", "onObuRsiWarning=\n" + TextFormat.printer().escapingNonAscii(false).printToString(rsiWarningData));
}
@Override
public void onObuRsmWarning(ObuScene.RsmWarningData rsmWarningData) {
Log.i("ddddd", "onObuRsmWarning=\n" + TextFormat.printer().escapingNonAscii(false).printToString(rsmWarningData));
}
@Override
public void onObuMapMath(ObuScene.MapMatchData mapMatchData) {
Log.i("ddddd", "onObuMapMath=\n" + TextFormat.printer().escapingNonAscii(false).printToString(mapMatchData));
}
};
}

View File

@@ -195,30 +195,36 @@ public class VersionFragment extends BaseFragment {
public void onCheckedChanged(RadioGroup group, int checkedId) {
if (checkedId == R.id.rb_taxi) {
AutopilotAbilityManager.getInstance().setUnableLaunchAutopilotGear(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_TAXI);
gear("TAXI", Arrays.toString(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_TAXI.toArray()));
gear("TAXI", BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_TAXI);
} else if (checkedId == R.id.rb_bus) {
AutopilotAbilityManager.getInstance().setUnableLaunchAutopilotGear(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_BUS);
gear("BUS", Arrays.toString(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_BUS.toArray()));
gear("BUS", BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_BUS);
} else if (checkedId == R.id.rb_sweeper) {
AutopilotAbilityManager.getInstance().setUnableLaunchAutopilotGear(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_SWEEPER);
gear("SWEEPER", Arrays.toString(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_SWEEPER.toArray()));
gear("SWEEPER", BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_SWEEPER);
} else if (checkedId == R.id.rb_m1) {
AutopilotAbilityManager.getInstance().setUnableLaunchAutopilotGear(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_M1);
gear("M1", "无限制");
gear("M1", BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_M1);
} else if (checkedId == R.id.rb_m2) {
AutopilotAbilityManager.getInstance().setUnableLaunchAutopilotGear(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_M2);
gear("M1", Arrays.toString(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_M2.toArray()));
gear("M1", BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_M2);
} else if (checkedId == R.id.rb_van) {
AutopilotAbilityManager.getInstance().setUnableLaunchAutopilotGear(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_VAN);
gear("VAN", "无限制");
gear("VAN", BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_VAN);
}
}
});
gear("TAXI", Arrays.toString(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_TAXI.toArray()));
gear("TAXI", BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_TAXI);
}
private void gear(String car, String gear) {
private void gear(String car, Set<Chassis.GearPosition> unableLaunchAutopilotGear) {
title_gear.setText(car + "不能启动自动驾驶的档位:");
String gear;
if (unableLaunchAutopilotGear == null) {
gear = "无限制";
} else {
gear = Arrays.toString(unableLaunchAutopilotGear.toArray());
}
this.gear.setText(gear);
}
@@ -260,7 +266,10 @@ public class VersionFragment extends BaseFragment {
}
list.add(new Config("ADAS LIB版本:", AdasManager.getInstance().getAdasVersion()));
list.add(new Config("APP版本:", BuildConfig.VERSION_NAME));
list.add(new Config("APP构建时间:", BuildConfig.BUILD_TIME));
list.add(new Config("GIT分支:", BuildConfig.GIT_BRANCH_NAME));
list.add(new Config("APK名称:", BuildConfig.APK_NAME));
adapter.setData(list);
}

View File

@@ -3,7 +3,7 @@ package com.mogo.eagle.function.biz
import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
import com.mogo.eagle.core.data.camera.CameraEntity
import com.mogo.eagle.core.data.biz.camera.CameraEntity
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.data.constants.MogoServicePaths
import com.mogo.eagle.core.function.api.biz.IMoGoFuncBizProvider

View File

@@ -7,7 +7,7 @@ import com.mogo.aicloud.services.socket.IMogoOnMessageListener
import com.mogo.aicloud.services.socket.MogoAiCloudSocketManager
import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters
import com.mogo.eagle.core.data.autopilot.AutopilotRouteInfo
import com.mogo.eagle.core.data.dispatch.DispatchAdasAutoPilotLocReceiverBean
import com.mogo.eagle.core.data.biz.dispatch.DispatchAdasAutoPilotLocReceiverBean
import com.mogo.eagle.core.data.map.MogoLatLng
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
import com.mogo.eagle.core.function.api.autopilot.IMoGoPlanningRottingListener
@@ -228,64 +228,67 @@ class DispatchAutoPilotManager private constructor() :
}
private fun testEZhouStart() {
val adasAutoPilotLocReceiverBean = DispatchAdasAutoPilotLocReceiverBean(
DispatchAdasAutoPilotLocReceiverBean.DISPATCH_SOURCE_EZHOU,
DispatchAdasAutoPilotLocReceiverBean.DISPATCH_TYPE_START,
"1",
26.825571122,
112.5762410415,
"起点---5号跑道",
26.825571122,
112.5762410415,
"终点---鄂州机场",
"5分钟",
"AR453航班",
"你车需执行编号ca1098次航班的引导任务从A区A1到B区B1",
System.currentTimeMillis(),
ArrayList<MogoLatLng>()
)
val adasAutoPilotLocReceiverBean =
DispatchAdasAutoPilotLocReceiverBean(
DispatchAdasAutoPilotLocReceiverBean.DISPATCH_SOURCE_EZHOU,
DispatchAdasAutoPilotLocReceiverBean.DISPATCH_TYPE_START,
"1",
26.825571122,
112.5762410415,
"起点---5号跑道",
26.825571122,
112.5762410415,
"终点---鄂州机场",
"5分钟",
"AR453航班",
"你车需执行编号ca1098次航班的引导任务从A区A1到B区B1",
System.currentTimeMillis(),
ArrayList<MogoLatLng>()
)
receiverBean = adasAutoPilotLocReceiverBean
CallerHmiManager.showDispatchDialog(adasAutoPilotLocReceiverBean)
}
private fun testEZhouStop() {
val adasAutoPilotLocReceiverBean = DispatchAdasAutoPilotLocReceiverBean(
DispatchAdasAutoPilotLocReceiverBean.DISPATCH_SOURCE_EZHOU,
DispatchAdasAutoPilotLocReceiverBean.DISPATCH_TYPE_STOP,
"1",
0.0,
0.0,
"",
0.0,
0.0,
"",
"",
"",
"",
System.currentTimeMillis(),
ArrayList<MogoLatLng>()
)
val adasAutoPilotLocReceiverBean =
DispatchAdasAutoPilotLocReceiverBean(
DispatchAdasAutoPilotLocReceiverBean.DISPATCH_SOURCE_EZHOU,
DispatchAdasAutoPilotLocReceiverBean.DISPATCH_TYPE_STOP,
"1",
0.0,
0.0,
"",
0.0,
0.0,
"",
"",
"",
"",
System.currentTimeMillis(),
ArrayList<MogoLatLng>()
)
receiverBean = adasAutoPilotLocReceiverBean
CallerHmiManager.showDispatchDialog(adasAutoPilotLocReceiverBean)
}
private fun testHengYangStart() {
val adasAutoPilotLocReceiverBean = DispatchAdasAutoPilotLocReceiverBean(
DispatchAdasAutoPilotLocReceiverBean.DISPATCH_SOURCE_HENGYANG,
DispatchAdasAutoPilotLocReceiverBean.DISPATCH_TYPE_START,
"2",
26.825571122,
112.5762410415,
"衡阳科学城",
26.825571122,
112.5762410415,
"衡阳首钢集团",
"",
"",
"",
System.currentTimeMillis(),
ArrayList<MogoLatLng>()
)
val adasAutoPilotLocReceiverBean =
DispatchAdasAutoPilotLocReceiverBean(
DispatchAdasAutoPilotLocReceiverBean.DISPATCH_SOURCE_HENGYANG,
DispatchAdasAutoPilotLocReceiverBean.DISPATCH_TYPE_START,
"2",
26.825571122,
112.5762410415,
"衡阳科学城",
26.825571122,
112.5762410415,
"衡阳首钢集团",
"",
"",
"",
System.currentTimeMillis(),
ArrayList<MogoLatLng>()
)
receiverBean = adasAutoPilotLocReceiverBean
CallerHmiManager.showDispatchDialog(adasAutoPilotLocReceiverBean)
}

View File

@@ -6,8 +6,8 @@ import com.mogo.commons.context.ContextHolderUtil
import com.mogo.eagle.core.data.BaseData
import com.mogo.eagle.core.data.autopilot.AutopilotRouteInfo.RouteModels
import com.mogo.eagle.core.data.autopilot.AutopilotStatus
import com.mogo.eagle.core.data.dispatch.ReportDispatchResult
import com.mogo.eagle.core.data.dispatch.ReportedRoute
import com.mogo.eagle.core.data.biz.dispatch.ReportDispatchResult
import com.mogo.eagle.core.data.biz.dispatch.ReportedRoute
import com.mogo.eagle.core.network.MoGoRetrofitFactory
import com.mogo.eagle.core.network.RequestOptions
import com.mogo.eagle.core.network.SubscribeImpl
@@ -45,7 +45,10 @@ class DispatchServiceModel private constructor() {
valuesBean.reason = reason
autopilotStatus.values = valuesBean
val sn = MoGoAiCloudClientConfig.getInstance().sn
val reportedRoute = ReportedRoute(sn, autopilotStatus.values)
val reportedRoute = ReportedRoute(
sn,
autopilotStatus.values
)
val map: MutableMap<String, Any> = HashMap()
map["sn"] = sn
map["data"] = GsonUtil.jsonFromObject(reportedRoute)
@@ -75,7 +78,10 @@ class DispatchServiceModel private constructor() {
*/
fun uploadAutopilotRoute(list: List<RouteModels?>?) {
val sn = MoGoAiCloudClientConfig.getInstance().sn
val reportedRoute = ReportedRoute(sn, GsonUtil.jsonFromObject(list))
val reportedRoute = ReportedRoute(
sn,
GsonUtil.jsonFromObject(list)
)
val map: MutableMap<String, String> = HashMap()
map["sn"] = sn
map["data"] = GsonUtil.jsonFromObject(reportedRoute)
@@ -109,7 +115,11 @@ class DispatchServiceModel private constructor() {
onError: ((String) -> Unit)? = null
) {
val sn = MoGoAiCloudClientConfig.getInstance().sn
val reportDispatchResult = ReportDispatchResult(sn, dispatchResultType)
val reportDispatchResult =
ReportDispatchResult(
sn,
dispatchResultType
)
val map: MutableMap<String, Any> = HashMap()
map["sn"] = sn
map["data"] = GsonUtil.jsonFromObject(reportDispatchResult)

View File

@@ -5,8 +5,8 @@ import android.os.Looper
import android.os.Message
import com.mogo.commons.constants.HostConst
import com.mogo.commons.utils.RetryWithDelay
import com.mogo.eagle.core.data.camera.CameraEntity
import com.mogo.eagle.core.data.camera.ReqLiveCarBean
import com.mogo.eagle.core.data.biz.camera.CameraEntity
import com.mogo.eagle.core.data.biz.camera.ReqLiveCarBean
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
import com.mogo.eagle.core.network.MoGoRetrofitFactory

View File

@@ -1,6 +1,6 @@
package com.mogo.eagle.function.biz.monitoring.net
import com.mogo.eagle.core.data.camera.*
import com.mogo.eagle.core.data.biz.camera.*
import io.reactivex.Observable
import io.reactivex.Single
import retrofit2.http.*

View File

@@ -5,13 +5,13 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager.saveMsgBox
import com.mogo.aicloud.services.socket.MogoAiCloudSocketManager
import com.mogo.aicloud.services.socket.IMogoOnMessageListener
import com.mogo.eagle.core.data.notice.NoticeNormalData
import com.mogo.eagle.core.data.biz.notice.NoticeNormalData
import java.lang.Class
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import com.mogo.eagle.core.data.msgbox.NoticeFrCloudMsg
import com.mogo.eagle.core.data.msgbox.MsgBoxBean
import com.mogo.eagle.core.data.msgbox.MsgBoxType
import com.mogo.eagle.core.data.notice.NoticeTrafficStylePushData
import com.mogo.eagle.core.data.biz.notice.NoticeTrafficStylePushData
import com.mogo.eagle.core.network.utils.GsonUtil
/**

View File

@@ -1,8 +1,8 @@
package com.mogo.eagle.function.biz.notice.network;
import com.mogo.eagle.core.data.BaseData;
import com.mogo.eagle.core.data.notice.NoticeNormalDetail;
import com.mogo.eagle.core.data.notice.NoticeTrafficStyleInfo;
import com.mogo.eagle.core.data.biz.notice.NoticeNormalDetail;
import com.mogo.eagle.core.data.biz.notice.NoticeTrafficStyleInfo;
import java.util.Map;

View File

@@ -6,9 +6,9 @@ import com.mogo.cloud.network.RetrofitFactory;
import com.mogo.cloud.passport.MoGoAiCloudClient;
import com.mogo.commons.constants.HostConst;
import com.mogo.eagle.core.data.BaseData;
import com.mogo.eagle.core.data.notice.NoticeNormalDetail;
import com.mogo.eagle.core.data.notice.NoticeRequest;
import com.mogo.eagle.core.data.notice.NoticeTrafficStyleInfo;
import com.mogo.eagle.core.data.biz.notice.NoticeNormalDetail;
import com.mogo.eagle.core.data.biz.notice.NoticeRequest;
import com.mogo.eagle.core.data.biz.notice.NoticeTrafficStyleInfo;
import com.mogo.eagle.core.function.api.biz.IMoGoNoticeNetCallBack;
import com.mogo.eagle.core.network.utils.GsonUtil;

View File

@@ -6,7 +6,7 @@ import com.mogo.eagle.core.data.msgbox.MsgBoxBean
import com.mogo.eagle.core.data.msgbox.MsgBoxType
import com.mogo.eagle.core.data.msgbox.V2XMsg
import com.mogo.eagle.core.data.obu.MogoObuConst
import com.mogo.eagle.core.function.api.obu.IMoGoObuSaveMessageListener
import com.mogo.eagle.core.function.api.datacenter.obu.IMoGoObuSaveMessageListener
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager
import com.mogo.eagle.core.function.call.obu.CallerObuSaveMessageListenerManager
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger

View File

@@ -1,6 +1,7 @@
package com.mogo.eagle.function.biz.v2x.redlightwarning
import android.util.Log
import com.mogo.eagle.core.data.biz.trafficlight.*
import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.BIZ_IVP
import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.BIZ_IVP_GREEN
import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.V2I
@@ -10,8 +11,7 @@ import com.mogo.eagle.core.data.map.MogoLocation
import com.mogo.eagle.core.data.msgbox.MsgBoxBean
import com.mogo.eagle.core.data.msgbox.MsgBoxType
import com.mogo.eagle.core.data.msgbox.V2XMsg
import com.mogo.eagle.core.data.trafficlight.*
import com.mogo.eagle.core.data.trafficlight.TrafficLightStatusHelper.getCurrentRoadTrafficLight
import com.mogo.eagle.core.data.biz.trafficlight.TrafficLightStatusHelper.getCurrentRoadTrafficLight
import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener
import com.mogo.eagle.core.function.api.datacenter.union.IMoGoTrafficLightListener
import com.mogo.eagle.core.function.api.v2x.IMoGoVipSetListener

View File

@@ -10,7 +10,7 @@ import retrofit2.http.POST
interface ILineUploadApi {
@Headers("Content-type:application/json;charset=UTF-8" )
@POST( "" )
@POST( "/yycp-data-center-service/carTrack/receiveCarTrack/" )
fun uploadLineId(@Body lineId: LineUploadData): Observable<BaseData>
}

View File

@@ -3,8 +3,11 @@ package com.mogo.eagle.function.biz.v2x.trafficlight.core
import android.content.Context
import android.os.Handler
import android.os.Looper
import com.mogo.eagle.core.data.biz.trafficlight.RoadIDResult
import com.mogo.eagle.core.data.biz.trafficlight.TrafficLightControl
import com.mogo.eagle.core.data.biz.trafficlight.TrafficLightResult
import com.mogo.eagle.core.data.biz.trafficlight.isInRange
import com.mogo.eagle.core.data.map.MogoLocation
import com.mogo.eagle.core.data.trafficlight.*
import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager
import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager

View File

@@ -1,9 +1,9 @@
package com.mogo.eagle.function.biz.v2x.trafficlight.network
import com.mogo.eagle.core.data.BaseResponse
import com.mogo.eagle.core.data.trafficlight.RoadIDResult
import com.mogo.eagle.core.data.trafficlight.TrafficLightControl
import com.mogo.eagle.core.data.trafficlight.TrafficLightResult
import com.mogo.eagle.core.data.biz.trafficlight.RoadIDResult
import com.mogo.eagle.core.data.biz.trafficlight.TrafficLightControl
import com.mogo.eagle.core.data.biz.trafficlight.TrafficLightResult
import retrofit2.http.FieldMap
import retrofit2.http.FormUrlEncoded
import retrofit2.http.POST

View File

@@ -3,7 +3,7 @@ package com.mogo.eagle.function.biz.v2x.trafficlight.network
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
import com.mogo.commons.constants.HostConst
import com.mogo.eagle.core.data.BaseResponse
import com.mogo.eagle.core.data.trafficlight.*
import com.mogo.eagle.core.data.biz.trafficlight.*
import com.mogo.eagle.core.network.MoGoRetrofitFactory
import com.mogo.eagle.core.network.apiCall
import com.mogo.eagle.core.network.cancel

View File

@@ -14,10 +14,10 @@ import com.mogo.eagle.core.data.enums.EventTypeEnumNew
import com.mogo.eagle.core.data.msgbox.MsgBoxBean
import com.mogo.eagle.core.data.msgbox.MsgBoxType
import com.mogo.eagle.core.data.msgbox.V2XMsg
import com.mogo.eagle.core.data.trafficlight.TrafficLightResult
import com.mogo.eagle.core.data.trafficlight.currentRoadTrafficLight
import com.mogo.eagle.core.data.trafficlight.isGreen
import com.mogo.eagle.core.data.trafficlight.isRed
import com.mogo.eagle.core.data.biz.trafficlight.TrafficLightResult
import com.mogo.eagle.core.data.biz.trafficlight.currentRoadTrafficLight
import com.mogo.eagle.core.data.biz.trafficlight.isGreen
import com.mogo.eagle.core.data.biz.trafficlight.isRed
import com.mogo.eagle.core.data.v2x.VipMessage
import com.mogo.eagle.core.function.api.datacenter.union.IMoGoTrafficLightListener
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationWGS84ListenerManager

View File

@@ -46,29 +46,21 @@ android {
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
if (Boolean.valueOf(USE_MAVEN_PACKAGE)) {
implementation rootProject.ext.dependencies.androidxccorektx
implementation rootProject.ext.dependencies.androidxappcompat
implementation project(':libraries:mogo-obu')
implementation project(':libraries:mogo-adas')
implementation project(":foudations:mogo-aicloud-services-sdk")
implementation project(':core:mogo-core-data')
} else {
implementation rootProject.ext.dependencies.androidxccorektx
implementation rootProject.ext.dependencies.androidxappcompat
implementation rootProject.ext.dependencies.arouter
implementation rootProject.ext.dependencies.rxandroid
kapt rootProject.ext.dependencies.aroutercompiler
implementation rootProject.ext.dependencies.androidxroomruntime
kapt rootProject.ext.dependencies.androidxroomcompiler
implementation rootProject.ext.dependencies.androidxroomktx
implementation rootProject.ext.dependencies.androidxccorektx
implementation rootProject.ext.dependencies.androidxappcompat
implementation rootProject.ext.dependencies.rxandroid
implementation project(':libraries:mogo-obu')
implementation project(':libraries:mogo-adas')
implementation rootProject.ext.dependencies.mogoaicloudtelematic
implementation project(':core:mogo-core-function-call')
implementation project(":foudations:mogo-commons")
}
implementation rootProject.ext.dependencies.arouter
kapt rootProject.ext.dependencies.aroutercompiler
implementation rootProject.ext.dependencies.androidxroomruntime
kapt rootProject.ext.dependencies.androidxroomcompiler
implementation rootProject.ext.dependencies.androidxroomktx
implementation project(':libraries:mogo-obu')
implementation project(':libraries:mogo-adas')
implementation rootProject.ext.dependencies.mogoaicloudtelematic
implementation project(':core:mogo-core-function-call')
implementation project(":foudations:mogo-commons")
}
//apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString()

View File

@@ -10,7 +10,7 @@ import com.mogo.cloud.passport.MoGoAiCloudClientConfig
import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters
import com.mogo.eagle.core.data.autopilot.toAutoPilotLine
import com.mogo.eagle.core.data.autopilot.toRouteInfo
import com.mogo.eagle.core.data.badcase.BagManagerEntity
import com.mogo.eagle.core.data.deva.badcase.BagManagerEntity
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.data.constants.MoGoConfig
import com.mogo.eagle.core.data.constants.MogoServicePaths
@@ -19,8 +19,8 @@ import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_ALIAS_C
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_LINK_ADAS
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_LINK_LOG_CONNECT_STATUS
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT
import com.mogo.eagle.core.data.trafficlight.TrafficLightResult
import com.mogo.eagle.core.data.trafficlight.toTrafficLightDetail
import com.mogo.eagle.core.data.biz.trafficlight.TrafficLightResult
import com.mogo.eagle.core.data.biz.trafficlight.toTrafficLightDetail
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotCarConfigListener
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotControlProvider
import com.mogo.eagle.core.function.api.map.collect.IMoGoMapDataCollectProvider

View File

@@ -53,20 +53,18 @@ import com.mogo.eagle.core.function.call.obu.CallerObuMapMathListenerManager
import com.mogo.eagle.core.function.call.obu.CallerObuWarningRsiListenerManager
import com.mogo.eagle.core.function.call.obu.CallerObuWarningRsmListenerManager
import com.mogo.eagle.core.function.call.obu.CallerObuWarningSpatListenerManager
import com.mogo.eagle.core.function.call.obucombine.CallerObuDcCombineListenerManager
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.Logger
import com.mogo.support.obu.ObuScene
import com.zhidao.support.adas.high.AdasManager
import com.zhidao.support.adas.high.OnAdasListener
import com.zhjt.mogo.adas.data.bean.AutopilotStatistics
import com.zhidao.support.adas.high.common.ProtocolStatus
import com.zhjt.mogo.adas.data.bean.AutopilotStatistics
import com.zhjt.service.chain.ChainLog
import com.zhjt.service.chain.TracingConstants.Endpoint.Companion.PAD
import function_state_management.FunctionStates
import mogo.telematics.pad.MessagePad
import mogo.telematics.pad.MessagePad.TrackedObject
import mogo.v2x.ObuWarningEvent
import mogo_msg.MogoReportMsg
import perception.TrafficLightOuterClass
import planning.RoboSweeperTaskIndexOuterClass
@@ -89,12 +87,12 @@ class MoGoAdasListenerImpl : OnAdasListener {
//车前引导线
@ChainLog(
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_TRAJECTORY,
linkCode = CHAIN_LINK_ADAS,
endpoint = PAD,
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_TRAJECTORY,
paramIndexes = [0, 1],
clientPkFileName = "sn"
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_TRAJECTORY,
linkCode = CHAIN_LINK_ADAS,
endpoint = PAD,
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_TRAJECTORY,
paramIndexes = [0, 1],
clientPkFileName = "sn"
)
override fun onTrajectory(header: MessagePad.Header, trajectory: MessagePad.Trajectory?) {
if (HdMapBuildConfig.isMapLoaded) {
@@ -106,16 +104,16 @@ class MoGoAdasListenerImpl : OnAdasListener {
//感知物体
@ChainLog(
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA_TRACKED,
linkCode = CHAIN_LINK_ADAS,
endpoint = PAD,
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_RECT_DATA,
paramIndexes = [0, 1],
clientPkFileName = "sn"
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA_TRACKED,
linkCode = CHAIN_LINK_ADAS,
endpoint = PAD,
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_RECT_DATA,
paramIndexes = [0, 1],
clientPkFileName = "sn"
)
override fun onTrackedObjects(
header: MessagePad.Header,
trackedObjects: MessagePad.TrackedObjects
header: MessagePad.Header,
trackedObjects: MessagePad.TrackedObjects
) {
if (HdMapBuildConfig.isMapLoaded) {
invokeAutopilotIdentifyDataUpdate(trackedObjects.objsList as List<TrackedObject>?)
@@ -124,12 +122,12 @@ class MoGoAdasListenerImpl : OnAdasListener {
//自车定位信息
@ChainLog(
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_GNSSINFO,
linkCode = CHAIN_LINK_ADAS,
endpoint = PAD,
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_CAR_STATE,
paramIndexes = [0, 1],
clientPkFileName = "sn"
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_GNSSINFO,
linkCode = CHAIN_LINK_ADAS,
endpoint = PAD,
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_CAR_STATE,
paramIndexes = [0, 1],
clientPkFileName = "sn"
)
override fun onGnssInfo(header: MessagePad.Header, gnssInfo: MessagePad.GnssInfo) {
CallerChassisGnssListenerManager.invokeChassisGnssListener(gnssInfo)
@@ -140,9 +138,9 @@ class MoGoAdasListenerImpl : OnAdasListener {
//CallerMapUIServiceManager.getMapUIController()?.syncLocation2Map(gnssInfo)
// 同步更新经纬度和系统时间至 AutoPilotStatusListener
CallerAutoPilotStatusListenerManager.updateAutoPilotLatLon(
gnssInfo.satelliteTime,
gnssInfo.longitude,
gnssInfo.latitude
gnssInfo.satelliteTime,
gnssInfo.longitude,
gnssInfo.latitude
)
}
}
@@ -158,14 +156,17 @@ class MoGoAdasListenerImpl : OnAdasListener {
* @param vehicleState 数据
*/
@ChainLog(
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_VEHICLE,
linkCode = CHAIN_LINK_ADAS,
endpoint = PAD,
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_VEHICLE,
paramIndexes = [0, 1],
clientPkFileName = "sn"
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_VEHICLE,
linkCode = CHAIN_LINK_ADAS,
endpoint = PAD,
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_VEHICLE,
paramIndexes = [0, 1],
clientPkFileName = "sn"
)
override fun onVehicleState(header: MessagePad.Header, vehicleState: VehicleStateOuterClass.VehicleState?) {
override fun onVehicleState(
header: MessagePad.Header,
vehicleState: VehicleStateOuterClass.VehicleState?
) {
if (vehicleState != null) {
//转向灯数据
CallerChassisLamplightListenerManager.invokeAutopilotLightSwitchData(vehicleState.light)
@@ -191,9 +192,12 @@ class MoGoAdasListenerImpl : OnAdasListener {
//清扫车(福田)清扫控制系统状态
vehicleState.sweeperFutianCleanSystemState?.also { sweeperState ->
val bytes: ByteArray = sweeperState.toByteArray()
val cleanSystemState: ChassisStatesOuterClass.SweeperFuTianTaskSystemStates? = ChassisStatesOuterClass.SweeperFuTianTaskSystemStates.parseFrom(bytes)
val cleanSystemState: ChassisStatesOuterClass.SweeperFuTianTaskSystemStates? =
ChassisStatesOuterClass.SweeperFuTianTaskSystemStates.parseFrom(bytes)
cleanSystemState?.let {
CallerSweeperFutianCleanSystemListenerManager.invokeSweeperFutianCleanSystemState(it)
CallerSweeperFutianCleanSystemListenerManager.invokeSweeperFutianCleanSystemState(
it
)
}
}
//金旅M1
@@ -214,14 +218,17 @@ class MoGoAdasListenerImpl : OnAdasListener {
* @param vehicleState 数据
*/
@ChainLog(
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_VEHICLE,
linkCode = CHAIN_LINK_ADAS,
endpoint = PAD,
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_VEHICLE,
paramIndexes = [0, 1],
clientPkFileName = "sn"
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_VEHICLE,
linkCode = CHAIN_LINK_ADAS,
endpoint = PAD,
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_VEHICLE,
paramIndexes = [0, 1],
clientPkFileName = "sn"
)
override fun onChassisStates(header: MessagePad.Header, chassisStates: ChassisStatesOuterClass.ChassisStates?) {
override fun onChassisStates(
header: MessagePad.Header,
chassisStates: ChassisStatesOuterClass.ChassisStates?
) {
if (chassisStates != null) {
chassisStates.bcmSystemStates?.let { bcmSystemStates ->
bcmSystemStates.turnLightState?.let {
@@ -260,7 +267,9 @@ class MoGoAdasListenerImpl : OnAdasListener {
chassisStates.taskSystemStates?.let { taskSystemStates ->
taskSystemStates.sweeperFutianTaskSystemStates?.let {
//清扫车(福田)清扫控制系统状态
CallerSweeperFutianCleanSystemListenerManager.invokeSweeperFutianCleanSystemState(it)
CallerSweeperFutianCleanSystemListenerManager.invokeSweeperFutianCleanSystemState(
it
)
}
}
} else {
@@ -270,16 +279,16 @@ class MoGoAdasListenerImpl : OnAdasListener {
//自动驾驶状态
@ChainLog(
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT,
linkCode = CHAIN_LINK_ADAS,
endpoint = PAD,
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_STATUS,
paramIndexes = [0, 1],
clientPkFileName = "sn"
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT,
linkCode = CHAIN_LINK_ADAS,
endpoint = PAD,
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_STATUS,
paramIndexes = [0, 1],
clientPkFileName = "sn"
)
override fun onAutopilotState(
header: MessagePad.Header,
autopilotState: MessagePad.AutopilotState?
header: MessagePad.Header,
autopilotState: MessagePad.AutopilotState?
) {
if (autopilotState != null) {
//工控机模拟时间
@@ -303,7 +312,10 @@ class MoGoAdasListenerImpl : OnAdasListener {
AdasManager.getInstance().carConfig?.let {
autopilotStatusInfo.dockVersion = it.dockVersion
}
CallerLogger.d("Upgrade", "origin = ${autopilotStatusInfo.connectStatus} -----now = ${AppConfigInfo.isConnectAutopilot} ")
CallerLogger.d(
"Upgrade",
"origin = ${autopilotStatusInfo.connectStatus} -----now = ${AppConfigInfo.isConnectAutopilot} "
)
AppConfigInfo.isConnectAutopilot = autopilotStatusInfo.connectStatus
AppConfigInfo.connectStatusDescribe = autopilotStatusInfo.connectStatusDescribe
invokeAutoPilotStatus()
@@ -313,16 +325,16 @@ class MoGoAdasListenerImpl : OnAdasListener {
//监控
@ChainLog(
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT,
linkCode = CHAIN_LINK_ADAS,
endpoint = PAD,
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_GUARDIAN,
paramIndexes = [0, 1],
clientPkFileName = "sn"
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT,
linkCode = CHAIN_LINK_ADAS,
endpoint = PAD,
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_GUARDIAN,
paramIndexes = [0, 1],
clientPkFileName = "sn"
)
override fun onReportMessage(
header: MessagePad.Header,
mogoReportMessage: MogoReportMsg.MogoReportMessage?
header: MessagePad.Header,
mogoReportMessage: MogoReportMsg.MogoReportMessage?
) {
if (HdMapBuildConfig.isMapLoaded) {
invokeAutopilotGuardian(mogoReportMessage)
@@ -331,28 +343,28 @@ class MoGoAdasListenerImpl : OnAdasListener {
//感知红绿灯
@ChainLog(
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_TRAFFIC_LIGHT,
linkCode = CHAIN_LINK_ADAS,
endpoint = PAD,
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_TRAFFIC_LIGHT,
paramIndexes = [0, 1],
clientPkFileName = "sn"
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_TRAFFIC_LIGHT,
linkCode = CHAIN_LINK_ADAS,
endpoint = PAD,
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_TRAFFIC_LIGHT,
paramIndexes = [0, 1],
clientPkFileName = "sn"
)
override fun onPerceptionTrafficLight(
header: MessagePad.Header?,
trafficLights: TrafficLightOuterClass.TrafficLights?
header: MessagePad.Header?,
trafficLights: TrafficLightOuterClass.TrafficLights?
) {
if (trafficLights != null) {
CallerAutopilotIdentifyListenerManager.invokeAutopilotPerceptionTrafficLight(
trafficLights
trafficLights
)
}
}
//他车轨迹预测
override fun onPredictionObstacleTrajectory(
header: MessagePad.Header?,
predictionObjects: Prediction.mPredictionObjects?
header: MessagePad.Header?,
predictionObjects: Prediction.mPredictionObjects?
) {
//他车轨迹预测
}
@@ -364,16 +376,16 @@ class MoGoAdasListenerImpl : OnAdasListener {
//planning障碍物
@ChainLog(
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_PLANNING_OBJECTS,
linkCode = CHAIN_LINK_ADAS,
endpoint = PAD,
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_PLANNING_OBJECTS,
paramIndexes = [0, 1],
clientPkFileName = "sn"
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_PLANNING_OBJECTS,
linkCode = CHAIN_LINK_ADAS,
endpoint = PAD,
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_PLANNING_OBJECTS,
paramIndexes = [0, 1],
clientPkFileName = "sn"
)
override fun onPlanningObjects(
header: MessagePad.Header?,
planningObjects: MessagePad.PlanningObjects
header: MessagePad.Header?,
planningObjects: MessagePad.PlanningObjects
) {
if (HdMapBuildConfig.isMapLoaded) {
invokeAutopilotIdentifyPlanningObj(planningObjects.objsList as List<MessagePad.PlanningObject>)
@@ -382,24 +394,24 @@ class MoGoAdasListenerImpl : OnAdasListener {
// 自动驾驶设备基础信息请求
override fun onBasicInfoReq(
header: MessagePad.Header,
basicInfoReq: MessagePad.BasicInfoReq?
header: MessagePad.Header,
basicInfoReq: MessagePad.BasicInfoReq?
) {
invokeAutopilotSNRequest()
}
//工控机基础配置信息
@ChainLog(
linkChainLog = CHAIN_LINK_LOG_CONNECT_STATUS,
linkCode = CHAIN_LINK_ADAS,
endpoint = PAD,
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_CAR_CONFIG,
paramIndexes = [0, 1],
clientPkFileName = "sn"
linkChainLog = CHAIN_LINK_LOG_CONNECT_STATUS,
linkCode = CHAIN_LINK_ADAS,
endpoint = PAD,
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_CAR_CONFIG,
paramIndexes = [0, 1],
clientPkFileName = "sn"
)
override fun onCarConfigResp(
header: MessagePad.Header,
carConfigResp: MessagePad.CarConfigResp?
header: MessagePad.Header,
carConfigResp: MessagePad.CarConfigResp?
) {
if (carConfigResp != null) {
AppConfigInfo.dockerVersion = carConfigResp.dockVersion
@@ -413,34 +425,32 @@ class MoGoAdasListenerImpl : OnAdasListener {
//全局路径规划
@ChainLog(
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT,
linkCode = CHAIN_LINK_ADAS,
endpoint = PAD,
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_ROUTE,
paramIndexes = [0, 1],
clientPkFileName = "sn"
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT,
linkCode = CHAIN_LINK_ADAS,
endpoint = PAD,
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_ROUTE,
paramIndexes = [0, 1],
clientPkFileName = "sn"
)
override fun onGlobalPathResp(
header: MessagePad.Header,
globalPathResp: MessagePad.GlobalPathResp?
header: MessagePad.Header,
globalPathResp: MessagePad.GlobalPathResp?
) {
if (HdMapBuildConfig.isMapLoaded) {
invokeAutopilotRotting(globalPathResp)
}
invokeAutopilotRotting(globalPathResp)
}
//数据采集badCase
@ChainLog(
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT,
linkCode = CHAIN_LINK_ADAS,
endpoint = PAD,
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_RECORD,
paramIndexes = [0, 1],
clientPkFileName = "sn"
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT,
linkCode = CHAIN_LINK_ADAS,
endpoint = PAD,
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_RECORD,
paramIndexes = [0, 1],
clientPkFileName = "sn"
)
override fun onRecordResult(
header: MessagePad.Header,
recordPanel: RecordPanelOuterClass.RecordPanel?
header: MessagePad.Header,
recordPanel: RecordPanelOuterClass.RecordPanel?
) {
if (recordPanel != null) {
invokeAutopilotRecordResult(recordPanel)
@@ -462,34 +472,32 @@ class MoGoAdasListenerImpl : OnAdasListener {
//到站回调
@ChainLog(
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT,
linkCode = CHAIN_LINK_ADAS,
endpoint = PAD,
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_ARRIVE,
paramIndexes = [0, 1],
clientPkFileName = "sn"
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT,
linkCode = CHAIN_LINK_ADAS,
endpoint = PAD,
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_ARRIVE,
paramIndexes = [0, 1],
clientPkFileName = "sn"
)
override fun onArrivalNotification(
header: MessagePad.Header,
arrivalNotification: MessagePad.ArrivalNotification?
header: MessagePad.Header,
arrivalNotification: MessagePad.ArrivalNotification?
) {
if (HdMapBuildConfig.isMapLoaded) {
invokeArriveAtStation(arrivalNotification)
}
invokeArriveAtStation(arrivalNotification)
}
//状态查询应答
@ChainLog(
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT,
linkCode = CHAIN_LINK_ADAS,
endpoint = PAD,
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_STATUS_QUERY_RESP,
paramIndexes = [0, 1],
clientPkFileName = "sn"
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT,
linkCode = CHAIN_LINK_ADAS,
endpoint = PAD,
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_STATUS_QUERY_RESP,
paramIndexes = [0, 1],
clientPkFileName = "sn"
)
override fun onStatusQueryResp(
header: MessagePad.Header?,
statusInfo: SystemStatusInfo.StatusInfo?
header: MessagePad.Header?,
statusInfo: SystemStatusInfo.StatusInfo?
) {
invokeAutopilotStatusRespByQuery(statusInfo)
}
@@ -498,8 +506,8 @@ class MoGoAdasListenerImpl : OnAdasListener {
* 数据采集配置应答
*/
override fun onRecordDataConfigResp(
header: MessagePad.Header?,
config: MessagePad.RecordDataConfig?
header: MessagePad.Header?,
config: MessagePad.RecordDataConfig?
) {
if (config != null) {
invokeAutopilotRecordConfig(config)
@@ -510,16 +518,16 @@ class MoGoAdasListenerImpl : OnAdasListener {
* planning决策状态, 透传
*/
@ChainLog(
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_PLANNING_ACTIONS,
linkCode = CHAIN_LINK_ADAS,
endpoint = PAD,
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_PLANNING_ACTIONS,
paramIndexes = [0, 1],
clientPkFileName = "sn"
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_PLANNING_ACTIONS,
linkCode = CHAIN_LINK_ADAS,
endpoint = PAD,
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_PLANNING_ACTIONS,
paramIndexes = [0, 1],
clientPkFileName = "sn"
)
override fun onPlanningActionMsg(
header: MessagePad.Header?,
planningActionMsg: MessagePad.PlanningActionMsg?
header: MessagePad.Header?,
planningActionMsg: MessagePad.PlanningActionMsg?
) {
planningActionMsg?.let {
invokePNCActions(it)
@@ -532,16 +540,23 @@ class MoGoAdasListenerImpl : OnAdasListener {
* @param header 头
* @param spatWarningData 数据
*/
override fun onObuSpatWarning(header: MessagePad.Header?, spatWarningData: ObuScene.SpatWarningData?) {
override fun onObuSpatWarning(
header: MessagePad.Header?,
spatWarningData: ObuScene.SpatWarningData?
) {
CallerObuWarningSpatListenerManager.invokeObuSpatWarning(spatWarningData!!)
}
/**
* OBU RSI预警信息
*
* @param header 头
* @param rsiWarningData 数据
*/
override fun onObuRsiWarning(header: MessagePad.Header?, rsiWarningData: ObuScene.RsiWarningData?) {
override fun onObuRsiWarning(
header: MessagePad.Header?,
rsiWarningData: ObuScene.RsiWarningData?
) {
CallerObuWarningRsiListenerManager.invokeObuRsiWarning(rsiWarningData!!)
}
@@ -551,9 +566,13 @@ class MoGoAdasListenerImpl : OnAdasListener {
* @param header 头
* @param rsmWarningData 数据
*/
override fun onObuRsmWarning(header: MessagePad.Header?, rsmWarningData: ObuScene.RsmWarningData?) {
override fun onObuRsmWarning(
header: MessagePad.Header?,
rsmWarningData: ObuScene.RsmWarningData?
) {
CallerObuWarningRsmListenerManager.invokeObuRsmWarning(rsmWarningData!!)
}
/**
* OBU 地图匹配结果
*
@@ -570,7 +589,10 @@ class MoGoAdasListenerImpl : OnAdasListener {
* @param header 头
* @param functionStates 头
*/
override fun onFunctionStates(header: MessagePad.Header?, functionStates: FunctionStates.FSMFunctionStates?) {
override fun onFunctionStates(
header: MessagePad.Header?,
functionStates: FunctionStates.FSMFunctionStates?
) {
}
@@ -580,7 +602,10 @@ class MoGoAdasListenerImpl : OnAdasListener {
* @param header 头
* @param roboSweeperTaskIndex 数据
*/
override fun onSweeperTaskIndexData(header: MessagePad.Header?, roboSweeperTaskIndex: RoboSweeperTaskIndexOuterClass.RoboSweeperTaskIndex?) {
override fun onSweeperTaskIndexData(
header: MessagePad.Header?,
roboSweeperTaskIndex: RoboSweeperTaskIndexOuterClass.RoboSweeperTaskIndex?
) {
}
@@ -590,7 +615,10 @@ class MoGoAdasListenerImpl : OnAdasListener {
* @param header 头
* @param bagManager 数据
*/
override fun onBagManagerCmd(header: MessagePad.Header?, bagManager: BagManagerOuterClass.BagManager?) {
override fun onBagManagerCmd(
header: MessagePad.Header?,
bagManager: BagManagerOuterClass.BagManager?
) {
}
/**

View File

@@ -1,6 +1,6 @@
package com.mogo.eagle.core.function.datacenter.autopilot.server
import com.mogo.eagle.core.data.trafficlight.TrafficLightResult
import com.mogo.eagle.core.data.biz.trafficlight.TrafficLightResult
import com.mogo.eagle.core.function.api.datacenter.union.IMoGoTrafficLightListener
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
import com.mogo.eagle.core.function.call.v2x.CallerTrafficLightListenerManager

View File

@@ -8,7 +8,6 @@ import com.mogo.eagle.core.data.app.AppConfigInfo
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.data.deva.chain.ChainConstant
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_LINK_LOG_CONNECT_STATUS
import com.mogo.eagle.core.data.telematic.TelematicConstant
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager.setDemoMode
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager.setIgnoreConditionDraw
@@ -31,7 +30,10 @@ import mogo.telematics.pad.MessagePad
class TeleMsgHandler : IMsgHandler {
private val TAG = "TeleMsgHandler"
companion object{
private const val BUSINESS_STRING = 100
private const val TAG = "TeleMsgHandler"
}
@Volatile
private var isFirstDisc = true
@@ -124,8 +126,8 @@ class TeleMsgHandler : IMsgHandler {
}
}
}
TelematicConstant.BUSINESS_STRING -> {
CallerTelematicListenerManager.invokeReceivedMsg(TelematicConstant.BUSINESS_STRING, it.body)
BUSINESS_STRING -> {
CallerTelematicListenerManager.invokeReceivedMsg(BUSINESS_STRING, it.body)
}
else -> {
}
@@ -171,8 +173,8 @@ class TeleMsgHandler : IMsgHandler {
invokeNettyConnResult("司机屏SN未获取到不发送给乘客屏")
}
}
TelematicConstant.BUSINESS_STRING -> {
CallerTelematicListenerManager.invokeReceivedMsg(TelematicConstant.BUSINESS_STRING, it.body)
BUSINESS_STRING -> {
CallerTelematicListenerManager.invokeReceivedMsg(BUSINESS_STRING, it.body)
}
else -> {
}

View File

@@ -5,13 +5,12 @@ import com.mogo.eagle.core.data.enums.DataSourceType
import com.mogo.eagle.core.data.map.MogoLocation
import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisGnssListener
import com.mogo.eagle.core.function.api.map.listener.IGaoDeMapLocationListener
import com.mogo.eagle.core.function.api.obu.IMoGoObuLocationWGS84Listener
import com.mogo.eagle.core.function.api.datacenter.obu.IMoGoObuLocationWGS84Listener
import com.mogo.eagle.core.function.call.autopilot.CallerChassisGnssListenerManager
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationWGS84ListenerManager
import com.mogo.eagle.core.function.call.map.CallerGaoDeMapLocationListenerManager
import com.mogo.eagle.core.function.call.obu.CallerObuLocationWGS84ListenerManager
import com.mogo.eagle.core.utilcode.util.MultiDisplayUtils
import com.mogo.eagle.core.utilcode.util.TimeUtils
import mogo.telematics.pad.MessagePad
@@ -93,7 +92,6 @@ object MoGoLocationDispatcher :
DataSourceType.TELEMATIC
)
}
MultiDisplayUtils.getOtherDisplay()
}

View File

@@ -5,7 +5,7 @@ import com.alibaba.android.arouter.facade.annotation.Route
import com.mogo.eagle.core.data.constants.MoGoConfig
import com.mogo.eagle.core.data.constants.MogoServicePaths
import com.mogo.eagle.core.data.obu.MogoObuConst
import com.mogo.eagle.core.function.api.obu.IMoGoObuProvider
import com.mogo.eagle.core.function.api.datacenter.obu.IMoGoObuProvider
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_OBU
import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr

View File

@@ -6,10 +6,10 @@ import com.mogo.eagle.core.data.enums.DataSourceType
import com.mogo.eagle.core.data.enums.EventTypeEnumNew
import com.mogo.eagle.core.data.enums.TrafficLightEnum
import com.mogo.eagle.core.data.enums.WarningDirectionEnum
import com.mogo.eagle.core.function.api.obu.IMoGoObuWarningMapListener
import com.mogo.eagle.core.function.api.obu.IMoGoObuWarningRsiListener
import com.mogo.eagle.core.function.api.obu.IMoGoObuWarningRsmListener
import com.mogo.eagle.core.function.api.obu.IMoGoObuWarningSpatListener
import com.mogo.eagle.core.function.api.datacenter.obu.IMoGoObuWarningMapListener
import com.mogo.eagle.core.function.api.datacenter.obu.IMoGoObuWarningRsiListener
import com.mogo.eagle.core.function.api.datacenter.obu.IMoGoObuWarningRsmListener
import com.mogo.eagle.core.function.api.datacenter.obu.IMoGoObuWarningSpatListener
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager
import com.mogo.eagle.core.function.call.obu.*

View File

@@ -13,10 +13,7 @@ import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager
import com.mogo.eagle.core.function.call.map.CallerVisualAngleManager
import com.mogo.eagle.core.function.call.obu.CallerObuConnectListenerManager
import com.mogo.eagle.core.function.call.obu.CallerObuLocationWGS84ListenerManager
import com.mogo.eagle.core.function.call.obu.CallerObuSaveMessageListenerManager
import com.mogo.eagle.core.function.call.obu.CallerObuWarningListenerManager
import com.mogo.eagle.core.function.call.obu.*
import com.mogo.eagle.core.function.call.v2x.CallerLimitingVelocityListenerManager
import com.mogo.eagle.core.function.call.v2x.CallerTrafficLightListenerManager
import com.mogo.eagle.core.function.datacenter.obu.utils.TrafficDataConvertUtilsNew
@@ -57,7 +54,6 @@ class MogoPrivateObuNewManager private constructor() : OnUpgradeListener {
private var mObuStatusInfo = CallerObuConnectListenerManager.getObuStatusInfo()
private var mContext: Context? = null
var mVersionName: String? = null
fun connectObu(context: Context, obuIpAddress: String, padIpAddress: String) {
ObuManager.getInstance().registerObuListener(mogoObuListener)
@@ -113,7 +109,7 @@ class MogoPrivateObuNewManager private constructor() : OnUpgradeListener {
override fun onCurrentVersion(version: MogoObuSystemBConfigData) {
CallerLogger.d("$M_OBU${MogoObuConst.TAG_UPGRADE_OBU}", "onCurrentVersion version = ${version.version}")
if (!version.version.isNullOrEmpty()) {
mVersionName = version.version
CallerObuInfoListenerManager.invokeObuVersionName(version.version)
CallerDevaToolsManager.queryObuUpgrade(version.version)
}
}

View File

@@ -2,9 +2,9 @@ package com.mogo.eagle.core.function.datacenter.v2x
import android.content.Context
import android.os.Handler
import com.mogo.eagle.core.data.biz.trafficlight.*
import com.mogo.eagle.core.data.enums.DataSourceType
import com.mogo.eagle.core.data.enums.TrafficLightEnum
import com.mogo.eagle.core.data.trafficlight.*
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotIdentifyListener
import com.mogo.eagle.core.function.api.datacenter.union.IMoGoTrafficLightListener
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotIdentifyListenerManager

View File

@@ -4,7 +4,7 @@ import android.content.Context
import android.os.Looper
import com.mogo.eagle.core.data.enums.DataSourceType
import com.mogo.eagle.core.data.msgbox.*
import com.mogo.eagle.core.data.report.ReportEntity
import com.mogo.eagle.core.data.deva.report.ReportEntity
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxListenerManager
import com.mogo.eagle.core.function.msgbox.db.MsgBoxDb
import com.mogo.eagle.core.function.msgbox.db.MsgBoxInfo

View File

@@ -8,7 +8,7 @@ import com.alibaba.android.arouter.facade.annotation.Route
import com.mogo.commons.AbsMogoApplication
import com.mogo.commons.debug.DebugConfig
import com.mogo.eagle.core.data.EnvConfig
import com.mogo.eagle.core.data.bindingcar.ModifyBindingcarInfo
import com.mogo.eagle.core.data.deva.bindingcar.ModifyBindingcarInfo
import com.mogo.eagle.core.data.constants.MogoServicePaths
import com.mogo.eagle.core.data.deva.chain.ChainLogParam
import com.mogo.eagle.core.data.deva.scene.SceneModule
@@ -30,6 +30,7 @@ import com.zhjt.mogo_core_function_devatools.mofang.MoFangManager.Companion.moFa
import com.zhjt.mogo_core_function_devatools.monitor.MonitorManager
import com.zhjt.mogo_core_function_devatools.monitor.db.MonitorDb
import com.zhjt.mogo_core_function_devatools.monitor.db.MonitorDb.Companion.getDb
import com.zhjt.mogo_core_function_devatools.report.IPCReportManager
import com.zhjt.mogo_core_function_devatools.report.IPCReportManager.Companion.iPCReportManager
import com.zhjt.mogo_core_function_devatools.scene.SceneManager.Companion.sceneManager
import com.zhjt.mogo_core_function_devatools.status.StatusManager
@@ -162,6 +163,10 @@ class DevaToolsProvider : IDevaToolsProvider {
BadCaseManager.showBadCaseManagerWindow(context)
}
override fun showReportListWindow(context: Context, isShow: Boolean) {
iPCReportManager.showReportListWindow(context, isShow)
}
override fun downLoadPackage(downloadKey: String, downloadUrl: String) {
upgradeManager.downLoadPackage(mContext!!, downloadKey, downloadUrl)
}

View File

@@ -8,8 +8,8 @@ import android.view.LayoutInflater
import android.view.View
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.recyclerview.widget.GridLayoutManager
import com.mogo.eagle.core.data.badcase.RecordTypeEntity
import com.mogo.eagle.core.data.badcase.TopicEntity
import com.mogo.eagle.core.data.deva.badcase.RecordTypeEntity
import com.mogo.eagle.core.data.deva.badcase.TopicEntity
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotRecordListener
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotRecordListenerManager

View File

@@ -12,10 +12,10 @@ import android.view.View
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.recyclerview.widget.LinearLayoutManager
import bag_manager.BagManagerOuterClass
import com.mogo.eagle.core.data.badcase.BagDescriptionEntity
import com.mogo.eagle.core.data.badcase.BagInfoEntity
import com.mogo.eagle.core.data.badcase.BagManagerEntity
import com.mogo.eagle.core.data.badcase.SubBagEntity
import com.mogo.eagle.core.data.deva.badcase.BagDescriptionEntity
import com.mogo.eagle.core.data.deva.badcase.BagInfoEntity
import com.mogo.eagle.core.data.deva.badcase.BagManagerEntity
import com.mogo.eagle.core.data.deva.badcase.SubBagEntity
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotRecordListener
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotRecordListenerManager
@@ -425,7 +425,7 @@ class BadCaseManagerView @JvmOverloads constructor(
if(titleBagInfo.itemType == 1){
val bagIterator = bagManagerEntity.bagsInfoResp.iterator()
var hasBag = false
var bagBagInfo: BagInfoEntity ?= null
var bagBagInfo: BagInfoEntity?= null
while(bagIterator.hasNext()){
bagBagInfo = bagIterator.next()
if(bagBagInfo.itemType == 0){

View File

@@ -9,7 +9,7 @@ import androidx.annotation.NonNull;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.mogo.eagle.core.data.badcase.RecordCaseEntity;
import com.mogo.eagle.core.data.deva.badcase.RecordCaseEntity;
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotRecordListener;
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager;
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotRecordListenerManager;

View File

@@ -14,8 +14,8 @@ import androidx.annotation.NonNull;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.mogo.eagle.core.data.badcase.RecordTypeEntity;
import com.mogo.eagle.core.data.badcase.TopicEntity;
import com.mogo.eagle.core.data.deva.badcase.RecordTypeEntity;
import com.mogo.eagle.core.data.deva.badcase.TopicEntity;
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotRecordListener;
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager;
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotRecordListenerManager;

View File

@@ -13,10 +13,10 @@ import android.widget.ImageView
import android.widget.TextView
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
import com.mogo.eagle.core.data.app.AppConfigInfo
import com.mogo.eagle.core.data.badcase.BagDescriptionEntity
import com.mogo.eagle.core.data.badcase.BagInfoEntity
import com.mogo.eagle.core.data.badcase.BagManagerEntity
import com.mogo.eagle.core.data.badcase.RecordCaseEntity
import com.mogo.eagle.core.data.deva.badcase.BagDescriptionEntity
import com.mogo.eagle.core.data.deva.badcase.BagInfoEntity
import com.mogo.eagle.core.data.deva.badcase.BagManagerEntity
import com.mogo.eagle.core.data.deva.badcase.RecordCaseEntity
import com.mogo.eagle.core.data.map.MogoLocation
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotRecordListener
import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationWGS84Listener

View File

@@ -17,8 +17,8 @@ import android.widget.TextView
import com.google.android.flexbox.FlexboxLayout
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
import com.mogo.eagle.core.data.app.AppConfigInfo
import com.mogo.eagle.core.data.badcase.BagDescriptionEntity
import com.mogo.eagle.core.data.badcase.BagManagerEntity
import com.mogo.eagle.core.data.deva.badcase.BagDescriptionEntity
import com.mogo.eagle.core.data.deva.badcase.BagManagerEntity
import com.mogo.eagle.core.data.map.MogoLocation
import com.mogo.eagle.core.data.msgbox.MsgBoxBean
import com.mogo.eagle.core.data.msgbox.RecordBagMsg

View File

@@ -10,8 +10,8 @@ import android.widget.EditText
import android.widget.ImageView
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.mogo.eagle.core.data.badcase.BagDescriptionEntity
import com.mogo.eagle.core.data.badcase.BagInfoEntity
import com.mogo.eagle.core.data.deva.badcase.BagDescriptionEntity
import com.mogo.eagle.core.data.deva.badcase.BagInfoEntity
import com.zhjt.mogo_core_function_devatools.R
import java.text.DecimalFormat
@@ -163,7 +163,7 @@ class BagManagerListAdapter: RecyclerView.Adapter<RecyclerView.ViewHolder>() {
interface BagClickListener{
//选择Bag包
fun onClick(bagInfoEntity: BagInfoEntity,isChecked: Boolean)
fun onClick(bagInfoEntity: BagInfoEntity, isChecked: Boolean)
//上报BI平台
fun uploadBI(bagInfoEntity: BagInfoEntity)
//编辑Bag包描述信息

View File

@@ -5,7 +5,7 @@ import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.mogo.eagle.core.data.badcase.RecordCaseEntity
import com.mogo.eagle.core.data.deva.badcase.RecordCaseEntity
import com.zhjt.mogo_core_function_devatools.R
/**

View File

@@ -5,7 +5,7 @@ import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.mogo.eagle.core.data.badcase.RecordTypeEntity
import com.mogo.eagle.core.data.deva.badcase.RecordTypeEntity
import com.zhjt.mogo_core_function_devatools.R
/**

View File

@@ -5,7 +5,7 @@ import android.view.View
import android.view.ViewGroup
import android.widget.CheckBox
import androidx.recyclerview.widget.RecyclerView
import com.mogo.eagle.core.data.badcase.TopicEntity
import com.mogo.eagle.core.data.deva.badcase.TopicEntity
import com.zhjt.mogo_core_function_devatools.R
/**
@@ -61,7 +61,7 @@ class TopicListAdapter: RecyclerView.Adapter<TopicListAdapter.TopicListHolder>()
}
}
private fun moveItem(topicEntity: TopicEntity,removePos: Int,insertedPos: Int){
private fun moveItem(topicEntity: TopicEntity, removePos: Int, insertedPos: Int){
data?.remove(topicEntity)
notifyItemRemoved(removePos)
notifyItemRangeChanged(removePos, itemCount - removePos)

View File

@@ -1,6 +1,6 @@
package com.zhjt.mogo_core_function_devatools.badcase.consts
import com.mogo.eagle.core.data.badcase.BagInfoEntity
import com.mogo.eagle.core.data.deva.badcase.BagInfoEntity
/**
* @author XuXinChao

View File

@@ -1,7 +1,7 @@
package com.zhjt.mogo_core_function_devatools.binding;
import com.mogo.eagle.core.data.bindingcar.BindingCarInfo;
import com.mogo.eagle.core.data.bindingcar.ModifyBindingcarInfo;
import com.mogo.eagle.core.data.deva.bindingcar.BindingCarInfo;
import com.mogo.eagle.core.data.deva.bindingcar.ModifyBindingcarInfo;
import io.reactivex.Observable;
import okhttp3.RequestBody;

View File

@@ -6,7 +6,7 @@ import android.util.Log
import com.elegant.utils.UiThreadHandler
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
import com.mogo.eagle.core.data.app.AppConfigInfo.role
import com.mogo.eagle.core.data.bindingcar.ModifyBindingcarInfo
import com.mogo.eagle.core.data.deva.bindingcar.ModifyBindingcarInfo
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.data.config.HmiBuildConfig
import com.mogo.eagle.core.data.obu.MogoObuConst

View File

@@ -4,9 +4,9 @@ import android.content.Context
import com.mogo.commons.constants.HostConst
import com.mogo.commons.constants.SharedPrefsConstants
import com.mogo.commons.debug.DebugConfig
import com.mogo.eagle.core.data.bindingcar.BindingCarInfo
import com.mogo.eagle.core.data.bindingcar.BindingCarRequest
import com.mogo.eagle.core.data.bindingcar.ModifyBindingcarInfo
import com.mogo.eagle.core.data.deva.bindingcar.BindingCarInfo
import com.mogo.eagle.core.data.deva.bindingcar.BindingCarRequest
import com.mogo.eagle.core.data.deva.bindingcar.ModifyBindingcarInfo
import com.mogo.eagle.core.data.config.HdMapBuildConfig
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager.showBindingCarDialog
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager.showModifyBindingCarDialog
@@ -183,10 +183,6 @@ class BindingCarNetWorkManager private constructor() {
CallerMapUIServiceManager.getMapUIController()?.changeCurrentIcon(R.raw.huanwei)
HdMapBuildConfig.currentCarVrIconRes = R.raw.huanwei
}
else -> {
CallerMapUIServiceManager.getMapUIController()?.changeCurrentIcon(R.raw.chuzuche)
HdMapBuildConfig.currentCarVrIconRes = R.raw.chuzuche
}
}
}

View File

@@ -9,8 +9,8 @@ import android.content.Intent
import android.content.IntentFilter
import android.view.KeyEvent
import com.mogo.commons.context.ContextHolderUtil
import com.mogo.eagle.core.data.mofang.MfConstants
import com.mogo.eagle.core.function.api.mofang.IMoGoMoFangListener
import com.mogo.eagle.core.data.deva.mofang.MfConstants
import com.mogo.eagle.core.function.api.devatools.mofang.IMoGoMoFangListener
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager.sendOperatorChangeLaneLeft
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager.sendOperatorChangeLaneRight
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager.sendOperatorSetAcceleratedSpeed
@@ -33,7 +33,7 @@ import java.util.*
* 魔方连接状态和设备管理
*/
@SuppressLint("StaticFieldLeak")
class MoFangManager private constructor() : IMoGoMoFangListener{
class MoFangManager private constructor() : IMoGoMoFangListener {
companion object {
val moFangManager: MoFangManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) {
@@ -163,7 +163,8 @@ class MoFangManager private constructor() : IMoGoMoFangListener{
* 魔方按键处理
*/
override fun onMofangHandle(keyCode: Int, action: Int): Boolean {
val bluetoothName = SharedPrefsMgr.getInstance(ContextHolderUtil.getContext()).getString(MfConstants.BLUETOOTH_NAME)
val bluetoothName = SharedPrefsMgr.getInstance(ContextHolderUtil.getContext()).getString(
MfConstants.BLUETOOTH_NAME)
if (bluetoothName == "MINI_KEYBOARD") {
if (!isPressEnd) {
isPressEnd = true

View File

@@ -1,9 +1,11 @@
package com.zhjt.mogo_core_function_devatools.report
import android.app.Activity
import android.content.Context
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.data.msgbox.MsgBoxBean
import com.mogo.eagle.core.data.msgbox.MsgBoxType
import com.mogo.eagle.core.data.report.ReportEntity
import com.mogo.eagle.core.data.deva.report.ReportEntity
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager
@@ -37,6 +39,11 @@ class IPCReportManager : IMoGoAutopilotStatusListener {
}
//工控机上报列表悬浮窗
private var reportListFloatWindow: ReportListFloatWindow? = null
//工控机节点上报列表
private val reportList = arrayListOf<ReportEntity>()
fun initServer(){
//乘客屏不显示监控信息弹窗,只在司机端提示
if(AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)){
@@ -45,6 +52,19 @@ class IPCReportManager : IMoGoAutopilotStatusListener {
}
}
fun showReportListWindow(context: Context, isShow: Boolean){
if(isShow){
//打开工控机上报列表
reportListFloatWindow =
ReportListFloatWindow(context as Activity)
reportListFloatWindow?.showFloatWindow()
reportListFloatWindow?.refreshData(reportList)
}else {
//关闭工控机上报列表
reportListFloatWindow?.hideFloatWindow()
}
}
/**
*工控机监控节点上报
*/
@@ -61,6 +81,18 @@ class IPCReportManager : IMoGoAutopilotStatusListener {
CallerMsgBoxManager.saveMsgBox(MsgBoxBean(MsgBoxType.REPORT, reportEntity))
}
if (reportList.size > 49) {
reportList.removeLast()
}
reportList.add(
0,
ReportEntity(
TimeUtils.millis2String(System.currentTimeMillis()),
it.src, it.level, it.msg, it.code, it.resultList, it.actionsList
)
)
reportListFloatWindow?.refreshData(reportList)
// //Error 弹窗并有提示音
// if(it.resultList.contains(RESULT_AUTOPILOT_DISABLE)
// || it.resultList.contains(RESULT_AUTOPILOT_SYSTEM_UNSTARTED)

View File

@@ -1,4 +1,4 @@
package com.mogo.eagle.core.function.hmi.ui.setting
package com.zhjt.mogo_core_function_devatools.report
import android.app.Activity
import android.graphics.PixelFormat
@@ -6,10 +6,10 @@ import android.util.DisplayMetrics
import android.view.*
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.mogo.eagle.core.data.report.ReportEntity
import com.mogo.eagle.core.function.hmi.R
import com.mogo.eagle.core.data.deva.report.ReportEntity
import com.mogo.eagle.core.utilcode.util.BarUtils
import java.lang.reflect.Field
import com.zhjt.mogo_core_function_devatools.R
import com.zhjt.mogo_core_function_devatools.report.adapter.ReportListAdapter
/**
* @author XuXinChao
@@ -51,7 +51,7 @@ class ReportListFloatWindow constructor(activity: Activity) : View.OnTouchListen
it.alpha = 0.9f
}
reportListAdapter= ReportListAdapter(mActivity)
rvReportList.layoutManager = WrapContentLinearLayoutManager(mActivity,
rvReportList.layoutManager = LinearLayoutManager(mActivity,
LinearLayoutManager.VERTICAL,false)
rvReportList.adapter = reportListAdapter
}

View File

@@ -1,4 +1,4 @@
package com.mogo.eagle.core.function.hmi.ui.setting
package com.zhjt.mogo_core_function_devatools.report.adapter
import android.annotation.SuppressLint
import android.content.Context
@@ -8,9 +8,9 @@ import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.mogo.eagle.core.data.report.ReportEntity
import com.mogo.eagle.core.data.deva.report.ReportEntity
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
import com.mogo.eagle.core.function.hmi.R
import com.zhjt.mogo_core_function_devatools.R
/**
* @author XuXinChao

View File

@@ -5,7 +5,7 @@ import com.mogo.aicloud.services.socket.IMogoOnMessageListener
import com.mogo.aicloud.services.socket.MogoAiCloudSocketManager
import com.mogo.cloud.passport.MoGoAiCloudClient
import com.mogo.eagle.core.data.autopilot.AutopilotStatusInfo
import com.mogo.eagle.core.data.bindingcar.IPCUpgradeStateInfo
import com.mogo.eagle.core.data.deva.bindingcar.IPCUpgradeStateInfo
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsListenerManager

View File

@@ -3,17 +3,16 @@ package com.zhjt.mogo_core_function_devatools.upgrade;
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_BINDING;
import android.content.Context;
import android.util.Log;
import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
import com.mogo.commons.constants.HostConst;
import com.mogo.eagle.core.data.bindingcar.UpgradeAppInfo;
import com.mogo.eagle.core.data.obu.MogoObuConst;
import com.mogo.eagle.core.data.deva.bindingcar.UpgradeAppInfo;
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager;
import com.mogo.eagle.core.function.call.obu.CallerObuApiManager;
import com.mogo.eagle.core.network.MoGoRetrofitFactory;
import com.mogo.eagle.core.network.utils.GsonUtil;
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
import com.mogo.eagle.core.utilcode.util.AppUtils;
import io.reactivex.Observer;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.annotations.NonNull;
@@ -78,12 +77,15 @@ public class ObuUpgradeAppNetWorkManager {
}
} else {
CallerLogger.INSTANCE.d(M_BINDING + TAG, "getObuUpgradeInfo onNext info == null");
CallerObuApiManager.INSTANCE.deleteObuFile();
}
}
@Override
public void onError(Throwable e) {
CallerLogger.INSTANCE.e(M_BINDING + TAG, "getObuUpgradeInfo e = " + e);
//请求出错,需要删除相关文件
CallerObuApiManager.INSTANCE.deleteObuFile();
}
@Override

View File

@@ -1,13 +1,12 @@
package com.zhjt.mogo_core_function_devatools.upgrade;
import com.mogo.eagle.core.data.bindingcar.UpgradeAppInfo;
import com.mogo.eagle.core.data.deva.bindingcar.UpgradeAppInfo;
import io.reactivex.Observable;
import okhttp3.RequestBody;
import retrofit2.http.Body;
import retrofit2.http.Headers;
import retrofit2.http.POST;
import retrofit2.http.Query;
/**
* @author lixiaopeng

View File

@@ -4,14 +4,17 @@ import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_BIN
import android.content.Context;
import com.elegant.utils.UiThreadHandler;
import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
import com.mogo.commons.constants.HostConst;
import com.mogo.eagle.core.data.bindingcar.UpgradeAppInfo;
import com.mogo.eagle.core.data.deva.bindingcar.UpgradeAppInfo;
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager;
import com.mogo.eagle.core.network.MoGoRetrofitFactory;
import com.mogo.eagle.core.network.utils.GsonUtil;
import com.mogo.eagle.core.utilcode.breakpoint.Config;
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
import com.mogo.eagle.core.utilcode.util.AppUtils;
import com.mogo.eagle.core.utilcode.util.FileUtils;
import io.reactivex.Observer;
import io.reactivex.android.schedulers.AndroidSchedulers;
@@ -72,15 +75,18 @@ public class UpgradeAppNetWorkManager {
CallerLogger.INSTANCE.d(M_BINDING + TAG, "UpgradeAppInfo url = " + info.result.getAppUrl() + "----code = " + info.result.getVersionCode() + "--versionCode =" + versionCode + "--info.result = " + info.result);
if (info.result.getVersionCode() > versionCode) {
CallerHmiManager.INSTANCE.showUpgradeDialog(info.result.getAppUrl().substring(info.result.getAppUrl().lastIndexOf("/")+1), info.result.getAppUrl(), info.result.getInstallTitle(), info.result.getInstallContent(), info.result.getInstallType());
} else {
deleteApkFile();
}
} else {
CallerLogger.INSTANCE.d(M_BINDING + TAG, "UpgradeAppInfo onNext info == null");
deleteApkFile();
}
}
@Override
public void onError(Throwable e) {
deleteApkFile();
}
@Override
@@ -90,4 +96,16 @@ public class UpgradeAppNetWorkManager {
}
/**
* 删除APK 相关的文件
*/
private void deleteApkFile(){
UiThreadHandler.post(new Runnable() {
@Override
public void run() {
FileUtils.delete(Config.downLoadPath);
}
});
}
}

View File

@@ -6,44 +6,58 @@
<TextView
android:id="@+id/tvReportTime"
style="@style/DebugSettingText"
android:textColor="#1A1A1A"
android:textSize="24dp"
android:layout_margin="@dimen/dp_10"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/tvReportSrc"
style="@style/DebugSettingText"
android:textColor="#1A1A1A"
android:textSize="24dp"
android:layout_margin="@dimen/dp_10"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/tvReportLevel"
style="@style/DebugSettingText"
android:textColor="#1A1A1A"
android:textSize="24dp"
android:layout_margin="@dimen/dp_10"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/tvReportMsg"
style="@style/DebugSettingText"
android:textColor="#1A1A1A"
android:textSize="24dp"
android:layout_margin="@dimen/dp_10"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/tvReportCode"
style="@style/DebugSettingText"
android:textColor="#1A1A1A"
android:textSize="24dp"
android:layout_margin="@dimen/dp_10"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/tvReportResult"
style="@style/DebugSettingText"
android:textColor="#1A1A1A"
android:textSize="24dp"
android:layout_margin="@dimen/dp_10"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/tvReportActions"
style="@style/DebugSettingText"
android:textColor="#1A1A1A"
android:textSize="24dp"
android:layout_margin="@dimen/dp_10"
android:layout_width="match_parent"
android:layout_height="wrap_content" />

View File

@@ -18,7 +18,7 @@
<com.mogo.eagle.core.widget.RoundConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/dialog_bg_color"
android:background="#3B4577"
app:roundLayoutRadius="10dp">
<androidx.recyclerview.widget.RecyclerView

View File

@@ -58,10 +58,6 @@ dependencies {
implementation rootProject.ext.dependencies.mogoaicloudtrafficlive
implementation rootProject.ext.dependencies.material
kapt rootProject.ext.dependencies.androidxroomcompiler
implementation rootProject.ext.dependencies.androidxroomruntime
implementation rootProject.ext.dependencies.androidxroomktx
//Crash日志收集
// implementation rootProject.ext.dependencies.crashSdk
implementation rootProject.ext.dependencies.boostmultidex
@@ -75,22 +71,12 @@ dependencies {
implementation rootProject.ext.dependencies.cicle_indicator
implementation rootProject.ext.dependencies.koomnative
implementation rootProject.ext.dependencies.koomxhook
if (Boolean.valueOf(USE_MAVEN_PACKAGE)) {
compileOnly rootProject.ext.dependencies.mogocommons
api rootProject.ext.dependencies.mogo_core_res
compileOnly rootProject.ext.dependencies.mogo_core_utils
compileOnly rootProject.ext.dependencies.mogo_core_function_datacenter
compileOnly rootProject.ext.dependencies.mogo_core_function_call
} else {
api project(':test:crashreport-apmbyte')
compileOnly project(':core:function-impl:mogo-core-function-datacenter')
implementation project(':foudations:mogo-commons')
api project(':core:mogo-core-res')
compileOnly project(':core:mogo-core-utils')
compileOnly project(':core:mogo-core-function-call')
}
api project(':test:crashreport-apmbyte')
compileOnly project(':core:function-impl:mogo-core-function-datacenter')
implementation project(':foudations:mogo-commons')
api project(':core:mogo-core-res')
compileOnly project(':core:mogo-core-function-call')
}
apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString()

View File

@@ -66,11 +66,11 @@
android:windowSoftInputMode="adjustPan|stateHidden">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<!--调试用暂时开启LAUNCHER这个属性-->
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.LAUNCHER_APP" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
<!--调试用暂时开启LAUNCHER这个属性-->
<category android:name="android.intent.category.HOME" />
</intent-filter>
<intent-filter>
<data
@@ -95,23 +95,7 @@
android:stateNotNeeded="true"
android:theme="@style/Main"
android:windowSoftInputMode="adjustPan|stateHidden">
<!--<intent-filter>
<action android:name="android.intent.action.MAIN" />
&lt;!&ndash;调试用暂时开启LAUNCHER这个属性&ndash;&gt;
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.LAUNCHER_APP" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>-->
<intent-filter>
<data
android:host="launcher"
android:path="/main/switch2"
android:scheme="mogo" />
<category android:name="android.intent.category.DEFAULT" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
</activity>
<activity
@@ -126,15 +110,7 @@
android:stateNotNeeded="true"
android:theme="@style/Main"
android:windowSoftInputMode="adjustPan|stateHidden">
<intent-filter>
<data
android:host="launcher"
android:path="/main/switch2"
android:scheme="mogo" />
<category android:name="android.intent.category.DEFAULT" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
</activity>
<activity

View File

@@ -3,7 +3,7 @@ package com.mogo.eagle.core.function.hmi.receiver
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import com.mogo.eagle.core.data.notice.NoticeTrafficStylePushData
import com.mogo.eagle.core.data.biz.notice.NoticeTrafficStylePushData
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
/**

View File

@@ -5,7 +5,7 @@ import android.content.Context
import android.content.Intent
import com.mogo.eagle.core.data.msgbox.MsgBoxBean
import com.mogo.eagle.core.data.msgbox.MsgBoxType
import com.mogo.eagle.core.data.notice.NoticeNormalData
import com.mogo.eagle.core.data.biz.notice.NoticeNormalData
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager
import com.mogo.eagle.core.utilcode.util.SharedPrefs

View File

@@ -8,18 +8,17 @@ import androidx.lifecycle.lifecycleScope
import com.alibaba.android.arouter.facade.annotation.Route
import com.mogo.commons.voice.AIAssist
import com.mogo.commons.voice.IMogoVoiceCmdCallBack
import com.mogo.eagle.core.data.bindingcar.IPCUpgradeStateInfo
import com.mogo.eagle.core.data.deva.bindingcar.IPCUpgradeStateInfo
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.data.constants.MogoServicePaths.PATH_FRAGMENT_HMI
import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.BIZ_RTS
import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.V2I
import com.mogo.eagle.core.data.dispatch.DispatchAdasAutoPilotLocReceiverBean
import com.mogo.eagle.core.data.biz.dispatch.DispatchAdasAutoPilotLocReceiverBean
import com.mogo.eagle.core.data.enums.EventTypeEnumNew
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.data.biz.notice.NoticeNormalData
import com.mogo.eagle.core.data.biz.notice.NoticeTrafficStylePushData
import com.mogo.eagle.core.function.api.hmi.warning.IMoGoHmiProvider
import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWarningStatusListener
import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager
@@ -29,7 +28,6 @@ import com.mogo.eagle.core.function.hmi.ui.notice.DispatchDialogManager
import com.mogo.eagle.core.function.hmi.ui.notice.NoticeCheckDialog
import com.mogo.eagle.core.function.hmi.ui.notice.traffic.NoticeTrafficDialog
import com.mogo.eagle.core.function.hmi.ui.setting.CameraLiveView.Companion.cameraLiveView
import com.mogo.eagle.core.function.hmi.ui.setting.IPCReportWindow
import com.mogo.eagle.core.function.hmi.ui.setting.ToolsView.Companion.toolsView
import com.mogo.eagle.core.function.hmi.ui.tools.AdUpgradeDialog
import com.mogo.eagle.core.function.hmi.ui.tools.ModifyBindingCarDialog
@@ -257,20 +255,6 @@ class MoGoHmiProvider : IMoGoHmiProvider {
}
}
override fun showIPCReportWindow(
errorReportList: ArrayList<ReportEntity>,
warningReportList: ArrayList<ReportEntity>,
reportLevel: Int
) {
ThreadUtils.runOnUiThread {
context?.let {
if (reportLevel == 1) {
IPCReportWindow.show(it, errorReportList, warningReportList, reportLevel)
}
}
}
}
override fun showUpgradeDialog(
name: String,
url: String,

View File

@@ -7,7 +7,7 @@ import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView.Adapter
import androidx.recyclerview.widget.RecyclerView.ViewHolder
import com.mogo.eagle.core.data.camera.CameraEntity
import com.mogo.eagle.core.data.biz.camera.CameraEntity
import com.mogo.eagle.core.function.hmi.R
class CameraListAdapter : Adapter<CameraListAdapter.CameraListHolder> {

View File

@@ -20,7 +20,7 @@ import com.mogo.cloud.live.manager.LiveStreamManagerImpl
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
import com.mogo.cloud.trafficlive.api.ITrafficCarLiveCallBack
import com.mogo.cloud.trafficlive.api.MoGoAiCloudTrafficLive
import com.mogo.eagle.core.data.camera.CameraEntity
import com.mogo.eagle.core.data.biz.camera.CameraEntity
import com.mogo.eagle.core.function.call.biz.CallerFuncBizManager
import com.mogo.eagle.core.function.hmi.R
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger

View File

@@ -11,7 +11,7 @@ import androidx.recyclerview.widget.RecyclerView
import com.mogo.eagle.core.data.enums.DataSourceType
import com.mogo.eagle.core.data.enums.EventTypeEnumNew
import com.mogo.eagle.core.data.msgbox.*
import com.mogo.eagle.core.data.report.ReportEntity
import com.mogo.eagle.core.data.deva.report.ReportEntity
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxEventListenerManager

View File

@@ -12,7 +12,7 @@ import androidx.recyclerview.widget.RecyclerView
import com.mogo.eagle.core.data.enums.DataSourceType
import com.mogo.eagle.core.data.enums.EventTypeEnumNew
import com.mogo.eagle.core.data.msgbox.*
import com.mogo.eagle.core.data.report.ReportEntity
import com.mogo.eagle.core.data.deva.report.ReportEntity
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager

View File

@@ -7,7 +7,7 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import com.mogo.eagle.core.data.dispatch.DispatchAdasAutoPilotLocReceiverBean;
import com.mogo.eagle.core.data.biz.dispatch.DispatchAdasAutoPilotLocReceiverBean;
import com.mogo.eagle.core.function.call.biz.CallerFuncBizManager;
import com.mogo.eagle.core.function.hmi.R;

View File

@@ -10,7 +10,7 @@ import android.widget.FrameLayout;
import androidx.annotation.NonNull;
import com.mogo.eagle.core.data.dispatch.DispatchAdasAutoPilotLocReceiverBean;
import com.mogo.eagle.core.data.biz.dispatch.DispatchAdasAutoPilotLocReceiverBean;
import com.mogo.eagle.core.function.hmi.R;
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;

View File

@@ -9,7 +9,7 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import com.mogo.eagle.core.data.dispatch.DispatchAdasAutoPilotLocReceiverBean;
import com.mogo.eagle.core.data.biz.dispatch.DispatchAdasAutoPilotLocReceiverBean;
import com.mogo.eagle.core.function.call.biz.CallerFuncBizManager;
import com.mogo.eagle.core.function.hmi.R;

View File

@@ -1,14 +1,14 @@
package com.mogo.eagle.core.function.hmi.ui.notice;
import static com.mogo.eagle.core.data.dispatch.DispatchAdasAutoPilotLocReceiverBean.DISPATCH_SOURCE_EZHOU;
import static com.mogo.eagle.core.data.dispatch.DispatchAdasAutoPilotLocReceiverBean.DISPATCH_SOURCE_HENGYANG;
import static com.mogo.eagle.core.data.dispatch.DispatchAdasAutoPilotLocReceiverBean.DISPATCH_TYPE_START;
import static com.mogo.eagle.core.data.dispatch.DispatchAdasAutoPilotLocReceiverBean.DISPATCH_TYPE_STOP;
import static com.mogo.eagle.core.data.biz.dispatch.DispatchAdasAutoPilotLocReceiverBean.DISPATCH_SOURCE_EZHOU;
import static com.mogo.eagle.core.data.biz.dispatch.DispatchAdasAutoPilotLocReceiverBean.DISPATCH_SOURCE_HENGYANG;
import static com.mogo.eagle.core.data.biz.dispatch.DispatchAdasAutoPilotLocReceiverBean.DISPATCH_TYPE_START;
import static com.mogo.eagle.core.data.biz.dispatch.DispatchAdasAutoPilotLocReceiverBean.DISPATCH_TYPE_STOP;
import android.content.Context;
import com.mogo.commons.voice.AIAssist;
import com.mogo.eagle.core.data.dispatch.DispatchAdasAutoPilotLocReceiverBean;
import com.mogo.eagle.core.data.biz.dispatch.DispatchAdasAutoPilotLocReceiverBean;
public class DispatchDialogManager {

View File

@@ -12,7 +12,7 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.constraintlayout.widget.ConstraintLayout;
import com.mogo.eagle.core.data.notice.NoticeTrafficStylePushData;
import com.mogo.eagle.core.data.biz.notice.NoticeTrafficStylePushData;
import com.mogo.eagle.core.function.hmi.R;
import com.mogo.eagle.core.function.hmi.ui.notice.traffic.NoticeTrafficDialog;
import com.mogo.eagle.core.utilcode.mogo.glide.GlideApp;

View File

@@ -10,7 +10,7 @@ import androidx.lifecycle.LifecycleObserver
import com.mogo.commons.module.status.IMogoStatusChangedListener
import com.mogo.commons.module.status.MogoStatusManager
import com.mogo.commons.module.status.StatusDescriptor
import com.mogo.eagle.core.data.notice.NoticeNormalData
import com.mogo.eagle.core.data.biz.notice.NoticeNormalData
import com.mogo.eagle.core.function.hmi.R
import com.mogo.eagle.core.function.hmi.dialog.BaseFloatDialog
import com.mogo.eagle.core.utilcode.mogo.glide.GlideApp

View File

@@ -11,7 +11,7 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.constraintlayout.widget.ConstraintLayout;
import com.mogo.eagle.core.data.notice.NoticeNormalData;
import com.mogo.eagle.core.data.biz.notice.NoticeNormalData;
import com.mogo.eagle.core.function.hmi.R;
import com.mogo.eagle.core.utilcode.mogo.glide.GlideApp;
import com.mogo.eagle.core.utilcode.mogo.glide.transform.GlideRoundedCornersTransform;

View File

@@ -9,7 +9,7 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.mogo.eagle.core.data.notice.NoticeValue;
import com.mogo.eagle.core.data.biz.notice.NoticeValue;
import com.mogo.eagle.core.function.hmi.R;
import java.util.ArrayList;

View File

@@ -14,10 +14,10 @@ import com.mogo.commons.module.status.MogoStatusManager
import com.mogo.commons.module.status.StatusDescriptor
import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters
import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters.AutoPilotLonLat
import com.mogo.eagle.core.data.notice.NoticeTrafficStyleInfo
import com.mogo.eagle.core.data.notice.NoticeTrafficStyleInfo.NoticeTrafficAccountInfo
import com.mogo.eagle.core.data.notice.NoticeTrafficStylePushData
import com.mogo.eagle.core.data.notice.NoticeValue
import com.mogo.eagle.core.data.biz.notice.NoticeTrafficStyleInfo
import com.mogo.eagle.core.data.biz.notice.NoticeTrafficStyleInfo.NoticeTrafficAccountInfo
import com.mogo.eagle.core.data.biz.notice.NoticeTrafficStylePushData
import com.mogo.eagle.core.data.biz.notice.NoticeValue
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager.startAutoPilot
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationWGS84ListenerManager
import com.mogo.eagle.core.function.call.biz.CallerFuncBizManager.bizProvider

View File

@@ -9,7 +9,6 @@ import androidx.recyclerview.widget.RecyclerView
import com.mogo.eagle.core.data.gnss.AccelerationEntity
import com.mogo.eagle.core.function.hmi.R
import com.mogo.eagle.core.utilcode.util.BarUtils
import java.lang.reflect.Field
/**
* @author XuXinChao

View File

@@ -6,7 +6,7 @@ import android.view.Gravity
import android.view.View
import android.view.WindowManager
import android.view.animation.OvershootInterpolator
import com.mogo.eagle.core.data.camera.CameraEntity
import com.mogo.eagle.core.data.biz.camera.CameraEntity
import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig
import com.mogo.eagle.core.data.enums.SidePattern
import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWarningStatusListener

View File

@@ -41,11 +41,12 @@ import com.mogo.eagle.core.data.gnss.AccelerationEntity
import com.mogo.eagle.core.data.map.MogoLocation
import com.mogo.eagle.core.data.obu.MogoObuConst
import com.mogo.eagle.core.data.obu.ObuStatusInfo
import com.mogo.eagle.core.data.report.ReportEntity
import com.mogo.eagle.core.data.deva.report.ReportEntity
import com.mogo.eagle.core.function.api.autopilot.*
import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsFuncConfigListener
import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsListener
import com.mogo.eagle.core.function.api.obu.IMoGoObuConnectListener
import com.mogo.eagle.core.function.api.datacenter.obu.IMoGoObuConnectListener
import com.mogo.eagle.core.function.api.datacenter.obu.IMoGoObuInfoListener
import com.mogo.eagle.core.function.call.autopilot.*
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsFuncConfigListenerManager
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsListenerManager
@@ -54,6 +55,7 @@ import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager
import com.mogo.eagle.core.function.call.obu.CallerObuApiManager
import com.mogo.eagle.core.function.call.obu.CallerObuConnectListenerManager
import com.mogo.eagle.core.function.call.obu.CallerObuInfoListenerManager
import com.mogo.eagle.core.function.call.setting.CallerMoGoUiSettingManager
import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager
import com.mogo.eagle.core.function.hmi.R
@@ -107,7 +109,8 @@ internal class DebugSettingView @JvmOverloads constructor(
IMoGoChassisGearStateListener,
IMoGoChassisBrakeStateListener,
IMoGoChassisThrottleStateListener,
IMoGoSweeperFutianCleanSystemListener {
IMoGoSweeperFutianCleanSystemListener,
IMoGoObuInfoListener {
private val TAG = "DebugSettingView"
@@ -139,6 +142,8 @@ internal class DebugSettingView @JvmOverloads constructor(
//OBU连接状态
private var obuConnectStatus: Boolean = false
private var mObuVersionName: String = ""
private var mObuDeviceId: String = ""
//渠道包标签
private var onlineSelected: Boolean = true
@@ -217,6 +222,8 @@ internal class DebugSettingView @JvmOverloads constructor(
//查询工控机基础配置信息
CallerAutoPilotControlManager.getCarConfig()
}
CallerObuInfoListenerManager.addListener(TAG, this)
}
override fun onDetachedFromWindow() {
@@ -244,7 +251,8 @@ internal class DebugSettingView @JvmOverloads constructor(
CallerDevaToolsListenerManager.removeListener(TAG)
// 移除 底盘灯光数据 监听
CallerChassisLamplightListenerManager.removeListener(TAG)
// 移除 obu获取信息 监听
CallerObuInfoListenerManager.removeListener(TAG)
// 移除 业务配置监听
CallerDevaToolsFuncConfigListenerManager.unRegisterDevaToolsFuncConfigListener(
FuncBizConfig.FOUNDATION,
@@ -410,13 +418,11 @@ internal class DebugSettingView @JvmOverloads constructor(
//展示OBU控制中心
obuControllerLayout.visibility = View.VISIBLE
tbVehicleStateController.isChecked = true
} else {
buttonView.setCompoundDrawables(null, null, iconRight, null)
//隐藏OBU控制中心
obuControllerLayout.visibility = View.GONE
tbVehicleStateController.isChecked = false
}
}
@@ -1620,7 +1626,6 @@ internal class DebugSettingView @JvmOverloads constructor(
tvRouteInfoSizeCopy.text =
"全局路径规划点个数:${mRouteInfoSize}"
// 用完之后重制为0防止节点回掉突然没数据导致页面显示还是之前的数据情况
mIdentifyDataSize = 0
mUnknownIdentifyDataSize = 0
@@ -1635,13 +1640,7 @@ internal class DebugSettingView @JvmOverloads constructor(
//obu TODO 后面会添加很多os那边需要显示的内容
obuVersionNameTv.text = Html.fromHtml(
"OBU版本号${
if (AppConfigInfo.isConnectObu) {
"<font color='blue'> 1.0"
} else {
"<font color='red'>异常"
}
}"
"OBU版本号$mObuVersionName"
)
obuConnectStatusTv.text = Html.fromHtml(
@@ -1654,7 +1653,6 @@ internal class DebugSettingView @JvmOverloads constructor(
}"
)
}
/**
@@ -2053,4 +2051,11 @@ internal class DebugSettingView @JvmOverloads constructor(
setLogCheckedChangeListener()
}
override fun onGetObuVersionName(obuVersionName: String) {
mObuVersionName = obuVersionName
}
override fun onObuDeviceId(obuDeviceId: String) {
mObuDeviceId = obuDeviceId
}
}

View File

@@ -1,62 +0,0 @@
package com.mogo.eagle.core.function.hmi.ui.setting
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.mogo.eagle.core.data.report.ReportEntity
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
import com.mogo.eagle.core.function.hmi.R
import me.jessyan.autosize.AutoSizeCompat
/**
* @author XuXinChao
* @description 工控机异常节点上报适配器
* @since: 2022/5/12
*/
class IPCReportAdapter: RecyclerView.Adapter<IPCReportAdapter.IPCReportHolder>(){
private var data:List<ReportEntity>? = null
fun setData( data: List<ReportEntity>?){
this.data = data
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): IPCReportHolder {
val view = LayoutInflater.from(parent.context)
.inflate(R.layout.item_ipc_report, parent, false)
return IPCReportHolder(view)
}
override fun onBindViewHolder(holder: IPCReportHolder, position: Int) {
AutoSizeCompat.autoConvertDensityOfGlobal(holder.itemView.resources)
data?.let {it ->
val reportEntity = it[position]
reportEntity.let {
holder.tvReportTimeContent.text = it.time
var resultStr = "发生异常"
for (result in it.resultList){
resultStr = "${resultStr}-${CallerAutoPilotControlManager.getReportResultDesc(result)}"
}
holder.tvReportResultContent.text = resultStr
holder.tvReportMsgContent.text = it.msg
var actionStr = ""
for (action in it.actionsList){
actionStr = "${actionStr}-${CallerAutoPilotControlManager.getReportActionDesc(action)}"
}
holder.tvReportActionContent.text = actionStr
}
}
}
override fun getItemCount() = data?.size ?: 0
class IPCReportHolder(itemView: View) : RecyclerView.ViewHolder(itemView){
var tvReportTimeContent: TextView = itemView.findViewById(R.id.tvReportTimeContent)
var tvReportResultContent: TextView = itemView.findViewById(R.id.tvReportResultContent)
var tvReportMsgContent: TextView = itemView.findViewById(R.id.tvReportMsgContent)
var tvReportActionContent: TextView = itemView.findViewById(R.id.tvReportActionContent)
}
}

View File

@@ -1,180 +0,0 @@
package com.mogo.eagle.core.function.hmi.ui.setting
import android.app.Activity
import android.content.Context
import android.graphics.PixelFormat
import android.util.DisplayMetrics
import android.view.*
import android.widget.ImageView
import android.widget.TextView
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.mogo.eagle.core.data.report.ReportEntity
import com.mogo.eagle.core.function.hmi.R
import com.mogo.eagle.core.utilcode.mogo.toast.ResourcesHelper.getDrawable
import com.mogo.eagle.core.utilcode.util.BarUtils
import com.mogo.eagle.core.utilcode.util.SoundUtils
/**
* @author XuXinChao
* @description 工控机异常节点上报
* @since: 2022/5/12
*/
class IPCReportWindow constructor(activity: Activity) : View.OnTouchListener {
companion object {
private const val TAG = "IPCReportWindow"
private var ipcReportWindow: IPCReportWindow? = null
fun show(
context: Context?,
errorReportList: ArrayList<ReportEntity>,
warningReportList: ArrayList<ReportEntity>,
reportLevel: Int
) {
context?.let {
if (ipcReportWindow == null) {
ipcReportWindow = IPCReportWindow(it as Activity)
SoundUtils.playRing(it)
}
ipcReportWindow?.showFloatWindow()
ipcReportWindow?.refreshData(errorReportList, warningReportList, reportLevel)
}
}
}
private var mActivity: Activity = activity
private var mWindowParams: WindowManager.LayoutParams? = null
private var mWindowManager: WindowManager? = null
private lateinit var rvIPCReport: RecyclerView
private lateinit var ivIpcClose: ImageView
private lateinit var tvIpcErrorTab: TextView
private lateinit var tvIpcWarningTab: TextView
private var ipcReportAdapter: IPCReportAdapter? = null
private lateinit var mFloatLayout: View
private var mInViewX = 0f
private var mInViewY = 0f
private var mDownInScreenX = 0f
private var mDownInScreenY = 0f
private var mInScreenX = 0f
private var mInScreenY = 0f
private var ipcErrorReportList: List<ReportEntity>? = null //错误上报列表
private var ipcWarningReportList: List<ReportEntity>? = null//警告上报列表
init {
initFloatWindow()
}
private fun initFloatWindow() {
mFloatLayout =
LayoutInflater.from(mActivity).inflate(R.layout.view_ipc_report, null) as View
mFloatLayout.setOnTouchListener(this)
rvIPCReport = mFloatLayout.findViewById(R.id.rv_ipc_report)
ivIpcClose = mFloatLayout.findViewById(R.id.iv_ipc_close)
tvIpcErrorTab = mFloatLayout.findViewById(R.id.tv_ipc_error_tab)
tvIpcWarningTab = mFloatLayout.findViewById(R.id.tv_ipc_warning_tab)
mWindowParams = WindowManager.LayoutParams()
mWindowManager = mActivity.windowManager
mWindowParams?.let {
it.format = PixelFormat.RGBA_8888
it.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
it.gravity = Gravity.START or Gravity.TOP
it.width = 924
it.height = 444
it.alpha = 1.0f
}
ipcReportAdapter = IPCReportAdapter()
rvIPCReport.layoutManager = WrapContentLinearLayoutManager(
mActivity,
LinearLayoutManager.VERTICAL, false
)
rvIPCReport.adapter = ipcReportAdapter
//关闭按钮
ivIpcClose.setOnClickListener {
hideFloatWindow()
}
//错误列表
tvIpcErrorTab.setOnClickListener {
tvIpcErrorTab.background = getDrawable(mActivity, R.drawable.ipc_error_tab_normal_bg)
tvIpcWarningTab.background =
getDrawable(mActivity, R.drawable.ipc_warning_tab_normal_bg)
ipcReportAdapter?.setData(ipcErrorReportList)
ipcReportAdapter?.notifyDataSetChanged()
}
//预警列表
tvIpcWarningTab.setOnClickListener {
tvIpcErrorTab.background = getDrawable(mActivity, R.drawable.ipc_error_tab_select_bg)
tvIpcWarningTab.background =
getDrawable(mActivity, R.drawable.ipc_warning_tab_select_bg)
ipcReportAdapter?.setData(ipcWarningReportList)
ipcReportAdapter?.notifyDataSetChanged()
}
}
fun refreshData(
errorReportList: List<ReportEntity>,
warningReportList: List<ReportEntity>,
reportLevel: Int
) {
if (reportLevel == 1) {
ipcReportAdapter?.setData(errorReportList)
ipcErrorReportList = errorReportList
} else {
ipcReportAdapter?.setData(warningReportList)
ipcWarningReportList = warningReportList
}
ipcReportAdapter?.notifyDataSetChanged()
}
override fun onTouch(v: View?, motionEvent: MotionEvent?): Boolean {
when (motionEvent?.action) {
MotionEvent.ACTION_DOWN -> {
// 获取相对View的坐标即以此View左上角为原点
mInViewX = motionEvent.x
mInViewY = motionEvent.y
// 获取相对屏幕的坐标,即以屏幕左上角为原点
mDownInScreenX = motionEvent.rawX
mDownInScreenY = motionEvent.rawY - BarUtils.getStatusBarHeight()
mInScreenX = motionEvent.rawX
mInScreenY = motionEvent.rawY - BarUtils.getStatusBarHeight()
}
MotionEvent.ACTION_MOVE -> {
// 更新浮动窗口位置参数
mInScreenX = motionEvent.rawX
mInScreenY = motionEvent.rawY - BarUtils.getStatusBarHeight()
mWindowParams!!.x = (mInScreenX - mInViewX).toInt()
mWindowParams!!.y = (mInScreenY - mInViewY).toInt()
// 手指移动的时候更新小悬浮窗的位置
mWindowManager!!.updateViewLayout(mFloatLayout, mWindowParams)
}
// MotionEvent.ACTION_UP -> // 如果手指离开屏幕时xDownInScreen和xInScreen相等且yDownInScreen和yInScreen相等则视为触发了单击事件。
// if (mDownInScreenX === mInScreenX && mDownInScreenY === mInScreenY) {
// }
}
return true
}
fun showFloatWindow() {
if (mFloatLayout.parent == null) {
val metrics = DisplayMetrics()
// 默认固定位置,靠屏幕右边缘的中间
mWindowManager!!.defaultDisplay.getMetrics(metrics)
mWindowParams!!.x = metrics.widthPixels
// mWindowParams!!.y = metrics.heightPixels / 2 - BarUtils.getStatusBarHeight()
mWindowParams!!.y = metrics.heightPixels - BarUtils.getStatusBarHeight() - 100
mWindowManager!!.addView(mFloatLayout, mWindowParams)
}
}
private fun hideFloatWindow() {
if (mFloatLayout.parent != null) {
mWindowManager!!.removeView(mFloatLayout)
}
ipcReportWindow = null
}
}

View File

@@ -1,22 +1,20 @@
package com.mogo.eagle.core.function.hmi.ui.setting
import android.animation.Animator
import android.app.Activity
import android.content.Context
import android.view.Gravity
import android.view.View
import android.view.WindowManager
import android.view.animation.OvershootInterpolator
import com.mogo.eagle.core.data.enums.SidePattern
import com.mogo.eagle.core.data.report.ReportEntity
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager
import com.mogo.eagle.core.function.hmi.notification.WarningFloat
import com.mogo.eagle.core.function.hmi.notification.anim.DefaultAnimator
import com.mogo.eagle.core.utilcode.util.BarUtils
import com.mogo.eagle.core.utilcode.util.ScreenUtils
import com.mogo.eagle.core.utilcode.util.TimeUtils
import me.jessyan.autosize.utils.AutoSizeUtils
import mogo_msg.MogoReportMsg
class ToggleDebugView private constructor() : IMoGoAutopilotStatusListener {
@@ -30,29 +28,6 @@ class ToggleDebugView private constructor() : IMoGoAutopilotStatusListener {
private var mDebugSettingViewFloat: WarningFloat.Builder? = null
private var mDebugSettingView: DebugSettingView? = null
//工控机节点上报列表
private val reportList = arrayListOf<ReportEntity>()
//工控机上报列表悬浮窗
private var reportListFloatWindow: ReportListFloatWindow? = null
override fun onAutopilotGuardian(guardianInfo: MogoReportMsg.MogoReportMessage?) {
super.onAutopilotGuardian(guardianInfo)
guardianInfo?.let {
if (reportList.size > 49) {
reportList.removeLast()
}
reportList.add(
0,
ReportEntity(
TimeUtils.millis2String(System.currentTimeMillis()),
it.src, it.level, it.msg, it.code, it.resultList, it.actionsList
)
)
reportListFloatWindow?.refreshData(reportList)
}
}
/**
* 开关DebugView
*/
@@ -62,18 +37,14 @@ class ToggleDebugView private constructor() : IMoGoAutopilotStatusListener {
} else {
if (mDebugSettingView == null) {
mDebugSettingView = DebugSettingView(context)
mDebugSettingView?.reportInit(reportList)
mDebugSettingView?.setClickListener(object : DebugSettingView.ClickListener {
override fun showReportListWindow(show: Boolean) {
if (show) {
//打开工控机上报列表
reportListFloatWindow =
ReportListFloatWindow(context.applicationContext as Activity)
reportListFloatWindow?.showFloatWindow()
reportListFloatWindow?.refreshData(reportList)
CallerDevaToolsManager.showReportListWindow(context,true)
} else {
//关闭工控机上报列表
reportListFloatWindow?.hideFloatWindow()
CallerDevaToolsManager.showReportListWindow(context,false)
}
}
})
@@ -120,8 +91,7 @@ class ToggleDebugView private constructor() : IMoGoAutopilotStatusListener {
mDebugSettingViewFloat = null
mDebugSettingView = null
//关闭工控机上报列表
reportListFloatWindow?.hideFloatWindow()
reportListFloatWindow = null
}
}

View File

@@ -6,8 +6,8 @@ import android.view.Gravity
import android.view.View
import android.view.WindowManager
import android.view.animation.OvershootInterpolator
import com.mogo.eagle.core.data.bindingcar.AdUpgradeStateHelper
import com.mogo.eagle.core.data.bindingcar.IPCUpgradeStateInfo
import com.mogo.eagle.core.data.deva.bindingcar.AdUpgradeStateHelper
import com.mogo.eagle.core.data.deva.bindingcar.IPCUpgradeStateInfo
import com.mogo.eagle.core.data.enums.SidePattern
import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWarningStatusListener
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager

View File

@@ -3,7 +3,7 @@ package com.mogo.eagle.core.function.hmi.ui.tools
import android.content.Context
import android.widget.TextView
import androidx.lifecycle.LifecycleObserver
import com.mogo.eagle.core.data.bindingcar.AdUpgradeStateHelper
import com.mogo.eagle.core.data.deva.bindingcar.AdUpgradeStateHelper
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager
import com.mogo.eagle.core.function.hmi.R
import com.mogo.eagle.core.function.hmi.dialog.BaseFloatDialog

View File

@@ -13,7 +13,7 @@ import android.widget.FrameLayout
import com.mogo.commons.debug.DebugConfig
import com.mogo.eagle.core.data.app.AppConfigInfo
import com.mogo.eagle.core.data.autopilot.AutopilotStatusInfo
import com.mogo.eagle.core.data.bindingcar.IPCUpgradeStateInfo
import com.mogo.eagle.core.data.deva.bindingcar.IPCUpgradeStateInfo
import com.mogo.eagle.core.data.temp.EventLogout
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotCarConfigListener
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener

View File

@@ -10,9 +10,9 @@ import com.mogo.eagle.core.data.autopilot.AutopilotStatusInfo
import com.mogo.eagle.core.data.autopilot.pnc.PncActionsHelper
import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.BIZ_PNC_ACTIONS
import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.FOUNDATION
import com.mogo.eagle.core.data.trafficlight.TrafficLightResult
import com.mogo.eagle.core.data.trafficlight.currentRoadTrafficLight
import com.mogo.eagle.core.data.trafficlight.isRed
import com.mogo.eagle.core.data.biz.trafficlight.TrafficLightResult
import com.mogo.eagle.core.data.biz.trafficlight.currentRoadTrafficLight
import com.mogo.eagle.core.data.biz.trafficlight.isRed
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotPlanningActionsListener
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener.Companion.STATUS_AUTOPILOT_RUNNING

View File

@@ -4,7 +4,7 @@ import android.content.Context
import android.util.AttributeSet
import android.view.LayoutInflater
import android.widget.RelativeLayout
import com.mogo.eagle.core.data.mofang.MfConstants
import com.mogo.eagle.core.data.deva.mofang.MfConstants
import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsListener
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsListenerManager
import com.mogo.eagle.core.function.hmi.R

View File

@@ -6,8 +6,8 @@ import android.view.LayoutInflater
import android.view.View
import androidx.constraintlayout.widget.ConstraintLayout
import com.mogo.eagle.core.data.autopilot.AutopilotStatusInfo
import com.mogo.eagle.core.data.bindingcar.AdUpgradeStateHelper
import com.mogo.eagle.core.data.bindingcar.IPCUpgradeStateInfo
import com.mogo.eagle.core.data.deva.bindingcar.AdUpgradeStateHelper
import com.mogo.eagle.core.data.deva.bindingcar.IPCUpgradeStateInfo
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsListener
import com.mogo.eagle.core.function.api.hmi.autopilot.IMoGoCheckAutoPilotBtnListener

View File

@@ -11,7 +11,7 @@ import android.view.View
import androidx.constraintlayout.widget.ConstraintLayout
import com.mogo.eagle.core.data.enums.EventTypeEnumNew
import com.mogo.eagle.core.data.enums.WarningDirectionEnum
import com.mogo.eagle.core.function.api.v2x.IV2XEventListener
import com.mogo.eagle.core.function.api.hmi.warning.IV2XEventListener
import com.mogo.eagle.core.function.call.v2x.CallerV2XWarningListenerManager
import com.mogo.eagle.core.function.hmi.R
import com.mogo.eagle.core.utilcode.util.ThreadUtils

View File

@@ -10,7 +10,7 @@ import android.view.animation.LinearInterpolator
import android.widget.RelativeLayout
import com.mogo.eagle.core.data.enums.WarningDirectionEnum
import com.mogo.eagle.core.data.enums.WarningDirectionEnum.*
import com.mogo.eagle.core.function.api.v2x.IV2XEventListener
import com.mogo.eagle.core.function.api.hmi.warning.IV2XEventListener
import com.mogo.eagle.core.function.call.v2x.CallerV2XWarningListenerManager
import com.mogo.eagle.core.function.hmi.R
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger

View File

@@ -124,27 +124,26 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis
.navigation(getContext());
}
}
// 处理一个机器多个屏幕方案
// TODO 董宏宇 目前处于测试阶段,处理一个机器多个屏幕方案
else {
ochProvider = (IMoGoFunctionProvider) ARouter.getInstance()
.build("/passenger/api")
.build("/driver/api")
.navigation(getContext());
//
// // 启动乘客端Act
// if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode) ||
// AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode)) {
// MultiDisplayUtils.INSTANCE.startActWithSecond(
// this,
// PassengerLauncherActivity.class);
// }
// 启动广告视频Atc
// 启动乘客端Act
if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode) ||
AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode)) {
MultiDisplayUtils.INSTANCE.startActWithSecond(
this,
VideoAdAtc.class);
PassengerLauncherActivity.class);
}
// // 启动广告视频Atc
// if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode) ||
// AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode)) {
// MultiDisplayUtils.INSTANCE.startActWithSecond(
// this,
// VideoAdAtc.class);
// }
}
if (ochProvider != null) {

View File

@@ -129,8 +129,8 @@ public class PassengerLauncherActivity extends MainActivity implements IMogoInte
* 加载网约车模块
*/
private void loadOCHModule() {
IMoGoFunctionProvider ochProvider = (IMoGoFunctionProvider) ARouter.getInstance()
.build("/passenger/api")
IMoGoFunctionProvider ochProvider = (IMoGoFunctionProvider) ARouter.getInstance()
.build("/driver/api")
.navigation(getContext());
if (ochProvider != null) {
ochProvider.createCoverage(this, R.id.module_main_id_och_fragment);
@@ -202,6 +202,7 @@ public class PassengerLauncherActivity extends MainActivity implements IMogoInte
/**
* 魔方按键分发 提测前注释 ToastUtils TODO
*
* @param event
* @return
*/

View File

@@ -1,122 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto">
<TextView
android:id="@+id/tvReportTimeTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
android:textColor="@color/color_FFFFFF"
android:textSize="@dimen/dp_31"
android:text="@string/ipc_report_time"
android:layout_marginTop="26dp"
android:layout_marginStart="26dp"
/>
<TextView
android:id="@+id/tvReportTimeContent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toRightOf="@id/tvReportTimeTitle"
android:textColor="@color/color_FFFFFF"
android:textSize="@dimen/dp_31"
android:layout_marginTop="26dp"
android:layout_marginEnd="26dp"
/>
<TextView
android:id="@+id/tvReportResultTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvReportTimeTitle"
android:textColor="@color/color_FFFFFF"
android:textSize="@dimen/dp_31"
android:text="@string/ipc_report_type"
android:layout_marginTop="26dp"
android:layout_marginStart="26dp"
/>
<TextView
android:id="@+id/tvReportResultContent"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="@id/tvReportResultTitle"
app:layout_constraintLeft_toRightOf="@id/tvReportResultTitle"
app:layout_constraintRight_toRightOf="parent"
android:textColor="@color/color_FFFFFF"
android:textSize="@dimen/dp_31"
android:minLines="1"
android:layout_marginEnd="26dp"
/>
<TextView
android:id="@+id/tvReportMsgTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/tvReportResultContent"
app:layout_constraintLeft_toLeftOf="parent"
android:textColor="@color/color_FFFFFF"
android:textSize="@dimen/dp_31"
android:text="@string/ipc_report_msg"
android:layout_marginTop="26dp"
android:layout_marginStart="26dp"
/>
<TextView
android:id="@+id/tvReportMsgContent"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="@id/tvReportMsgTitle"
app:layout_constraintLeft_toRightOf="@id/tvReportMsgTitle"
app:layout_constraintRight_toRightOf="parent"
android:minLines="1"
android:textColor="@color/color_FFFFFF"
android:textSize="@dimen/dp_31"
android:layout_marginEnd="26dp"
/>
<TextView
android:id="@+id/tvReportActionTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvReportMsgContent"
android:textColor="@color/color_FFFFFF"
android:textSize="@dimen/dp_31"
android:text="@string/ipc_report_action"
android:layout_marginTop="26dp"
android:layout_marginStart="26dp"
/>
<TextView
android:id="@+id/tvReportActionContent"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="@id/tvReportActionTitle"
app:layout_constraintLeft_toRightOf="@id/tvReportActionTitle"
app:layout_constraintRight_toRightOf="parent"
android:minLines="1"
android:textColor="@color/color_FFFFFF"
android:textSize="@dimen/dp_31"
android:layout_marginEnd="26dp"
/>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#F0F0F0"
app:layout_constraintTop_toBottomOf="@id/tvReportActionContent"
android:textColor="@color/color_FFFFFF"
android:textSize="@dimen/dp_31"
android:layout_marginTop="5dp"
android:layout_marginStart="26dp"
android:layout_marginEnd="26dp"
/>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -1,58 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="924dp"
android:layout_height="444dp"
android:orientation="vertical">
<com.mogo.eagle.core.widget.RoundConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/dialog_bg_color"
app:roundLayoutRadius="40dp">
<TextView
android:id="@+id/tv_ipc_error_tab"
android:layout_width="412dp"
android:layout_height="90dp"
android:text="Error"
android:textColor="#FFFFFFFF"
android:textSize="38dp"
android:gravity="center"
android:background="@drawable/ipc_error_tab_normal_bg"
app:layout_constraintTop_toTopOf="parent"
/>
<TextView
android:id="@+id/tv_ipc_warning_tab"
android:layout_width="412dp"
android:layout_height="90dp"
android:text="Warning"
android:textColor="#FFFFFFFF"
android:textSize="38dp"
android:gravity="center"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toRightOf="@id/tv_ipc_error_tab"
android:background="@drawable/ipc_warning_tab_normal_bg"
/>
<ImageView
android:id="@+id/iv_ipc_close"
android:layout_width="100dp"
android:layout_height="90dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintRight_toRightOf="parent"
android:src="@drawable/icon_ipc_close"
/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_ipc_report"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintTop_toBottomOf="@id/tv_ipc_error_tab"
app:layout_constraintBottom_toBottomOf="parent"
/>
</com.mogo.eagle.core.widget.RoundConstraintLayout>
</LinearLayout>

View File

@@ -4,7 +4,7 @@ import android.os.Handler
import android.os.Message
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.data.traffic.TrafficData
import com.mogo.eagle.core.function.api.obu.IMoGoObuStatusListener
import com.mogo.eagle.core.function.api.datacenter.obu.IMoGoObuStatusListener
import com.mogo.eagle.core.function.call.obu.CallerObuWarningListenerManager
import com.mogo.eagle.core.utilcode.mogo.thread.WorkThreadHandler
import mogo.telematics.pad.MessagePad

Some files were not shown because too many files have changed in this diff Show More