From dec42eabcca517aeba2aa3a3bb5272a2aa367708 Mon Sep 17 00:00:00 2001 From: renwj Date: Wed, 29 Jun 2022 17:12:21 +0800 Subject: [PATCH] =?UTF-8?q?[V2X]=E4=BC=98=E5=8C=96=E9=81=93=E8=B7=AF?= =?UTF-8?q?=E6=96=BD=E5=B7=A5=E4=BA=8B=E4=BB=B6=E7=9A=84=E8=A7=A6=E5=8F=91?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 2 ++ .../mogo/eagle/core/function/v2x/events/V2XEventManager.kt | 6 ++++-- .../core/function/v2x/events/alarm/V2XAlarmServer.java | 7 +++---- .../events/scenario/scene/road/V2XRoadEventScenario.java | 4 ++-- .../java/com/mogo/module/common/enums/EventTypeEnum.kt | 1 + 5 files changed, 12 insertions(+), 8 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 87b0e55e97..2cac4ecb5e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -253,6 +253,7 @@ dependencies { androidTestImplementation project(':core:mogo-core-function-call') androidTestImplementation project(':core:mogo-core-res') androidTestImplementation project(':core:function-impl:mogo-core-function-notice') + } apply from: "./functions/och.gradle" @@ -263,6 +264,7 @@ dependencies { androidTestImplementation rootProject.ext.dependencies.androidx_unit_ext_ktx androidTestImplementation rootProject.ext.dependencies.androidx_runner androidTestImplementation rootProject.ext.dependencies.androidx_espresso_core + androidTestImplementation rootProject.ext.dependencies.localbroadcastmanager } if (!isAndroidTestBuild()) { diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/V2XEventManager.kt b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/V2XEventManager.kt index e8f65e22fb..88cc50a8b9 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/V2XEventManager.kt +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/V2XEventManager.kt @@ -6,6 +6,7 @@ import android.content.IntentFilter import android.os.Handler import android.os.Looper import android.provider.Settings.System +import android.util.* import androidx.localbroadcastmanager.content.LocalBroadcastManager import com.mogo.cloud.passport.IMoGoTokenCallback import com.mogo.cloud.passport.MoGoAiCloudClient @@ -102,6 +103,7 @@ object V2XEventManager : IMoGoMapLocationListener, IMoGoTokenCallback, IV2XCallb V2XManager.init(V2XConfig.Builder().also { it.aiCloudConfig(MoGoAiCloudClientConfig.getInstance()) it.context(context) + it.loggable(true) it.distanceForTriggerRefresh(200f) //行驶超过200(包含)米,刷新道路周边信息(短链请求) it.durationForTriggerRefresh( 60, @@ -152,7 +154,6 @@ object V2XEventManager : IMoGoMapLocationListener, IMoGoTokenCallback, IV2XCallb BridgeApi.registerCenter()?.let { it.unregisterMogoMapListener(MODULE_NAME) it.unregisterMogoMarkerClickListener(ModuleNames.CARD_TYPE_ROAD_CONDITION) - it.unregisterMogoMarkerClickListener(MODULE_NAME) } BridgeApi.statusManager()?.let { it.unregisterStatusChangedListener(MODULE_NAME, ACC_STATUS, this) @@ -431,7 +432,7 @@ object V2XEventManager : IMoGoMapLocationListener, IMoGoTokenCallback, IV2XCallb * V2XEvent事件回调 */ override fun onAck(event: V2XEvent) { - CallerLogger.d("$M_V2X$TAG", "OK->: $event") + Log.d("$M_V2X$TAG", "OK->: $event") when (event) { is V2XEvent.ForwardsWarning -> { handleAdvanceWarningEvent(event) @@ -465,6 +466,7 @@ object V2XEventManager : IMoGoMapLocationListener, IMoGoTokenCallback, IV2XCallb l3.location = V2XMarkerLocation().also { l4 -> l4.lat = this.roadwork?.center?.point?.lat ?: 0.0 l4.lon = this.roadwork?.center?.point?.lon ?: 0.0 + l4.angle = this.roadwork?.center?.road?.bearing?.toDouble() ?: 0.0 } }) } diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/alarm/V2XAlarmServer.java b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/alarm/V2XAlarmServer.java index 07506627d6..bd90c559af 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/alarm/V2XAlarmServer.java +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/alarm/V2XAlarmServer.java @@ -48,8 +48,7 @@ public class V2XAlarmServer { // 因为集合是按照距离排序后的所以这里检索出来第一个就发出警告 for (V2XRoadEventEntity v2XRoadEventEntity : v2XRoadEventEntityList) { // 0、道路事件必须有朝向,角度>=0; - boolean ignoreAngle = EventTypeEnum.AI_ROAD_WORK.getPoiType().equals(v2XRoadEventEntity.getPoiType()); - if (v2XRoadEventEntity.getLocation().getAngle() >= 0 || ignoreAngle) { + if (v2XRoadEventEntity.getLocation().getAngle() >= 0) { // 计算车辆距离指定气泡的距离 MarkerLocation eventLocation = v2XRoadEventEntity.getLocation(); // 1、判断是否到达了触发距离,20 ~ 500, @@ -64,7 +63,7 @@ public class V2XAlarmServer { double carBearing = currentLocation.getBearing(); double eventBearing = eventLocation.getAngle(); double diffAngle = DrivingDirectionUtils.getAngleDiff(carBearing, eventBearing); - if (ignoreAngle || diffAngle < 20) { + if (diffAngle < 20) { // 3、计算当前车辆行驶方向与事件位置之间夹角《20度,保证道路事件在车辆前方 double eventAngle = DrivingDirectionUtils.getDegreeOfCar2Poi( currentLocation.getLongitude(), @@ -73,7 +72,7 @@ public class V2XAlarmServer { eventLocation.getLat(), (int) currentLocation.getBearing() ); - if (ignoreAngle || 0 <= eventAngle && eventAngle <= 20) { + if (0 <= eventAngle && eventAngle <= 20) { // 判断是否已经提示过道路事件 boolean isAlreadyAlert = false; String lastTime = mAlertRoadEventList.get(v2XRoadEventEntity); diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/scenario/scene/road/V2XRoadEventScenario.java b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/scenario/scene/road/V2XRoadEventScenario.java index 1c5966cb80..3fd4d1dcaa 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/scenario/scene/road/V2XRoadEventScenario.java +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/scenario/scene/road/V2XRoadEventScenario.java @@ -6,13 +6,13 @@ import com.mogo.eagle.core.data.enums.WarningDirectionEnum; import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWarningStatusListener; import com.mogo.eagle.core.function.call.hmi.CallerHmiManager; import com.mogo.eagle.core.function.call.map.CallerVisualAngleManager; -import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.function.v2x.events.bridge.BridgeApi; import com.mogo.eagle.core.function.v2x.events.consts.V2XConst; import com.mogo.eagle.core.function.v2x.events.manager.V2XStatusManager; import com.mogo.eagle.core.function.v2x.events.scenario.impl.AbsV2XScenario; import com.mogo.eagle.core.function.v2x.events.scenario.view.IV2XMarker; import com.mogo.eagle.core.network.utils.GsonUtil; +import com.mogo.eagle.core.utilcode.mogo.logger.Logger; import com.mogo.module.common.entity.MarkerExploreWay; import com.mogo.module.common.entity.V2XMessageEntity; import com.mogo.module.common.entity.V2XRoadEventEntity; @@ -41,7 +41,7 @@ public class V2XRoadEventScenario extends AbsV2XScenario imp @Override public void init(V2XMessageEntity v2XMessageEntity) { try { - CallerLogger.INSTANCE.d(M_V2X + TAG, "v2XMessageEntity:" + GsonUtil.jsonFromObject(v2XMessageEntity)); + Logger.d(M_V2X + TAG, "v2XMessageEntity:" + GsonUtil.jsonFromObject(v2XMessageEntity)); V2XRoadEventEntity v2XRoadEventEntity = v2XMessageEntity.getContent(); if (v2XRoadEventEntity != null) { if (v2XMessageEntity.isShowState()) { diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/enums/EventTypeEnum.kt b/modules/mogo-module-common/src/main/java/com/mogo/module/common/enums/EventTypeEnum.kt index 245956ad78..b491c152dc 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/enums/EventTypeEnum.kt +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/enums/EventTypeEnum.kt @@ -742,6 +742,7 @@ enum class EventTypeEnum( TYPE_ERROR.poiType -> TYPE_ERROR.poiTypeSrcVr TYPE_OPTIMAL_ROUTE_RECOMMEND.poiType -> TYPE_OPTIMAL_ROUTE_RECOMMEND.poiTypeSrcVr GHOST_PROBE.poiType -> GHOST_PROBE.poiTypeSrcVr + AI_ROAD_WORK.poiType -> AI_ROAD_WORK.poiTypeSrcVr else -> TYPE_ERROR.poiTypeSrcVr } }