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 bd5c6eb3fb..4ed88e21f9 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 @@ -10,6 +10,7 @@ import com.mogo.eagle.core.data.constants.MogoServicePaths import com.mogo.eagle.core.data.map.* import com.mogo.eagle.core.function.angle.scenes.CrossRoad import com.mogo.eagle.core.function.angle.scenes.Default +import com.mogo.eagle.core.function.angle.scenes.Roma import com.mogo.eagle.core.function.api.map.angle.* import com.mogo.eagle.core.function.api.map.angle.IMoGoVisualAngleChangeProvider.OnMoGoVisualAngleSceneChangeListener import com.mogo.eagle.core.function.api.map.angle.Scene @@ -143,17 +144,7 @@ class MoGoVisualAngleChangeProvider: IMoGoVisualAngleChangeProvider { @Volatile private var prevJob: Job? = null - @Volatile - private var mLevel:Boolean = false - - override fun updateLongSightLevel(level:Boolean){ - mLevel = level - } - override fun changeScene(scene: Scene) { - if(mLevel){ - return - } prevJob?.safeCancel() scope.launch { val delay = scene.delay @@ -190,7 +181,9 @@ class MoGoVisualAngleChangeProvider: IMoGoVisualAngleChangeProvider { } else { CallerMapUIServiceManager.getMapUIController()?.setAllGesturesEnabled(true) } - it.changeMapVisualAngle(angle, null) + if (target !is Roma) { + it.changeMapVisualAngle(angle, null) + } } finally { if (prev == null || prev.javaClass != target.javaClass) { notifyChanged(target) diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/scenes/CrossRoad.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/scenes/CrossRoad.kt index 0ae4cc5a54..dd884e2dca 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/scenes/CrossRoad.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/scenes/CrossRoad.kt @@ -2,7 +2,6 @@ package com.mogo.eagle.core.function.angle.scenes import com.mogo.eagle.core.function.api.map.angle.Scene import com.mogo.map.uicontroller.VisualAngleMode -import com.mogo.map.uicontroller.VisualAngleMode.MAP_STYLE_VR_ANGLE_CROSS import com.mogo.map.uicontroller.VisualAngleMode.MAP_STYLE_VR_ANGLE_CROSS_NEW /** diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/scenes/Roma.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/scenes/Roma.kt new file mode 100644 index 0000000000..fa15d5108e --- /dev/null +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/scenes/Roma.kt @@ -0,0 +1,25 @@ +package com.mogo.eagle.core.function.angle.scenes + +import com.mogo.eagle.core.function.api.map.angle.Scene +import com.mogo.map.uicontroller.VisualAngleMode +import com.mogo.map.uicontroller.VisualAngleMode.MAP_STYLE_VR_ROMA +import java.util.concurrent.TimeUnit + +/** + * 漫游场景 + */ +class Roma(val delayTime: Long = 2, val unit: TimeUnit = TimeUnit.SECONDS): Scene { + + override val angle: VisualAngleMode + get() = MAP_STYLE_VR_ROMA + override val priority: Int + get() = 1 + override val displayThreshold: Long + get() = -1 + override val delay: Long + get() = unit.toMillis(delayTime) + override val isCanSwitch: Boolean + get() = false + override val isCanTouch: Boolean + get() = false +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/ai/RomaManager.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/ai/RomaManager.kt index feefa598a7..e3032adb75 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/ai/RomaManager.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/ai/RomaManager.kt @@ -23,6 +23,8 @@ import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_RO import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ROMA_REQUEST_ERROR import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ROMA_REQUEST_OK import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ROMA_ROUTE_MODE +import com.mogo.eagle.core.function.angle.scenes.Default +import com.mogo.eagle.core.function.angle.scenes.Roma import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.api.autopilot.IMoGoPlanningRottingListener import com.mogo.eagle.core.function.api.map.roma.IMoGoAiCloudIdentifyDataListener @@ -37,7 +39,7 @@ import com.mogo.eagle.core.function.call.map.CallerMapIdentifyManager import com.mogo.eagle.core.function.call.map.CallerMapRomaListener import com.mogo.eagle.core.function.call.map.CallerMapRomaListener.invokeRomaViewStatus import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager -import com.mogo.eagle.core.function.call.map.CallerVisualAngleManager.updateLongSightLevel +import com.mogo.eagle.core.function.call.map.CallerVisualAngleManager import com.mogo.eagle.core.function.utils.MapRomaTrace import com.mogo.eagle.core.function.utils.MapRomaTrace.Companion.getCurrentCNode import com.mogo.eagle.core.utilcode.util.ToastUtils @@ -153,7 +155,8 @@ class RomaManager() : IMoGoPlanningRottingListener, CallerMapIdentifyManager.updateRoam(TAG, true) CallerMapUIServiceManager.getMapUIController()?.visualAngleLock(true) CallerMapUIServiceManager.getMapUIController()?.setScrollGesturesEnable(false) - updateLongSightLevel(true) +// updateLongSightLevel(true) + CallerVisualAngleManager.changeScene(Roma(0)) requestRangeOfIdentify(true) } @@ -161,7 +164,8 @@ class RomaManager() : IMoGoPlanningRottingListener, private fun closeRoma(manual: Boolean = true) { CallerMapUIServiceManager.getMapUIController()?.visualAngleLock(false) CallerMapUIServiceManager.getMapUIController()?.setScrollGesturesEnable(true) - updateLongSightLevel(false) +// updateLongSightLevel(false) + CallerVisualAngleManager.changeScene(Default(0)) requestRangeOfIdentify(false) MapIdentifySubscriber.instance.clearAiCloudRoma() // 主动关闭roma,回到中景视角 @@ -219,7 +223,8 @@ class RomaManager() : IMoGoPlanningRottingListener, "endRange" to END_METRE ), true ) - updateLongSightLevel(false) +// updateLongSightLevel(false) + CallerVisualAngleManager.changeScene(Default(0)) CallerMapRomaListener.invokeMapRoma(false) CallerMapIdentifyManager.updateRoam("", false) if (DebugConfig.isDebug()) { diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/angle/IMoGoVisualAngleChangeProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/angle/IMoGoVisualAngleChangeProvider.kt index eaf2e36e35..2f7fafbbea 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/angle/IMoGoVisualAngleChangeProvider.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/angle/IMoGoVisualAngleChangeProvider.kt @@ -4,8 +4,6 @@ import com.alibaba.android.arouter.facade.template.IProvider interface IMoGoVisualAngleChangeProvider: IProvider { - fun updateLongSightLevel(level: Boolean) - fun changeScene(scene: Scene) fun getCurrentScene(): Scene diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerVisualAngleManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerVisualAngleManager.kt index 6d261c9689..84b5b4ea50 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerVisualAngleManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerVisualAngleManager.kt @@ -6,7 +6,6 @@ import com.mogo.eagle.core.data.constants.* import com.mogo.eagle.core.function.api.map.angle.* import com.mogo.eagle.core.function.api.map.angle.IMoGoVisualAngleChangeProvider.OnMoGoVisualAngleSceneChangeListener - /** * 高精地图视角管理类,根据业务需要,以业务回调/直接调用地图 ,对地图进行改变 */ @@ -30,10 +29,6 @@ object CallerVisualAngleManager { return provider?.getCurrentScene() ?: throw AssertionError() } - fun updateLongSightLevel(level: Boolean) { - provider?.updateLongSightLevel(level) - } - fun addListener(tag: String, listener: OnMoGoVisualAngleSceneChangeListener) { provider?.addListener(tag, listener) }