From 58a15194d31038a32dd197689f446b5f386b2381 Mon Sep 17 00:00:00 2001 From: renwj Date: Wed, 17 Jul 2024 14:34:10 +0800 Subject: [PATCH] =?UTF-8?q?[6.5.0][=E9=81=93=E8=B7=AF=E4=BA=8B=E4=BB=B6][?= =?UTF-8?q?=E8=A7=86=E8=A7=92=E5=88=87=E6=8D=A2]=20=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../angle/MoGoVisualAngleChangeProvider.kt | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/MoGoVisualAngleChangeProvider.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/MoGoVisualAngleChangeProvider.kt index 1f98b35dab..d9f47f5f26 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/MoGoVisualAngleChangeProvider.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/MoGoVisualAngleChangeProvider.kt @@ -17,7 +17,6 @@ import com.mogo.eagle.core.function.api.map.road.IMoGoMapRoadListener import com.mogo.eagle.core.function.call.autopilot.* import com.mogo.eagle.core.function.call.map.* import com.mogo.eagle.core.utilcode.kotlin.* -import com.mogo.map.MapDataWrapper import com.zhidaoauto.map.data.road.RoadCross import com.zhidaoauto.map.data.road.StopLine import com.zhidaoauto.map.sdk.open.common.tools.MapTools @@ -61,7 +60,7 @@ class MoGoVisualAngleChangeProvider: IMoGoVisualAngleChangeProvider { var triggerClose = false var distance = distanceOfCarToStopLine.get() if (hasCrossRoad && distance > 0) { - distance += 3.0 + distance += 5.0 val prev = triggerLocation.get() if (prev != null) { travelled.set(MapTools.distance(loc.longitude, loc.latitude, prev.longitude, prev.latitude) + travelled.get()) @@ -70,22 +69,25 @@ class MoGoVisualAngleChangeProvider: IMoGoVisualAngleChangeProvider { val oldRoadId = triggerRoadId.get() Log.d(TAG, "-- onRoadIdInfo --: travelled --: ${travelled.get()}") if ((travelled.get() > distance)) { - Log.d(TAG, "-- onRoadIdInfo --: cross --: $inCrossRoad") - if (inCrossRoad) { - triggerClose = true + val inCross = inCrossRoad + Log.d(TAG, "-- onRoadIdInfo --: cross --: $inCross") + if (inCross) { + return } - if (!triggerClose && roadId != "0" && oldRoadId != null && oldRoadId != roadId) { + if (roadId != "0" && oldRoadId != null && oldRoadId != roadId) { triggerClose = true } if (triggerClose) { - Log.d(TAG, "-- onRoadIdInfo --: trigger close --") - distanceOfCarToStopLine.set(0.0) - hasCrossRoad = false - triggerRoadId.set(null) - travelled.set(0.0) - triggerLocation.set(null) - inCrossRoad = false - changeScene(Default()) + try { + Log.d(TAG, "-- onRoadIdInfo --: trigger close --") + distanceOfCarToStopLine.set(0.0) + hasCrossRoad = false + triggerRoadId.set(null) + travelled.set(0.0) + triggerLocation.set(null) + } finally { + changeScene(Default()) + } } } }