diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt index 4a09bd0a37..55986b65a6 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt @@ -6,6 +6,7 @@ import android.content.Context import android.view.View import android.view.ViewGroup import com.alibaba.android.arouter.facade.annotation.Route +import com.alibaba.android.arouter.launcher.ARouter import com.mogo.commons.AbsMogoApplication import com.mogo.commons.debug.DebugConfig import com.mogo.eagle.core.data.EnvConfig @@ -26,6 +27,7 @@ import com.mogo.eagle.core.function.api.devatools.logcat.* import com.mogo.eagle.core.function.api.devatools.mofang.* import com.mogo.eagle.core.function.api.devatools.perf.IMoGoCpuUsageProvider import com.mogo.eagle.core.function.api.lookaround.* +import com.mogo.eagle.core.function.api.map.route.IMapRouteProvider import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.w import com.tencent.matrix.Matrix @@ -112,6 +114,10 @@ class DevaToolsProvider : IDevaToolsProvider, IAppStateListener { private val downloadCallbacks by lazy { ConcurrentHashMap Unit>>() } private val startAutopilotCallbacks by lazy { ConcurrentHashMap Unit>>() } + private val mapRouteProvider by lazy { + ARouter.getInstance().build(MogoServicePaths.PATH_MAP_ROUTE_GUIDE).navigation() as? IMapRouteProvider + } + @Volatile private var lastCanAutopilotStatus: Int? = null @@ -607,4 +613,8 @@ class DevaToolsProvider : IDevaToolsProvider, IAppStateListener { override fun unRegisterStartAutopilotStateListener(tag: String) { startAutopilotCallbacks.remove(tag) } + + override fun setRouteDynamicColorEnable(enable: Boolean) { + mapRouteProvider?.setRouteDynamicColorEnable(enable) + } } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt index df1965b8e1..5d16671ddc 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt @@ -1378,6 +1378,7 @@ internal class DebugSettingView @JvmOverloads constructor( tbRouteDynamicEffect.isChecked = HmiBuildConfig.isShowRouteStrategy tbRouteDynamicEffect.setOnCheckedChangeListener { _, isChecked -> HmiBuildConfig.isShowRouteStrategy = isChecked + CallerDevaToolsManager.setRouteDynamicColorEnable(isChecked) } btnThresholdDefine.setOnClickListener { diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt index 368e2d6a61..fe673db706 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt @@ -419,6 +419,7 @@ internal class SOPSettingView @JvmOverloads constructor( scRouteDynamicEffect.setOnCheckedChangeListener { _, isChecked -> hmiAction("SOP 引导线动态效果, ", isChecked) HmiBuildConfig.isShowRouteStrategy = isChecked + CallerDevaToolsManager.setRouteDynamicColorEnable(isChecked) } //点云效果 diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/routeoverlay/MapRouteProviderImpl.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/routeoverlay/MapRouteProviderImpl.kt new file mode 100644 index 0000000000..65b9d4a0a6 --- /dev/null +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/routeoverlay/MapRouteProviderImpl.kt @@ -0,0 +1,16 @@ +package com.mogo.eagle.core.function.business.routeoverlay + +import android.content.Context +import com.alibaba.android.arouter.facade.annotation.Route +import com.mogo.eagle.core.data.constants.MogoServicePaths +import com.mogo.eagle.core.function.api.map.route.IMapRouteProvider + +@Route(path = MogoServicePaths.PATH_MAP_ROUTE_GUIDE) +class MapRouteProviderImpl: IMapRouteProvider { + + override fun setRouteDynamicColorEnable(enable: Boolean) { + RouteStrategy.isEnable = enable + } + + override fun init(context: Context?) { } +} \ 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/routeoverlay/RouteStrategy.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/routeoverlay/RouteStrategy.kt index 842b39524f..39fe240313 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/routeoverlay/RouteStrategy.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/routeoverlay/RouteStrategy.kt @@ -3,13 +3,11 @@ package com.mogo.eagle.core.function.business.routeoverlay import android.animation.ArgbEvaluator import android.graphics.Color import android.view.animation.AccelerateInterpolator -import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.config.HmiBuildConfig import com.mogo.eagle.core.function.business.routeoverlay.Colors.Companion.COLOR_BLUE import com.mogo.eagle.core.function.business.routeoverlay.Colors.Companion.COLOR_BLUE_DARK import com.mogo.eagle.core.function.business.routeoverlay.Colors.Companion.COLOR_RED_DARK import com.mogo.eagle.core.function.business.routeoverlay.Colors.Companion.COLOR_TRANSPARENT -import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import java.util.* import kotlin.properties.Delegates @@ -42,7 +40,7 @@ class ColorfulStrategy(private val colors: List = emptyList(), var isLightO object RouteStrategy { - private var isEnable by Delegates.observable(HmiBuildConfig.isShowRouteStrategy) { _, _, newValue -> + internal var isEnable by Delegates.observable(HmiBuildConfig.isShowRouteStrategy) { _, _, newValue -> if (!newValue) { strategy = null colors.clear() diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/constants/MogoServicePaths.java b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/constants/MogoServicePaths.java index 126a82ee37..d36c741b56 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/constants/MogoServicePaths.java +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/constants/MogoServicePaths.java @@ -106,6 +106,9 @@ public class MogoServicePaths { @Keep public static final String PATH_MAP_GLOBAL_TRAJECTORY = "/map/global_trajectory"; + @Keep + public static final String PATH_MAP_ROUTE_GUIDE = "/map/route_guide"; + @Keep public static final String PATH_PATCH_UPGRADE = "/patch/api"; diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IDevaToolsProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IDevaToolsProvider.kt index 1f3ee351ff..6c6d2f9a3f 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IDevaToolsProvider.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IDevaToolsProvider.kt @@ -316,4 +316,9 @@ interface IDevaToolsProvider : IProvider { fun registerStartAutopilotStateListener(tag: String, block: (isCanStartAutopilot: Boolean) -> Unit) fun unRegisterStartAutopilotStateListener(tag: String) + + /** + * 是否开启引导线动效 + */ + fun setRouteDynamicColorEnable(enable: Boolean) } \ No newline at end of file diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/route/IMapRouteProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/route/IMapRouteProvider.kt new file mode 100644 index 0000000000..da8fb8ece1 --- /dev/null +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/route/IMapRouteProvider.kt @@ -0,0 +1,8 @@ +package com.mogo.eagle.core.function.api.map.route + +import com.alibaba.android.arouter.facade.template.IProvider + +interface IMapRouteProvider: IProvider { + + fun setRouteDynamicColorEnable(enable: Boolean) +} \ No newline at end of file diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt index 424674c88e..483d032529 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt @@ -396,4 +396,8 @@ object CallerDevaToolsManager { fun unRegisterStartAutopilotStateListener(tag: String) { devaToolsProviderApi?.unRegisterStartAutopilotStateListener(tag) } + + fun setRouteDynamicColorEnable(enable: Boolean) { + devaToolsProviderApi?.setRouteDynamicColorEnable(enable) + } } \ No newline at end of file