[3.2.0] fix track obj

This commit is contained in:
zhongchao
2023-05-30 13:07:07 +08:00
parent 637ca51dd5
commit fda5400622
4 changed files with 39 additions and 35 deletions

View File

@@ -3,10 +3,15 @@ package com.mogo.eagle.core.function.business.identify
import android.os.Handler
import android.os.Message
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.data.deva.chain.ChainConstant
import com.mogo.eagle.core.data.traffic.TrafficData
import com.mogo.eagle.core.function.api.datacenter.obu.IMoGoObuStatusListener
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo
import com.mogo.eagle.core.function.call.obu.CallerObuWarningListenerManager
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils.isTaxi
import com.mogo.eagle.core.utilcode.mogo.thread.WorkThreadHandler
import com.mogo.eagle.core.utilcode.util.ParseVersionUtils
import com.zhjt.service.chain.ChainLog
import mogo.telematics.pad.MessagePad
import mogo.telematics.pad.MessagePad.TrackedObject
import mogo.yycp.api.proto.SocketDownData
@@ -31,15 +36,40 @@ object IdentifyFactory : Identify, IMoGoObuStatusListener {
private var aiCloudIdentify: Identify? = null
init {
identify = if (FunctionBuildConfig.isBeautyMode) {
UserIdentify.beautifyDataDrawer
} else {
DriverIdentify.originDataDrawer
val dockerVersion = getAutoPilotStatusInfo().dockVersion
if (dockerVersion != null && dockerVersion.isNotEmpty()) {
try {
val version = ParseVersionUtils.parseVersion(true, dockerVersion)
identify = if (version >= 3100 && isTaxi(FunctionBuildConfig.appIdentityMode)) {
FunctionBuildConfig.isBeautyMode = false
drawType("关闭感知优化模式")
DriverIdentify.originDataDrawer
} else {
FunctionBuildConfig.isBeautyMode = true
drawType("开启感知优化模式")
UserIdentify.beautifyDataDrawer
}
} catch (e: Exception) {
drawType("解析docker异常:$dockerVersion")
identify = UserIdentify.beautifyDataDrawer
}
}
aiCloudIdentify = AiIdentify.aiCloudDataDrawer
CallerObuWarningListenerManager.addListener(TAG, this)
}
@ChainLog(
linkChainLog = ChainConstant.CHAIN_LINK_LOG_CONNECT_STATUS,
linkCode = ChainConstant.CHAIN_LINK_INIT,
endpoint = 4,
nodeAliasCode = ChainConstant.CHAIN_ALIAS_CODE_ADAS_MESSAGE_RECT_DATA,
paramIndexes = [0],
clientPkFileName = "sn"
)
private fun drawType(type: String) {
}
private const val MSG_DATA_TRACK = 0
private const val MSG_DATA_AI_TRACK = 1
private const val MSG_DATA_WARNING = 2
@@ -57,12 +87,14 @@ object IdentifyFactory : Identify, IMoGoObuStatusListener {
// 非感知美化优化模式,清除旧数据,使用 DriverIdentify originDataDrawer 原始数据绘制
if (identify is IdentifyBeautifyDataDrawer) {
identify!!.clearOldMarker()
drawType("isBeautyMode 模式改变,关闭感知优化模式")
identify = DriverIdentify.originDataDrawer
}
} else {
// 感知优化模式,清除旧数据,使用 UserIdentify beautifyDataDrawer 优化数据
if (identify is IdentifyOriginDataDrawer) {
identify!!.clearOldMarker()
drawType("isBeautyMode 模式改变,开启感知优化模式")
identify = UserIdentify.beautifyDataDrawer
}
}

View File

@@ -131,6 +131,7 @@ class IdentifyOriginDataDrawer : Identify {
.removeMarker(uuid)
}
trafficDataUuidList.clear()
mMarkersCaches.clear()
WarningHelper.clear()
}

View File

@@ -1,21 +1,13 @@
package com.mogo.eagle.core.function.business.identify;
import static com.mogo.eagle.core.data.deva.chain.ChainConstant.CHAIN_ALIAS_CODE_ADAS_MESSAGE_RECT_DATA;
import static com.mogo.eagle.core.data.deva.chain.ChainConstant.CHAIN_LINK_ADAS;
import static com.mogo.eagle.core.data.deva.chain.ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_DATA_TRACKED;
import static com.mogo.eagle.core.function.business.identify.TrackManager.LIMIT_SPEED;
import android.annotation.SuppressLint;
import com.mogo.eagle.core.data.config.FunctionBuildConfig;
import com.mogo.eagle.core.data.enums.TrafficTypeEnum;
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager;
import com.mogo.eagle.core.utilcode.geometry.S2CellId;
import com.mogo.eagle.core.utilcode.geometry.S2LatLng;
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils;
import com.mogo.eagle.core.utilcode.util.CoordinateUtils;
import com.mogo.eagle.core.utilcode.util.ParseVersionUtils;
import com.zhjt.service.chain.ChainLog;
import java.util.Arrays;
import java.util.Comparator;
@@ -53,30 +45,9 @@ public class TrackObj {
private void correct() {
calAverageSpeedAndType();
String dockerVersion = CallerAutoPilotStatusListenerManager.INSTANCE.getAutoPilotStatusInfo().getDockVersion();
if (dockerVersion != null && !dockerVersion.isEmpty()) {
try {
int version = ParseVersionUtils.parseVersion(true, dockerVersion);
if (version >= 310 && AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode)) {
return;
}
} catch (Exception e) {
logErrorOfVersion(dockerVersion);
}
}
calLoc();
}
@ChainLog(linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA_TRACKED,
linkCode = CHAIN_LINK_ADAS,
endpoint = 4,
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_RECT_DATA,
paramIndexes = {0},
clientPkFileName = "sn")
private void logErrorOfVersion(String version) {
}
@SuppressLint("NewApi")
private void calAverageSpeedAndType() {
if (circleQueue.size() >= 3) {

View File

@@ -140,7 +140,7 @@ public class AMapWrapper implements IMogoMap {
long time = markerOptionsArrayList.get(0).getTime();
batchMarkerOptions.list = markerOptionsArrayList;
batchMarkerOptions.delayStrategy = false;
batchMarkerOptions.ruleAngle = FunctionBuildConfig.isBeautyMode ? 8.0f : 0f;
batchMarkerOptions.ruleAngle = 8.0f;
batchMarkerOptions.controlIcon = 1;
batchMarkerOptions.satelliteTime = time;
batchMarkerOptions.deleteRule = 0;
@@ -172,7 +172,7 @@ public class AMapWrapper implements IMogoMap {
// 最后一个参数,是否管理锚点的删除
aiBatchMarkerOptions.list = markerOptionsArrayList;
aiBatchMarkerOptions.delayStrategy = false;
aiBatchMarkerOptions.ruleAngle = FunctionBuildConfig.isBeautyMode ? 8.0f : 0f;
aiBatchMarkerOptions.ruleAngle = 8.0f;
aiBatchMarkerOptions.controlIcon = 1;
aiBatchMarkerOptions.satelliteTime = time;
aiBatchMarkerOptions.deleteRule = 0;