[6.5.0][道路事件] 逻辑优化
This commit is contained in:
@@ -78,7 +78,7 @@ class MoGoVisualAngleChangeProvider: IMoGoVisualAngleChangeProvider {
|
||||
|
||||
override fun onStopLineInfo(info: StopLine) {
|
||||
Log.d(TAG, "-- onStopLineInfo --: ${info.distance}")
|
||||
if (!hasCrossRoad && info.distance <= 30.0) {
|
||||
if (!hasCrossRoad && info.distance <= 80.0) {
|
||||
hasCrossRoad = true
|
||||
triggerRoadId.set(this.roadId.get())
|
||||
distanceOfCarToStopLine.set(info.distance)
|
||||
@@ -140,7 +140,11 @@ class MoGoVisualAngleChangeProvider: IMoGoVisualAngleChangeProvider {
|
||||
if (delay > 0) {
|
||||
delay(delay)
|
||||
}
|
||||
val lastPriority = prevScene.get()?.priority ?: Int.MIN_VALUE
|
||||
val prev = prevScene.get()
|
||||
if (prev?.javaClass == scene.javaClass) {
|
||||
return@launch
|
||||
}
|
||||
val lastPriority = prev?.priority ?: Int.MIN_VALUE
|
||||
val currentPriority = scene.priority
|
||||
if (lastPriority > currentPriority) {
|
||||
return@launch
|
||||
@@ -161,6 +165,11 @@ class MoGoVisualAngleChangeProvider: IMoGoVisualAngleChangeProvider {
|
||||
Log.d(TAG, "--- doChangeAngle ---: $target")
|
||||
val prev = prevScene.get()
|
||||
try {
|
||||
if (!target.isCanTouch) {
|
||||
CallerMapUIServiceManager.getMapUIController()?.setAllGesturesEnabled(false)
|
||||
} else {
|
||||
CallerMapUIServiceManager.getMapUIController()?.setAllGesturesEnabled(true)
|
||||
}
|
||||
it.changeMapVisualAngle(angle, null)
|
||||
} finally {
|
||||
if (prev == null || prev.javaClass != target.javaClass) {
|
||||
|
||||
@@ -22,6 +22,9 @@ class CrossRoad(private val delayTime: Long): Scene {
|
||||
override val isCanSwitch: Boolean
|
||||
get() = false
|
||||
|
||||
override val isCanTouch: Boolean
|
||||
get() = false
|
||||
|
||||
override fun toString(): String {
|
||||
return "CrossRoad(delayTime=${delayTime}, priority=${priority}, displayThreshold: ${displayThreshold}, priority=${priority})"
|
||||
}
|
||||
|
||||
@@ -27,6 +27,9 @@ class Default(val delayTime: Long = 2, val unit: TimeUnit = TimeUnit.SECONDS): S
|
||||
override val isCanSwitch: Boolean
|
||||
get() = true
|
||||
|
||||
override val isCanTouch: Boolean
|
||||
get() = true
|
||||
|
||||
override fun toString(): String {
|
||||
return "Default(delay=$delay, unit=$unit, angle=$angle, priority=$priority)"
|
||||
}
|
||||
|
||||
@@ -19,4 +19,7 @@ class LongSight(private val delayTime: Long, private val unit: TimeUnit = TimeUn
|
||||
|
||||
override val isCanSwitch: Boolean
|
||||
get() = true
|
||||
|
||||
override val isCanTouch: Boolean
|
||||
get() = true
|
||||
}
|
||||
@@ -27,4 +27,7 @@ class RoadEvent(private val delayTime: Long, private val unit: TimeUnit): Scene
|
||||
|
||||
override val isCanSwitch: Boolean
|
||||
get() = true
|
||||
|
||||
override val isCanTouch: Boolean
|
||||
get() = true
|
||||
}
|
||||
Reference in New Issue
Block a user