[sonar] trace

This commit is contained in:
zhongchao
2023-11-01 15:23:22 +08:00
parent 1436ddc053
commit 1d74450bf5
31 changed files with 110 additions and 145 deletions

View File

@@ -5,7 +5,6 @@ import android.graphics.Bitmap
import android.graphics.BitmapFactory
import android.graphics.drawable.BitmapDrawable
import android.util.AttributeSet
import android.util.Log
import android.view.LayoutInflater
import androidx.constraintlayout.widget.ConstraintLayout
import com.mogo.eagle.core.function.api.autopilot.IMoGoBackCameraVideoListener
@@ -128,7 +127,7 @@ class RightRearCamView : ConstraintLayout , IMoGoBackCameraVideoListener,
private fun calculateInSampleSize(options: BitmapFactory.Options, reqWidth: Int, reqHeight: Int): Int {
val width = options.outWidth
val height = options.outHeight
Log.i(TAG, "calculateInSampleSize: out width and height is $width height $height")
d(SceneConstant.M_TAXI_P + TAG, "calculateInSampleSize: out width and height is $width height $height")
var inSampleWidth = 1
if (height > reqHeight || width > reqWidth) {
val halfHeight = height / 2

View File

@@ -5,7 +5,6 @@ import android.graphics.Bitmap
import android.graphics.BitmapFactory
import android.graphics.drawable.BitmapDrawable
import android.util.AttributeSet
import android.util.Log
import android.view.LayoutInflater
import androidx.constraintlayout.widget.ConstraintLayout
import com.mogo.eagle.core.function.api.autopilot.IMoGoBackCameraVideoListener
@@ -128,7 +127,7 @@ class RightRearCamView : ConstraintLayout , IMoGoBackCameraVideoListener,
private fun calculateInSampleSize(options: BitmapFactory.Options, reqWidth: Int, reqHeight: Int): Int {
val width = options.outWidth
val height = options.outHeight
Log.i(TAG, "calculateInSampleSize: out width and height is $width height $height")
d(SceneConstant.M_TAXI_P + TAG, "calculateInSampleSize: out width and height is $width height $height")
var inSampleWidth = 1
if (height > reqHeight || width > reqWidth) {
val halfHeight = height / 2

View File

@@ -684,7 +684,6 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
@Override
public void onConnectionIPCStatus(int ipcConnectionStatus, String reason) {
// Log.i(TAG, "连接状态=" + (reason == null ? "主动断开连接" : reason));
String time = sdf.format(new Date());
connectStatusList.add(0, new IPCConnectState(reason == null ? "主动断开连接" : reason, getStatusColor(ipcConnectionStatus)));
if (connectStatusList.size() > 100) {

View File

@@ -2,6 +2,7 @@ package com.mogo.eagle.function.biz.dispatch
import android.content.Context
import android.os.Handler
import android.os.Looper
import android.os.Message
import com.mogo.aicloud.services.socket.IMogoOnMessageListener
import com.mogo.aicloud.services.socket.MogoAiCloudSocketManager
@@ -9,6 +10,7 @@ import com.mogo.commons.voice.AIAssist
import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters
import com.mogo.eagle.core.data.autopilot.AutopilotRouteInfo
import com.mogo.eagle.core.data.biz.dispatch.DispatchAdasAutoPilotLocReceiverBean
import com.mogo.eagle.core.data.deva.chain.ChainConstant
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
@@ -31,11 +33,12 @@ import com.mogo.eagle.function.biz.dispatch.network.DispatchServiceModel.Compani
import com.mogo.eagle.function.biz.dispatch.network.DispatchServiceModel.Companion.DISPATCH_STOP_MANUAL_CANCEL
import com.mogo.eagle.function.biz.dispatch.network.DispatchServiceModel.Companion.DISPATCH_STOP_TIMER_CANCEL
import com.mogo.eagle.function.biz.dispatch.network.DispatchServiceModel.Companion.dispatchServiceModel
import com.mogo.eagle.function.biz.v2x.V2XBizTrace
import com.zhjt.mogo.adas.data.bean.MogoReport
import com.zhjt.service.chain.ChainLog
import mogo.telematics.pad.MessagePad
import mogo_msg.MogoReportMsg
//todo emArrow 添加biz链路日志
//负责监听自动驾驶状态并进行状态上报,自动驾驶路线上报,接收调度指令展示指令弹窗
class DispatchAutoPilotManager private constructor() :
IMogoOnMessageListener<DispatchAdasAutoPilotLocReceiverBean>,
@@ -61,7 +64,7 @@ class DispatchAutoPilotManager private constructor() :
private var isDispatch = false
private var isArriveEnd = false
private val handler: Handler = object : Handler() {
private val handler: Handler = object : Handler(Looper.getMainLooper()) {
override fun handleMessage(msg: Message) {
super.handleMessage(msg)
if (msg.what == MSG_TYPE_SHOW_DIALOG) {
@@ -109,6 +112,12 @@ class DispatchAutoPilotManager private constructor() :
return DispatchAdasAutoPilotLocReceiverBean::class.java
}
@ChainLog(
linkChainLog = ChainConstant.CHAIN_TYPE_V2X,
linkCode = ChainConstant.CHAIN_SOURCE_CLOUD,
nodeAliasCode = ChainConstant.CHAIN_CODE_DISPATCH_RECEIVE,
paramIndexes = [0]
)
override fun onMsgReceived(adasAutoPilotLocReceiverBean: DispatchAdasAutoPilotLocReceiverBean?) {
CallerLogger.i("$M_BIZ$TAG","onMsgReceived 收到云调度长链接, adasAutoPilotLocReceiver:${adasAutoPilotLocReceiverBean?:""}")
if (adasAutoPilotLocReceiverBean != null && adasAutoPilotLocReceiverBean.startLat != 0.0 && adasAutoPilotLocReceiverBean.startLon != 0.0) {
@@ -130,6 +139,12 @@ class DispatchAutoPilotManager private constructor() :
}
}
@ChainLog(
linkChainLog = ChainConstant.CHAIN_TYPE_V2X,
linkCode = ChainConstant.CHAIN_SOURCE_CLOUD,
nodeAliasCode = ChainConstant.CHAIN_CODE_DISPATCH_START,
paramIndexes = [-1]
)
private fun startAutoPilot() {
val currentAutopilot = AutopilotControlParameters()
// currentAutopilot.isSpeakVoice = false
@@ -146,34 +161,42 @@ class DispatchAutoPilotManager private constructor() :
}
}
if(it.trajUrl == null){
V2XBizTrace.onAck(M_BIZ + TAG, "trajUrl-null")
ToastUtils.showShort("trajUrl数据为空")
return
}
if(it.trajMd5 == null){
V2XBizTrace.onAck(M_BIZ + TAG, "trajMd5-null")
ToastUtils.showShort("trajMd5数据为空")
return
}
if(it.stopUrl == null){
V2XBizTrace.onAck(M_BIZ + TAG, "stopUrl-null")
ToastUtils.showShort("stopUrl数据为空")
return
}
if(it.stopMd5 == null){
V2XBizTrace.onAck(M_BIZ + TAG, "stopMd5-null")
ToastUtils.showShort("stopMd5数据为空")
return
}
if(it.vehicleModel == null){
V2XBizTrace.onAck(M_BIZ + TAG, "vehicleModel-null")
ToastUtils.showShort("vehicleModel数据为空")
return
}
if(it.lineName == null){
V2XBizTrace.onAck(M_BIZ + TAG, "lineName-null")
ToastUtils.showShort("lineName数据为空")
return
}
if(it.startLocAddress == null){
V2XBizTrace.onAck(M_BIZ + TAG, "startLocAddress-null")
ToastUtils.showShort("startLocAddress数据为空")
return
}
if(it.endLocAddress == null){
V2XBizTrace.onAck(M_BIZ + TAG, "endLocAddress-null")
ToastUtils.showShort("endLocAddress数据为空")
return
}
@@ -191,7 +214,7 @@ class DispatchAutoPilotManager private constructor() :
currentAutopilot.endLatLon =
AutopilotControlParameters.AutoPilotLonLat(it.endLat, it.endLon)
currentAutopilot.vehicleType = 10
CallerLogger.d(M_BIZ + TAG, "开启自动驾驶====$currentAutopilot")
V2XBizTrace.onAck(M_BIZ + TAG, "开启自动驾驶====$currentAutopilot")
CallerAutoPilotControlManager.startAutoPilot(currentAutopilot)
}
}
@@ -213,6 +236,7 @@ class DispatchAutoPilotManager private constructor() :
* 停止调度确认
*/
fun stopAffirm(){
V2XBizTrace.onAck(M_BIZ + TAG,"stopAffirm")
CallerHmiManager.dismissDispatchDialog()
receiverBean?.taskId?.let{
dispatchServiceModel.dispatchResultUpload(DISPATCH_STOP_AFFIRM, it,
@@ -230,6 +254,7 @@ class DispatchAutoPilotManager private constructor() :
}
fun cancel(manualTrigger: Boolean) {
V2XBizTrace.onAck(M_BIZ + TAG,"cancel")
CallerHmiManager.dismissDispatchDialog()
receiverBean?.taskId?.let {
dispatchServiceModel.dispatchResultUpload(
@@ -241,6 +266,7 @@ class DispatchAutoPilotManager private constructor() :
* 停止调度取消
*/
fun stopCancel(manualTrigger: Boolean){
V2XBizTrace.onAck(M_BIZ + TAG,"stopCancel:$manualTrigger")
CallerHmiManager.dismissDispatchDialog()
receiverBean?.taskId?.let{
dispatchServiceModel.dispatchResultUpload(
@@ -263,9 +289,6 @@ class DispatchAutoPilotManager private constructor() :
if (isArriveEnd) {
return
}
//todo 确认是否要根据停靠时自动驾驶状态,再次开启自动驾驶
// 确保处于调度中并且返回的自动驾驶状态为1才开启自动驾驶
// 上述等待鄂州项目复盘后,产品输出完成方案后再进操作!!!
if (isDispatch) {
startAutoPilot()
}
@@ -324,6 +347,8 @@ class DispatchAutoPilotManager private constructor() :
//语音提示到站
AIAssist.getInstance(mContext).speakTTSVoice("云调度完成,车辆已到达${it.endLocAddress}")
}
}else{
V2XBizTrace.onAck(M_BIZ + TAG, mapOf("ArriveAtStation" to arrivalNotification, "distanceFromSelf" to distanceFromSelf))
}
}

View File

@@ -11,6 +11,7 @@ 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
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import com.mogo.eagle.function.biz.v2x.V2XBizTrace
import com.mogo.eagle.function.biz.v2x.v2n.utils.V2XEventAnalyticsManager
/**
@@ -53,7 +54,7 @@ object V2xObuEventManager : IMoGoObuSaveMessageListener {
}
}
obuDataMap[type] = System.currentTimeMillis()
CallerLogger.d("${SceneConstant.M_OBU}${TAG}", "onMoGoObuSaveMessage type = $type ---content = $content ---tts = $tts ")
V2XBizTrace.onAck("${SceneConstant.M_OBU}${TAG}", mapOf("type" to type,"content" to content,"tts" to tts))
CallerMsgBoxManager.saveMsgBox(
MsgBoxBean(
MsgBoxType.V2X,

View File

@@ -1,6 +1,5 @@
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
@@ -235,9 +234,6 @@ class RedLightWarningManager : IMoGoTrafficLightListener, IMoGoVipSetListener,
EventTypeEnumNew.getWarningTts(EventTypeEnumNew.TYPE_USECASE_ID_IVP_GREEN.poiType),
speed
)
if (content.isEmpty() || tts.isEmpty()) {
Log.d("MsgBox-RedLightWarManaG", "alertContent或ttsContent为空!")
}
CallerMsgBoxManager.saveMsgBox(
MsgBoxBean(
MsgBoxType.V2X,

View File

@@ -7,6 +7,7 @@ import androidx.annotation.*
import androidx.localbroadcastmanager.content.*
import com.mogo.eagle.core.data.config.*
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_V2X_MSG
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_SOURCE_ADAS
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_SOURCE_CLOUD
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_TYPE_V2X
import com.mogo.eagle.core.data.enums.*
@@ -182,7 +183,7 @@ object V2XEventManager : IMoGoChassisLocationGCJ02Listener, IV2XCallback,
@RequiresApi(Build.VERSION_CODES.N)
@ChainLog(
linkChainLog = CHAIN_TYPE_V2X,
linkCode = CHAIN_SOURCE_CLOUD,
linkCode = CHAIN_SOURCE_ADAS,
nodeAliasCode = CHAIN_CODE_V2X_MSG,
paramIndexes = [0]
)
@@ -301,6 +302,7 @@ object V2XEventManager : IMoGoChassisLocationGCJ02Listener, IV2XCallback,
val msgBoxBean =
MsgBoxBean(MsgBoxType.V2X, V2XMsg("", "查询到当前全程共${count}个事件", "",CommunicationType.V2N.name))
msgBoxBean.sourceType = DataSourceType.SUMMARY
V2XBizTrace.onAck("$M_V2X$TAG", mapOf("v2xEventsSummary" to msgBoxBean))
CallerMsgBoxManager.saveMsgBox(msgBoxBean)
//消息埋点
V2XEventAnalyticsManager.triggerV2XEvent("summary","查询到当前全程共${count}个事件",

View File

@@ -12,7 +12,9 @@ import com.mogo.eagle.core.data.v2x.V2XEvent
import com.mogo.eagle.core.data.v2x.V2XMarkerResponse
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import com.mogo.eagle.function.biz.v2x.V2XBizTrace
import com.mogo.eagle.function.biz.v2x.v2n.network.V2XRefreshModel
import com.mogo.eagle.function.biz.v2x.v2n.network.callback.IV2XCallback
import com.mogo.eagle.function.biz.v2x.v2n.network.callback.IV2XRefreshCallback
@@ -160,6 +162,7 @@ class V2XPoiLoader private constructor() {
val msgBoxBean =
MsgBoxBean(MsgBoxType.V2X, V2XMsg("", "查询到当前全程共${size}个事件", "",CommunicationType.V2N.name))
msgBoxBean.sourceType = DataSourceType.SUMMARY
V2XBizTrace.onAck("${SceneConstant.M_V2X}$TAG", mapOf("v2xEventsSummary" to msgBoxBean))
CallerMsgBoxManager.saveMsgBox(msgBoxBean)
//消息埋点
V2XEventAnalyticsManager.triggerV2XEvent("summary","查询到当前全程共${size}个事件",

View File

@@ -17,7 +17,6 @@ import com.mogo.eagle.core.function.call.hmi.*
import com.mogo.eagle.core.function.call.map.*
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager.saveMsgBox
import com.mogo.eagle.core.utilcode.mogo.*
import com.mogo.eagle.core.utilcode.mogo.logger.*
import com.mogo.eagle.core.utilcode.util.*
import com.mogo.eagle.function.biz.v2x.V2XBizTrace
import com.mogo.eagle.function.biz.v2x.v2n.scenario.scene.airoad.*
@@ -29,11 +28,10 @@ import mogo.v2x.MogoV2X
import mogo.v2x.MogoV2X.RSI_PB
/**
* V2N上车相关事件绘制 //todo emArrow v2x事件触发异常log
* V2N上车相关事件绘制
*/
internal object V2NIdentifyDrawer {
private const val TAG = "V2NIdentifyDataSubscriber"
private const val MSG_WHAT_DRAW_SHIGONE = 0x1010 // 道路施工
@@ -44,6 +42,7 @@ internal object V2NIdentifyDrawer {
if (msg.what == MSG_WHAT_DRAW_SHIGONE || msg.what == MSG_WHAT_DRAW_SHIGU) {
val events = msg.obj as? List<*>
if (events == null || events.isEmpty()) {
V2XBizTrace.onAck(TAG, mapOf("shiGong-shiGu" to ""))
return@Callback true
}
val car = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84()
@@ -51,6 +50,7 @@ internal object V2NIdentifyDrawer {
DrivingDirectionUtils.getDegreeOfCar2Poi(car.longitude, car.latitude, itx.longitude, itx.latitude, car.heading.toInt()) < 90
}
if (filtered.isEmpty()) {
V2XBizTrace.onAck(TAG, mapOf("shiGong-shiGu-filter" to ""))
return@Callback true
}
filtered.forEach { itx ->
@@ -78,7 +78,7 @@ internal object V2NIdentifyDrawer {
val distance = CoordinateUtils.calculateLineDistance(itx.longitude, itx.latitude, car.longitude, car.latitude)
val alertContent = getAlertContent(poiType, distance.toDouble())
val ttsContent = getTtsContent(poiType, distance.toDouble())
V2XBizTrace.onAck("V2NIdentifyDrawer","绘制poi事件:$poiType")
V2XBizTrace.onAck(TAG,"绘制poi事件:$poiType")
saveMsgBox(MsgBoxBean(V2X, V2XMsg(poiType, alertContent, ttsContent,CommunicationType.V2N.name)))
CallerHmiManager.warningV2X(poiType, alertContent, ttsContent, object : IMoGoWarningStatusListener {
override fun onShow() {
@@ -100,6 +100,7 @@ internal object V2NIdentifyDrawer {
} else if (msg.what == MSG_WHAT_DRAW_YONGDU) {
val events = msg.obj as? List<*>
if (events == null || events.isEmpty()) {
V2XBizTrace.onAck(TAG, mapOf("yongDu" to ""))
return@Callback true
}
val car = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84()
@@ -109,6 +110,7 @@ internal object V2NIdentifyDrawer {
DrivingDirectionUtils.getDegreeOfCar2Poi(car.longitude, car.latitude, eventLon, eventLat, car.heading.toInt()) < 90
}
if (filtered.isEmpty()) {
V2XBizTrace.onAck(TAG, mapOf("yongDu-filter" to ""))
return@Callback true
}
filtered.forEach { itx ->
@@ -137,6 +139,7 @@ internal object V2NIdentifyDrawer {
val distance = CoordinateUtils.calculateLineDistance(lon, lat, car.longitude, car.latitude)
val alertContent = getAlertContent(poiType, distance.toDouble())
val ttsContent = getTtsContent(poiType, distance.toDouble())
V2XBizTrace.onAck(TAG,"绘制poi事件:$poiType")
saveMsgBox(MsgBoxBean(V2X, V2XMsg(poiType, alertContent, ttsContent,CommunicationType.V2N.name)))
CallerHmiManager.warningV2X(poiType, alertContent, ttsContent, object : IMoGoWarningStatusListener {
override fun onShow() {
@@ -221,7 +224,6 @@ internal object V2NIdentifyDrawer {
override fun onAutopilotV2nCongestionEvent(header: Header, rsi: RSI_PB) {
super.onAutopilotV2nCongestionEvent(header, rsi)
Logger.d(TAG, "--- onAutopilotV2nCongestionEvent -- : rsi: ${ GsonUtils.toJson(rsi) }")
try {
V2XBizTrace.onAck("onAutopilotV2nCongestionEvent", rsi)
} catch (t: Throwable) {

View File

@@ -28,7 +28,7 @@ import java.util.concurrent.atomic.AtomicInteger
import java.util.concurrent.atomic.AtomicReference
/**
* Ai云道路施工事件道路颜色标记类 //todo emArrow v2x事件触发异常log
* Ai云道路施工事件道路颜色标记类
*/
class AiRoadMarker {
@@ -101,7 +101,7 @@ class AiRoadMarker {
300f, call = { result ->
//施工中心点后方的自车行驶方向上300米距离
result?.let {
V2XBizTrace.onAck("$TAG --- marker --- 3 --- l1:", it)
V2XBizTrace.onAck("$TAG -marker-3-l1:", it)
l1 = result
}
countDown.incrementAndGet()
@@ -113,7 +113,7 @@ class AiRoadMarker {
location.heading.toFloat(),
-300f, call = { result ->
result?.let {
V2XBizTrace.onAck("$TAG --- marker --- 3 --- l2:", it)
V2XBizTrace.onAck("$TAG -marker-3-l2:", it)
l2 = result
}
countDown.incrementAndGet()
@@ -136,14 +136,14 @@ class AiRoadMarker {
return@post
}
if (l1 == null || l2 == null) {
V2XBizTrace.onAck("$TAG --- marker --- 3 --- line null return ----", "")
V2XBizTrace.onAck("$TAG -marker-3-line null return ----", "")
return@post
}
if (l1.points.isEmpty() || l2.points.isEmpty()) {
V2XBizTrace.onAck("$TAG --- marker --- 3 --- line points null return ----", "")
V2XBizTrace.onAck("$TAG -marker-3-line points null return ----", "")
return@post
}
V2XBizTrace.onAck("$TAG --- marker --- 4 --- l2:", l2)
V2XBizTrace.onAck("$TAG -marker-4-l2:", l2)
val points = LinkedList<MogoLatLng>()
if (l2.points.isNotEmpty()) {
points.addAll(l2.points.reversed().map {
@@ -152,7 +152,7 @@ class AiRoadMarker {
}
val centerX = marker.poi_lon
val centerY = marker.poi_lat
V2XBizTrace.onAck("$TAG --- marker --- 5 --- marker:", marker)
V2XBizTrace.onAck("$TAG -marker-5-marker:", marker)
val farthestPoint = marker.polygon?.let {
var find: Pair<Double, Double> = Pair(centerX, centerY)
var min = Long.MAX_VALUE
@@ -172,7 +172,7 @@ class AiRoadMarker {
MogoLatLng(find.second, find.first)
} ?: MogoLatLng(centerY, centerX)
marker.farthestPoint = Pair(farthestPoint.lon, farthestPoint.lat)
V2XBizTrace.onAck("$TAG --- marker --- 6 --- marker:", marker)
V2XBizTrace.onAck("$TAG -marker-6-marker:", marker)
if (l1.points.isNotEmpty()) {
for (l in l1.points) {
if (DrivingDirectionUtils.getDegreeOfCar2Poi2(
@@ -204,7 +204,7 @@ class AiRoadMarker {
builder.points(points)
builder.colors(colors)
builder.setVisible(true)
V2XBizTrace.onAck("$TAG --- marker --- 7 --- points:", "${points.size}")
V2XBizTrace.onAck("$TAG -marker-7-points:", "${points.size}")
val line = overlayManager?.showOrUpdateLine(builder.build())
if (line != null) {
this.line.set(line)
@@ -220,9 +220,9 @@ class AiRoadMarker {
private fun removeLine() {
val old = line.get()
V2XBizTrace.onAck("$TAG --- removeRedLine --- 1", "")
V2XBizTrace.onAck("$TAG -removeRedLine-1", "")
if (old != null) {
V2XBizTrace.onAck("$TAG --- removeRedLine --- 2", "")
V2XBizTrace.onAck("$TAG -removeRedLine-2", "")
line.set(null)
old.delegate?.remove()
}
@@ -230,7 +230,7 @@ class AiRoadMarker {
private fun unMarker(marker: Marker) {
v2nDrawHandler.post {
V2XBizTrace.onAck("$TAG --- unMarker ---", "")
V2XBizTrace.onAck("$TAG -unMarker-", "")
this.marker.set(null)
removeLine()
roadMarker.removeMarkers()
@@ -240,7 +240,7 @@ class AiRoadMarker {
}
fun receive() {
V2XBizTrace.onAck("$TAG --- receive --- 1 ---", "")
V2XBizTrace.onAck("$TAG -receive-1-", "")
val poi = this.marker.get()
val car = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84()
if (poi != null) {
@@ -251,7 +251,7 @@ class AiRoadMarker {
poi.poi_lat
)
V2XBizTrace.onAck(
"$TAG --- receive --- 2 ---",
"$TAG -receive-2-",
"car:[${car.longitude}, ${car.latitude}] -> poi:[${poi.poi_lon}, ${poi.poi_lat}] --> distance:$distance"
)
if (distance < 500) {

View File

@@ -4,7 +4,6 @@ import android.content.Context
import android.os.Handler
import android.os.Looper
import android.os.Message
import android.util.Log
import com.mogo.aicloud.services.socket.IMogoOnMessageListener
import com.mogo.aicloud.services.socket.MogoAiCloudSocketManager
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
@@ -269,9 +268,6 @@ class VipCarManager : IMogoOnMessageListener<VipMessage>, IMoGoTrafficLightListe
alertContent: CharSequence,
ttsContent: String,
) {
if (alertContent.toString().isEmpty() || ttsContent.isEmpty()) {
Log.d("MsgBox-VipCarManager", "alertContent或ttsContent为空!")
}
CallerMsgBoxManager.saveMsgBox(
MsgBoxBean(MsgBoxType.V2X, V2XMsg(v2xType, alertContent.toString(), ttsContent,CommunicationType.V2N.name))
)

View File

@@ -347,7 +347,7 @@ class MoGoAutopilotControlProvider :
startAutoPilot(controlParameters, Constants.AUTOPILOT_SOURCE.PAD)
}
//todo chainlog
//todo emArrow chainlog
override fun startAutoPilotByMoFang(controlParameters: AutopilotControlParameters?) {
if (controlParameters==null){
startAutoPilotWithNoParameter(Constants.AUTOPILOT_SOURCE.MO_FANG)

View File

@@ -31,7 +31,7 @@ class SpeedLimitDispatcher : ILimitingVelocityListener {
/**
* 地图限速数据
*/
// @BizConfig(FuncBizConfig.V2I, "", FuncBizConfig.BIZ_SLW) //todo arrow 重新考虑放的位置
// @BizConfig(FuncBizConfig.V2I, "", FuncBizConfig.BIZ_SLW) //todo emArrow 重新考虑放的位置
override fun onUnion(limitingVelocity: Int, sourceType: DataSourceType) {
super.onUnion(limitingVelocity, sourceType)
when (sourceType) { // obu 优先级高于 map体现链路能力

View File

@@ -3,7 +3,6 @@ package com.zhjt.mogo_core_function_devatools.binding
import android.annotation.*
import android.content.Context
import android.text.TextUtils
import com.elegant.utils.UiThreadHandler
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
import com.mogo.commons.constants.SharedPrefsConstants
import com.mogo.eagle.core.data.app.AppConfigInfo.role
@@ -25,7 +24,6 @@ import com.zhjt.mogo_core_function_devatools.upgrade.UpgradeAppNetWorkManager
import mogo.telematics.pad.MessagePad
/**
* //todo emArrow 链路biz
* 车辆绑定
*/
@SuppressLint("StaticFieldLeak")

View File

@@ -49,7 +49,7 @@ class SceneManager {
//过滤所需条件
sceneModuleTAG.map[ADAS] = SceneModule(true, M_D_C)
sceneModuleTAG.map[DEVA] = SceneModule(true, M_DEVA)
sceneModuleTAG.map[HMI] = SceneModule(false, M_HMI)
sceneModuleTAG.map[HMI] = SceneModule(true, M_HMI)
sceneModuleTAG.map[OBU] = SceneModule(true, M_OBU)
sceneModuleTAG.map[V2X] = SceneModule(true, M_V2X)
sceneModuleTAG.map[MAP] = SceneModule(true, M_MAP)

View File

@@ -29,7 +29,6 @@ import kotlinx.coroutines.*
import java.io.IOException
import java.util.concurrent.ConcurrentHashMap
//todo emArrow trace
class UpgradeManager : IDownloadListener {
companion object {

View File

@@ -3,11 +3,12 @@ package com.mogo.eagle.core.function.hmi.notification.anim
import android.animation.Animator
import android.animation.ValueAnimator
import android.graphics.Rect
import android.util.Log
import android.view.View
import android.view.WindowManager
import com.mogo.eagle.core.data.enums.SidePattern
import com.mogo.eagle.core.function.hmi.notification.interfaces.OnFloatAnimator
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_HMI
import com.mogo.eagle.core.utilcode.util.BarUtils
import kotlin.math.min
@@ -52,7 +53,7 @@ open class DefaultAnimator : OnFloatAnimator {
windowManager.updateViewLayout(view, params)
} catch (e: Exception) {
cancel()
Log.i("DebugViewSwitchLog", "执行动画异常,异常原因:"+e)
CallerLogger.i(M_HMI + "DebugViewSwitchLog", "执行动画异常,异常原因:$e")
}
}
}

View File

@@ -2,7 +2,6 @@ package com.mogo.eagle.core.function.hmi.ui.setting
import android.content.Context
import android.util.AttributeSet
import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.widget.Toast
@@ -84,24 +83,19 @@ internal class SOPSettingView @JvmOverloads constructor(
scV2XSwitch.setOnCheckedChangeListener { _, isChecked ->
FunctionBuildConfig.v2xMainSwitch = isChecked
hmiAction("SOP V2X总开关, ",isChecked)
Log.i(TAG,"SOP V2X总开关,$isChecked")
if(isChecked){
//V2N总开关
scV2NSwitch.isChecked = FunctionBuildConfig.v2nMainSwitch
hmiAction("SOP V2N总开关, ",FunctionBuildConfig.v2nMainSwitch)
Log.i(TAG,"SOP V2N总开关, ${FunctionBuildConfig.v2nMainSwitch}")
//V2I总开关
scV2ISwitch.isChecked = HmiBuildConfig.isShowObuV2iView
hmiAction("SOP V2I总开关, ",HmiBuildConfig.isShowObuV2iView)
Log.i(TAG,"SOP V2I总开关, ${HmiBuildConfig.isShowObuV2iView}")
//V2V总开关
scObuV2vView.isChecked = HmiBuildConfig.isShowObuV2vView
hmiAction("SOP V2V总开关, ",HmiBuildConfig.isShowObuV2vView)
Log.i(TAG,"SOP V2V总开关, ${HmiBuildConfig.isShowObuV2vView}")
//obu总开关
scObu.isChecked = obuConnectStatus
hmiAction("SOP obu总开关, ",obuConnectStatus)
Log.i(TAG,"SOP obu总开关, $obuConnectStatus")
if(obuConnectStatus){
CallerObuApiManager.resetObuIpAddress(MogoObuConst.OBU_DEFAULT_IP)
}
@@ -109,19 +103,15 @@ internal class SOPSettingView @JvmOverloads constructor(
//V2N总开关
scV2NSwitch.isChecked = false
hmiAction("SOP V2N总开关, ",false)
Log.i(TAG,"SOP V2N总开关, false")
//V2I总开关
scV2ISwitch.isChecked = false
hmiAction("SOP V2I总开关, ",false)
Log.i(TAG,"SOP V2I总开关, false")
//V2V总开关
scObuV2vView.isChecked = false
hmiAction("SOP V2V总开关, ",false)
Log.i(TAG,"SOP V2V总开关, false")
//obu总开关
scObu.isChecked = false
hmiAction("SOP OBU控制总开关, ",false)
Log.i(TAG,"SOP OBU控制总开关, false")
//断开链接
CallerObuApiManager.disConnectObu()
}
@@ -145,31 +135,25 @@ internal class SOPSettingView @JvmOverloads constructor(
//V2N新链路
scNewV2NData.isChecked = FunctionBuildConfig.isNewV2NData
hmiAction("SOP 是否是V2N新链路(云->工控机->App)",FunctionBuildConfig.isNewV2NData)
Log.i(TAG,"SOP 是否是V2N新链路(云->工控机->App), ${FunctionBuildConfig.isNewV2NData}")
//V2N场景进PNC
scV2nPnc.isChecked = FunctionBuildConfig.isV2NPnc
hmiAction("SOP V2N场景进PNC, ",FunctionBuildConfig.isV2NPnc)
Log.i(TAG,"SOP V2N场景进PNC, ${FunctionBuildConfig.isV2NPnc}")
CallerAutoPilotControlManager.sendV2nToPncCmd(FunctionBuildConfig.isV2NPnc)
//绿波通行
scGreenWaveSop.isChecked = HmiBuildConfig.isShowGreenWaveView
hmiAction("SOP obu绿波通行, ",HmiBuildConfig.isShowGreenWaveView)
Log.i(TAG,"SOP obu绿波通行, ${HmiBuildConfig.isShowGreenWaveView}")
CallerTelematicManager.sendMsgToAllClients(TelematicConstant.OBU_GREENWAVE_WARNING, "1".toByteArray())
}else{
//V2N新链路
scNewV2NData.isChecked = false
hmiAction("SOP 是否是V2N新链路(云->工控机->App)",false)
Log.i(TAG,"SOP 是否是V2N新链路(云->工控机->App), false")
//V2N场景进PNC
scV2nPnc.isChecked = false
hmiAction("SOP V2N场景进PNC, ",false)
Log.i(TAG,"SOP V2N场景进PNC, false")
CallerAutoPilotControlManager.sendV2nToPncCmd(false)
//绿波通行
scGreenWaveSop.isChecked = false
hmiAction("SOP obu绿波通行, ",false)
Log.i(TAG,"SOP obu绿波通行, false")
CallerTelematicManager.sendMsgToAllClients(TelematicConstant.OBU_GREENWAVE_WARNING, "0".toByteArray())
}
scNewV2NData.isEnabled = isChecked
@@ -192,32 +176,26 @@ internal class SOPSettingView @JvmOverloads constructor(
//V2I场景进PNC
scV2iPnc.isChecked = FunctionBuildConfig.isV2IPnc
hmiAction("SOP V2I场景进PNC, ",FunctionBuildConfig.isV2IPnc)
Log.i(TAG,"SOP V2I场景进PNC,${FunctionBuildConfig.isV2IPnc}")
CallerAutoPilotControlManager.sendV2iToPncCmd(FunctionBuildConfig.isV2IPnc)
//闯红灯预警
scRunRedLightSop.isChecked = HmiBuildConfig.isShowRunRedLightView
hmiAction("SOP obu闯红灯预警, ",HmiBuildConfig.isShowRunRedLightView)
Log.i(TAG,"SOP obu闯红灯预警, ${HmiBuildConfig.isShowRunRedLightView}")
CallerTelematicManager.sendMsgToAllClients(TelematicConstant.OBU_RUNREDLIGHT_WARNING, "1".toByteArray())
//路侧弱势交通参与者
scObuWeaknessTrafficSop.isChecked = HmiBuildConfig.isShowObuWeaknessTrafficView
hmiAction("SOP obu弱势交通控制, ",HmiBuildConfig.isShowObuWeaknessTrafficView)
Log.i(TAG,"SOP obu弱势交通控制, ${HmiBuildConfig.isShowObuWeaknessTrafficView}")
}else{
//V2I场景进PNC
scV2iPnc.isChecked = false
CallerAutoPilotControlManager.sendV2iToPncCmd(false)
hmiAction("SOP V2I场景进PNC, ",false)
Log.i(TAG,"SOP V2I场景进PNC, false")
//闯红灯预警
scRunRedLightSop.isChecked = false
hmiAction("SOP obu闯红灯预警, ",false)
Log.i(TAG,"SOP obu闯红灯预警, false")
CallerTelematicManager.sendMsgToAllClients(TelematicConstant.OBU_RUNREDLIGHT_WARNING, "0".toByteArray())
//路侧弱势交通参与者
scObuWeaknessTrafficSop.isChecked = false
hmiAction("SOP obu弱势交通控制, ",false)
Log.i(TAG,"SOP obu弱势交通控制, false")
}
scV2iPnc.isEnabled = isChecked
scRunRedLightSop.isEnabled = isChecked
@@ -235,7 +213,6 @@ internal class SOPSettingView @JvmOverloads constructor(
return@setOnCheckedChangeListener
}
hmiAction("SOP 是否是V2N新链路(云->工控机->App)",isChecked)
Log.i(TAG,"SOP 是否是V2N新链路(云->工控机->App) ${isChecked}")
FunctionBuildConfig.isNewV2NData = isChecked
}
@@ -246,7 +223,6 @@ internal class SOPSettingView @JvmOverloads constructor(
return@setOnCheckedChangeListener
}
hmiAction("SOP V2N场景进PNC, ",isChecked)
Log.i(TAG,"SOP V2N场景进PNC, $isChecked")
CallerAutoPilotControlManager.sendV2nToPncCmd(isChecked)
FunctionBuildConfig.isV2NPnc = isChecked
}
@@ -258,7 +234,6 @@ internal class SOPSettingView @JvmOverloads constructor(
return@setOnCheckedChangeListener
}
hmiAction("SOP obu绿波通行, ",isChecked)
Log.i(TAG,"SOP obu绿波通行, $isChecked")
HmiBuildConfig.isShowGreenWaveView = isChecked
if (HmiBuildConfig.isShowGreenWaveView) {
CallerTelematicManager.sendMsgToAllClients(TelematicConstant.OBU_GREENWAVE_WARNING, "1".toByteArray())
@@ -274,7 +249,6 @@ internal class SOPSettingView @JvmOverloads constructor(
return@setOnCheckedChangeListener
}
hmiAction("SOP V2I场景进PNC, ",isChecked)
Log.i(TAG,"SOP V2I场景进PNC, $isChecked")
CallerAutoPilotControlManager.sendV2iToPncCmd(isChecked)
FunctionBuildConfig.isV2IPnc = isChecked
}
@@ -286,7 +260,6 @@ internal class SOPSettingView @JvmOverloads constructor(
return@setOnCheckedChangeListener
}
hmiAction("SOP obu闯红灯预警, ",isChecked)
Log.i(TAG,"SOP obu闯红灯预警, $isChecked")
HmiBuildConfig.isShowRunRedLightView = isChecked
if (HmiBuildConfig.isShowRunRedLightView) {
CallerTelematicManager.sendMsgToAllClients(TelematicConstant.OBU_RUNREDLIGHT_WARNING, "1".toByteArray())
@@ -302,7 +275,6 @@ internal class SOPSettingView @JvmOverloads constructor(
return@setOnCheckedChangeListener
}
hmiAction("SOP obu弱势交通控制, ",isChecked)
Log.i(TAG,"SOP obu弱势交通控制, $isChecked")
HmiBuildConfig.isShowObuWeaknessTrafficView = isChecked
}
@@ -313,7 +285,6 @@ internal class SOPSettingView @JvmOverloads constructor(
return@setOnCheckedChangeListener
}
hmiAction("SOP obuV2V开关, ",isChecked)
Log.i(TAG,"SOP obuV2V开关, $isChecked")
HmiBuildConfig.isShowObuV2vView = isChecked
}
@@ -325,7 +296,6 @@ internal class SOPSettingView @JvmOverloads constructor(
return@setOnCheckedChangeListener
}
hmiAction("SOP OBU控制总开关, ",isChecked)
Log.i(TAG,"SOP OBU控制总开关, $isChecked")
if (isChecked) {
CallerObuApiManager.resetObuIpAddress(MogoObuConst.OBU_DEFAULT_IP)
} else {
@@ -344,7 +314,6 @@ internal class SOPSettingView @JvmOverloads constructor(
scMarkingObstacles.isChecked = FunctionBuildConfig.isPNCWarning
scMarkingObstacles.setOnCheckedChangeListener { _, isChecked ->
hmiAction("SOP 危险障碍物颜色标记开关, ",isChecked)
Log.i(TAG,"SOP 危险障碍物颜色标记开关, $isChecked")
FunctionBuildConfig.isPNCWarning = isChecked
}
if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) {
@@ -355,7 +324,6 @@ internal class SOPSettingView @JvmOverloads constructor(
scRouteDynamicEffect.isChecked = HmiBuildConfig.isShowRouteStrategy
scRouteDynamicEffect.setOnCheckedChangeListener { _, isChecked ->
hmiAction("SOP 引导线动态效果, ",isChecked)
Log.i(TAG,"SOP 引导线动态效果, $isChecked")
HmiBuildConfig.isShowRouteStrategy = isChecked
}
@@ -378,7 +346,6 @@ internal class SOPSettingView @JvmOverloads constructor(
CallerMapUIServiceManager.getMapUIController()?.setIsDrawPointCloud(isChecked)
CallerSopSettingManager.invokePointCloudListener(isChecked)
hmiAction("SOP 是否渲染点云数据, ",isChecked)
Log.i(TAG,"SOP 是否渲染点云数据, $isChecked")
}
//自车光圈
@@ -388,7 +355,6 @@ internal class SOPSettingView @JvmOverloads constructor(
scCarAperture.isChecked = true
CallerMapUIServiceManager.getMapUIController()?.setDisplayAnimEnable(true)
hmiAction("SOP 是否展示自车光圈,",FunctionBuildConfig.isDisplayAnimEnable)
Log.i(TAG,"SOP 是否展示自车光圈,${FunctionBuildConfig.isDisplayAnimEnable}")
}else{
scCarAperture.isChecked = FunctionBuildConfig.isDisplayAnimEnable
}
@@ -396,7 +362,6 @@ internal class SOPSettingView @JvmOverloads constructor(
CallerMapUIServiceManager.getMapUIController()?.setDisplayAnimEnable(isChecked)
CallerSopSettingManager.invokeCarApertureListener(isChecked)
hmiAction("SOP 是否展示自车光圈,",isChecked)
Log.i(TAG,"SOP 是否展示自车光圈,$isChecked")
if(!compoundButton.isPressed){
return@setOnCheckedChangeListener
}
@@ -412,7 +377,6 @@ internal class SOPSettingView @JvmOverloads constructor(
scObstacleAvoidance.isChecked = FunctionBuildConfig.isDetouring
scObstacleAvoidance.setOnCheckedChangeListener { _, isChecked ->
hmiAction("SOP 绕障类功能开关, ",isChecked)
Log.i(TAG,"SOP 绕障类功能开关, $isChecked")
CallerAutoPilotControlManager.sendDetouring(isChecked)
FunctionBuildConfig.isDetouring = isChecked
}
@@ -424,7 +388,6 @@ internal class SOPSettingView @JvmOverloads constructor(
return@setOnCheckedChangeListener
}
hmiAction("SOP 演示模式开关, ",!FunctionBuildConfig.isDemoMode)
Log.i(TAG,"SOP 演示模式开关, ${!FunctionBuildConfig.isDemoMode}")
FunctionBuildConfig.isDemoMode = !FunctionBuildConfig.isDemoMode
CallerAutoPilotControlManager.setDemoMode(FunctionBuildConfig.isDemoMode)
CallerHmiViewControlListenerManager.invokeFuncMode(FUNC_MODE_DEMO, FunctionBuildConfig.isDemoMode)
@@ -446,7 +409,6 @@ internal class SOPSettingView @JvmOverloads constructor(
return@setOnCheckedChangeListener
}
hmiAction("SOP 雨天模式开关, ",isChecked)
Log.i(TAG,"SOP 雨天模式开关, $isChecked")
FunctionBuildConfig.isRainMode = isChecked
CallerAutoPilotControlManager.setRainMode(isChecked)
CallerHmiViewControlListenerManager.invokeFuncMode(FUNC_MODE_RAIN, isChecked)
@@ -463,7 +425,6 @@ internal class SOPSettingView @JvmOverloads constructor(
FunctionBuildConfig.isWeakNetSlowDown = isChecked
CallerAutoPilotControlManager.sendWeakNetSlowDown(isChecked)
hmiAction("SOP 弱网减速停车, ",isChecked)
Log.i(TAG,"SOP 弱网减速停车, $isChecked")
}
//故障减速停车
@@ -472,7 +433,6 @@ internal class SOPSettingView @JvmOverloads constructor(
FunctionBuildConfig.isFaultSlowDown = isChecked
CallerAutoPilotControlManager.sendBreakdownSlowDown(isChecked)
hmiAction("SOP 故障减速停车, ",isChecked)
Log.i(TAG,"SOP 故障减速停车, $isChecked")
}
//融合模式
rgFusionMode.setOnCheckedChangeListener { _, p1 ->
@@ -499,7 +459,6 @@ internal class SOPSettingView @JvmOverloads constructor(
}
}
hmiAction("SOP 融合模式, ",FunctionBuildConfig.fusionMode)
Log.i(TAG,"SOP 融合模式, ${FunctionBuildConfig.fusionMode}")
CallerAutoPilotControlManager.sendFusionMode(FunctionBuildConfig.fusionMode)
}
}
@@ -512,7 +471,6 @@ internal class SOPSettingView @JvmOverloads constructor(
scTrafficLight.isChecked = !HmiBuildConfig.isShowTrafficLightView
scTrafficLight.setOnCheckedChangeListener { _, isChecked ->
hmiAction("SOP 红绿灯标识开关, ",isChecked)
Log.i(TAG,"SOP 红绿灯标识开关, $isChecked")
if (isChecked) {
CallerHmiManager.showTrafficLightView()
} else {
@@ -524,7 +482,6 @@ internal class SOPSettingView @JvmOverloads constructor(
scSpeedLimit.isChecked = HmiBuildConfig.isShowLimitingVelocityView
scSpeedLimit.setOnCheckedChangeListener { _, isChecked ->
hmiAction("SOP 限速标识开关, ",isChecked)
Log.i(TAG,"SOP 限速标识开关, $isChecked")
if (isChecked) {
HmiBuildConfig.isShowLimitingVelocityView = true
CallerHmiViewControlListenerManager.invokeVisible(IViewControlListener.LimitingVelocityView_TAG,View.VISIBLE)
@@ -538,7 +495,6 @@ internal class SOPSettingView @JvmOverloads constructor(
scIPCReport.isChecked = FunctionBuildConfig.isReportWarning
scIPCReport.setOnCheckedChangeListener { _, isChecked ->
hmiAction("SOP 是否开启异常上报, ",isChecked)
Log.i(TAG,"SOP 是否开启异常上报, $isChecked")
FunctionBuildConfig.isReportWarning = isChecked
}
@@ -564,7 +520,6 @@ internal class SOPSettingView @JvmOverloads constructor(
scShowBagRecordWindow.setOnCheckedChangeListener{_, isChecked ->
FunctionBuildConfig.isShowBagRecordWindow = isChecked
hmiAction("SOP 是否展示被动触发的录包弹窗, ",isChecked)
Log.i(TAG,"SOP 是否展示被动触发的录包弹窗, $isChecked")
}
//变道绕障的目标障碍物速度阈值

View File

@@ -1,6 +1,8 @@
package com.mogo.eagle.core.function.hmi.ui.utils
import com.mogo.eagle.core.data.deva.chain.ChainConstant
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_HMI
import com.zhjt.service.chain.ChainLog
class HmiActionLog {
@@ -14,6 +16,7 @@ class HmiActionLog {
paramIndexes = [0, 1]
)
fun hmiAction(data: Any, data1: Any) {
CallerLogger.d(M_HMI + data.toString(), data1)
}
}

View File

@@ -46,7 +46,7 @@ class SteeringBrakeView(context: Context, attrs: AttributeSet?) : ConstraintLayo
}
override fun onChassisLocationWGS84(gnssInfo: MogoLocation) {
//设置刹车信息,小于默认认为是刹车 //todo 优化sp获取不要每次回调都去调用sp
//设置刹车信息,小于默认认为是刹车 //todo emArrow 优化sp获取不要每次回调都去调用sp
brakeLight =
if (gnssInfo.acceleration < SharedPrefsMgr.getInstance(Utils.getApp()).getFloat(
MoGoConfig.BRAKE_ACCELERATION_THRESHOLD, -2.5f
@@ -61,7 +61,7 @@ class SteeringBrakeView(context: Context, attrs: AttributeSet?) : ConstraintLayo
"---onAutopilotLightSwitchData ---Acceleration = " + gnssInfo.acceleration + "-- brakeLight = " + brakeLight
)
ThreadUtils.runOnUiThread {
if (!isShowTurnLight) { //在不展示转向灯的情况下,展示车辆刹车的动效
if (!isShowTurnLight) { //在不展示转向灯的情况下,展示车辆刹车的动效 todo emArrow 逻辑放入地图
brakeView.visibility = View.VISIBLE
brakeView.setBrakeLight(brakeLight)
} else {

View File

@@ -3,7 +3,6 @@ package com.mogo.eagle.core.function.hmi.ui.vehicle
import android.content.Context
import android.os.CountDownTimer
import android.util.AttributeSet
import android.util.Log
import android.view.LayoutInflater
import android.view.View
import androidx.constraintlayout.widget.ConstraintLayout
@@ -21,6 +20,8 @@ import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager.saveMsgBox
import com.mogo.eagle.core.function.hmi.R
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_HMI
import com.mogo.eagle.core.utilcode.util.SoundPoolUtils
import com.mogo.eagle.core.utilcode.util.ThreadUtils
import com.zhjt.mogo.adas.data.bean.MogoReport
@@ -55,13 +56,13 @@ class TakeOverView @JvmOverloads constructor(
}
override fun onAutopilotStatusResponse(state: Int) {
Log.i(TAG, "onAutopilotStatusResponse state=$state")
CallerLogger.i(M_HMI + TAG, "onAutopilotStatusResponse state=$state")
if(state == 7){
isParallel = true
Log.i(TAG, "onAutopilotStatusResponse isParallel status=true")
CallerLogger.i(M_HMI + TAG, "onAutopilotStatusResponse isParallel status=true")
}else if(state == 0 || state == 1){
isParallel = false
Log.i(TAG, "onAutopilotStatusResponse isParallel status=false")
CallerLogger.i(M_HMI + TAG, "onAutopilotStatusResponse isParallel status=false")
}
}
@@ -119,10 +120,10 @@ class TakeOverView @JvmOverloads constructor(
//弱网
MogoReport.Code.Error.EPARALLEL.AICLOUD_NETWORK_WEAK,
MogoReport.Code.Error.EPARALLEL.AICLOUD_CONNECTION_ERROR -> {
Log.i(TAG, "收到弱网上报,当前自驾状态=$isParallel")
CallerLogger.i(M_HMI + TAG, "收到弱网上报,当前自驾状态=$isParallel")
//如果是平行驾驶状态下,提示弱网接管
if(isParallel){
Log.i(TAG,"是平行驾驶状态下,提示弱网接管")
CallerLogger.i(M_HMI + TAG,"是平行驾驶状态下,提示弱网接管")
if(AppIdentityModeUtils.isM1(FunctionBuildConfig.appIdentityMode)){
//M1仅做提示音和消息盒子无语音播报和提示接管动画
showM1ParallelDrivingWarning(EventTypeEnumNew.NETWORK_WEAK_EVENT.poiType,

View File

@@ -6,7 +6,6 @@ import android.os.Looper
import android.os.Message
import android.text.Html
import android.util.AttributeSet
import android.util.Log
import android.util.TypedValue
import android.view.LayoutInflater
import android.view.View
@@ -91,7 +90,6 @@ class RomaDistanceView @JvmOverloads constructor(
override fun romaDistance(distance: String) {
super.romaDistance(distance)
dis = distance.toDouble().toInt()
Log.i(TAG, "romaDistance:$dis")
}
override fun onDetachedFromWindow() {

View File

@@ -365,7 +365,7 @@ class SystemVersionView @JvmOverloads constructor(
* HQ、M1 MAP350开始弃用其他车型MAP360开始弃用
*/
override fun onAutopilotStatusRespByQuery(status: SystemStatusInfo.StatusInfo) {
Log.i(TAG, "hdMapVer=" + status.hdMapVer)
CallerLogger.i(M_HMI + TAG, "hdMapVer=" + status.hdMapVer)
//hdMapVer返回示例/home/mogo/autopilot/share/hadmap_engine/data/hadmap_data/db.sqlite|bj|2.2.7|对bus路线上的junction进行修改对原609场景修改为6091、6092、6201、 6202四种细分场景并对通往园区路口改为619
if (status.hdMapVer != null && status.hdMapVer.isNotEmpty()) {
//对地图版本进行截取
@@ -384,7 +384,7 @@ class SystemVersionView @JvmOverloads constructor(
* @param statusInf 数据
*/
override fun onSystemStatus(statusInf: SsmInfo.SsmStatusInf) {
Log.i(TAG, "hdMapVer=" + statusInf.hdMapVer)
CallerLogger.i(M_HMI + TAG, "hdMapVer=" + statusInf.hdMapVer)
//hdMapVer返回示例/home/mogo/autopilot/share/hadmap_engine/data/hadmap_data/db.sqlite|bj|2.2.7|对bus路线上的junction进行修改对原609场景修改为6091、6092、6201、 6202四种细分场景并对通往园区路口改为619
if (statusInf.hdMapVer != null && statusInf.hdMapVer.isNotEmpty()) {
//对地图版本进行截取

View File

@@ -12,7 +12,6 @@ import android.os.Bundle;
import android.os.Handler;
import android.os.Process;
import android.text.TextUtils;
import android.util.Log;
import android.view.KeyEvent;
import androidx.annotation.NonNull;
@@ -205,7 +204,6 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis
@Override
public void onConfigurationChanged(@NonNull Configuration newConfig) {
super.onConfigurationChanged(newConfig);
Log.d(TAG, " --- onConfigurationChanged --");
}
@Override

View File

@@ -13,7 +13,6 @@ import android.os.Bundle;
import android.os.Handler;
import android.os.Process;
import android.text.TextUtils;
import android.util.Log;
import androidx.annotation.Nullable;
@@ -199,7 +198,6 @@ public class PassengerLauncherActivity extends MainActivity implements IMogoInte
Method isConnectedMethod = BluetoothDevice.class.getDeclaredMethod("isConnected", (Class[]) null);
isConnectedMethod.setAccessible(true);
// boolean isConnected = (boolean) isConnectedMethod.invoke(device, (Object[]) null);
Log.d(TAG, "-- device.getName() = " + device.getName()); //device.getAddress()
if (device.getName().equals("MINI_KEYBOARD")) {
SharedPrefsMgr.getInstance(getContext()).putString("BLUETOOTH", device.getName());
}

View File

@@ -150,40 +150,32 @@ public class MogoModulesManager implements MogoModulesHandler {
@Override
public void onDestroy() {
if (mModuleFunctionProviders != null) {
Collection<IMoGoFunctionProvider> modules = mModuleFunctionProviders.values();
if (modules != null) {
for (IMoGoFunctionProvider module : modules) {
try {
CallerLogger.d(M_HMI + TAG, "destroy module: " + module.getFunctionName());
module.onDestroy();
} catch (Exception e) {
CallerLogger.e(M_HMI + TAG, e + " onDestroy");
}
Collection<IMoGoFunctionProvider> fModules = mModuleFunctionProviders.values();
if (!fModules.isEmpty()) {
for (IMoGoFunctionProvider module : fModules) {
try {
CallerLogger.d(M_HMI + TAG, "destroy module: " + module.getFunctionName());
module.onDestroy();
} catch (Exception e) {
CallerLogger.e(M_HMI + TAG, e + " onDestroy");
}
}
mModuleNameFunctionProviders.clear();
}
if (mModuleFunctionProviders != null) {
mModuleFunctionProviders.clear();
}
if (mModuleFunctionServerProviders != null) {
Collection<IMoGoFunctionServerProvider> modules = mModuleFunctionServerProviders.values();
if (modules != null) {
for (IMoGoFunctionServerProvider module : modules) {
try {
CallerLogger.d(M_HMI + TAG, "destroy module: " + module.getFunctionName());
module.onDestroy();
} catch (Exception e) {
CallerLogger.e(M_HMI + TAG, e + " onDestroy");
}
mModuleNameFunctionProviders.clear();
mModuleFunctionProviders.clear();
Collection<IMoGoFunctionServerProvider> fsModules = mModuleFunctionServerProviders.values();
if (!fsModules.isEmpty()) {
for (IMoGoFunctionServerProvider module : fsModules) {
try {
CallerLogger.d(M_HMI + TAG, "destroy module: " + module.getFunctionName());
module.onDestroy();
} catch (Exception e) {
CallerLogger.e(M_HMI + TAG, e + " onDestroy");
}
}
mModuleNameFunctionProviders.clear();
}
if (mModuleFunctionServerProviders != null) {
mModuleFunctionServerProviders.clear();
}
mModuleNameFunctionProviders.clear();
mModuleFunctionServerProviders.clear();
mActivity = null;
}
}

View File

@@ -86,6 +86,8 @@ class ChainConstant {
const val CHAIN_CODE_UPGRADE_APP = "CHAIN_CODE_UPGRADE_APP"
const val CHAIN_CODE_MO_FANG_CONNECT = "CHAIN_CODE_MO_FANG_CONNECT"
const val CHAIN_CODE_MAIN_BLOCK = "CHAIN_CODE_MAIN_BLOCK"
const val CHAIN_CODE_DISPATCH_RECEIVE = "CHAIN_CODE_DISPATCH_RECEIVE"
const val CHAIN_CODE_DISPATCH_START = "CHAIN_CODE_DISPATCH_START"
const val CHAIN_CODE_CLOUD_INIT = "CHAIN_CODE_CLOUD_INIT"
const val CHAIN_CODE_CLOUD_PASSPORT_TOKEN = "CHAIN_CODE_CLOUD_PASSPORT_TOKEN"

View File

@@ -1,6 +1,5 @@
package com.mogo.eagle.core.function.call.autopilot
import android.util.Log
import com.mogo.eagle.core.function.api.autopilot.IMoGoParallelDrivingActionsListener
import com.mogo.eagle.core.function.call.base.CallerBase
@@ -44,10 +43,10 @@ object CallerParallelDrivingActionsListenerManager :
}
private fun notification() {
Log.i(
"xfk",
"是否可以启动平行驾驶=$isParallelDrivingAbility"
)
// Log.i(
// "xfk",
// "是否可以启动平行驾驶=$isParallelDrivingAbility"
// )
M_LISTENERS.forEach {
val listener = it.value
listener.onParallelDrivingAbility(

View File

@@ -2571,7 +2571,6 @@ public final strictfp class S2Polygon implements S2Region, Comparable<S2Polygon>
* interior is always on the left.
*/
public abstract class Shape implements S2Shape, Serializable {
// TODO measure this with benchmark.
private static final int MAX_LINEAR_SEARCH_LOOPS = 5; // From benchmarks.
private static final long serialVersionUID = 1L;

View File

@@ -61,7 +61,7 @@ bytex.ASM_API=ASM7
################ 外部依赖引用 ################
# loglib
LOGLIB_VERSION=1.9.17
LOGLIB_VERSION=1.9.18
######## MogoAiCloudSDK Version ########
# 网络请求LOGLIB_VERSION
MOGO_NETWORK_VERSION=1.4.7.17

View File

@@ -2,6 +2,6 @@ ext {
gradle_version = '3.5.3'
kotlin_plugin_version = '1.5.30'
plugin_version = '10.0.0_mogo'
service_chain_version = '5.3.6'
service_chain_version = '5.3.8'
lancetx_plugin_version = '10.0.4_mogo'
}