From d04ccd789c30faf88eee202c20ff9b3f371bd7a3 Mon Sep 17 00:00:00 2001 From: renwj Date: Mon, 22 Jul 2024 20:38:21 +0800 Subject: [PATCH] =?UTF-8?q?[6.5.0][=E8=A7=86=E8=A7=92=E5=88=87=E6=8D=A2]?= =?UTF-8?q?=20=E5=A2=9E=E5=8A=A0=E6=BC=AB=E6=B8=B8=E8=A7=86=E8=A7=92?= =?UTF-8?q?=E5=9C=BA=E6=99=AF=EF=BC=8C=E8=A7=A3=E5=86=B3=E8=A7=86=E8=A7=92?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E5=BC=80=E5=85=B3=E4=B8=8D=E7=94=9F=E6=95=88?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../angle/MoGoVisualAngleChangeProvider.kt | 15 +++-------- .../core/function/angle/scenes/CrossRoad.kt | 1 - .../eagle/core/function/angle/scenes/Roma.kt | 25 +++++++++++++++++++ .../core/function/business/ai/RomaManager.kt | 13 +++++++--- .../angle/IMoGoVisualAngleChangeProvider.kt | 2 -- .../call/map/CallerVisualAngleManager.kt | 5 ---- 6 files changed, 38 insertions(+), 23 deletions(-) create mode 100644 core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/scenes/Roma.kt 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) }