From 11426a743aee2fed1753ed9c9f1f88fbd641843d Mon Sep 17 00:00:00 2001 From: yangyakun Date: Thu, 17 Oct 2024 18:58:03 +0800 Subject: [PATCH 1/3] =?UTF-8?q?[6.7.0]=20[fea]=20[=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E7=AB=99=E7=82=B9]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../och/common/module/manager/autopilot/line/LineManager.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/line/LineManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/line/LineManager.kt index 09a57f03ac..95330857d3 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/line/LineManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/autopilot/line/LineManager.kt @@ -79,8 +79,11 @@ object LineManager : CallerBase() { private var autopilotId: String by Delegates.observable("") { _, oldValue, newValue -> if (oldValue != newValue) { CallerEagleBaseFunctionCall4OchManager.setOchAutopilotOrderId(newValue) - getStations { start, end -> + val (start, end) = getStations() + if(start!=null&&end!=null){ CallerDataCenterBizListener.invokeOchInfo(OchInfo(0, mutableListOf(start.toMogoLocation(),end.toMogoLocation()))) + }else{ + CallerDataCenterBizListener.invokeOchInfo(OchInfo(0, mutableListOf())) } } From 3ba92ea9d62c7b5755514057c17d48dec2b822b4 Mon Sep 17 00:00:00 2001 From: chenfufeng Date: Thu, 17 Oct 2024 19:16:23 +0800 Subject: [PATCH 2/3] =?UTF-8?q?[6.7.0][Fix]=E8=A7=A3=E5=86=B3=E5=8F=B3?= =?UTF-8?q?=E4=B8=8B=E8=A7=92=E9=AB=98=E5=BE=B7=E5=9C=B0=E5=9B=BE=E6=B6=88?= =?UTF-8?q?=E5=A4=B1=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../function/hmi/map/MapContainerLayout.kt | 80 ++++++++++++------- .../core/function/view/TravelRealityView.kt | 1 + 2 files changed, 50 insertions(+), 31 deletions(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/map/MapContainerLayout.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/map/MapContainerLayout.kt index 48e9dd35d8..8bc10393e2 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/map/MapContainerLayout.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/map/MapContainerLayout.kt @@ -7,6 +7,7 @@ import android.animation.ValueAnimator import android.content.Context import android.os.Bundle import android.util.AttributeSet +import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.animation.AccelerateDecelerateInterpolator @@ -42,7 +43,9 @@ class MapContainerLayout @JvmOverloads constructor( private var maxMarginStart = 0 private var maxMarginTop = 0 - private var valueAnimator: ValueAnimator? = null + private var zoomInAnimator: ValueAnimator? = null + private var zoomOutAnimator: ValueAnimator? = null + private val evaluator = IntEvaluator() init { LayoutInflater.from(context).inflate(R.layout.view_map_container, this, true) @@ -111,12 +114,17 @@ class MapContainerLayout @JvmOverloads constructor( override fun onDetachedFromWindow() { super.onDetachedFromWindow() MogoMapListenerHandler.mogoMapListenerHandler.unregisterHostMapListener("${TAG}${this.hashCode()}") - valueAnimator?.removeAllListeners() + CallerDataCenterBizListener.removeListener("${TAG}${this.hashCode()}") + zoomInAnimator?.removeListener(listenerAdapter) + zoomOutAnimator?.removeListener(listenerAdapter) + zoomInAnimator = null + zoomOutAnimator = null } private fun initView() { shadowView.setOnClickListener(object : OnPreventFastClickListener() { override fun onClickImpl(v: View?) { + Log.d(TAG, "点击了shadowView按钮!") scaleMapWithAnim() } }) @@ -136,48 +144,55 @@ class MapContainerLayout @JvmOverloads constructor( } private fun scaleMapWithAnim() { - if (isPlayingAnim) return + if (isPlayingAnim) { + Log.d(TAG, "动画执行中,直接return") + return + } + Log.d(TAG, "scaleMapWithAnim") if (mapMaxWidth == 0 && maxMarginStart == 0 && !isScaled) { calculate() } if (!isScaled) { - valueAnimator = ValueAnimator.ofInt(mapMinWidth, mapMaxWidth) - val evaluator = IntEvaluator() - valueAnimator?.addUpdateListener { - overMapView.layoutParams = - (overMapView.layoutParams as LayoutParams).also { layoutParams -> - layoutParams.width = it.animatedValue as Int - layoutParams.height = evaluator.evaluate(it.animatedFraction, mapMinHeight, mapMaxHeight) - layoutParams.leftMargin = evaluator.evaluate(it.animatedFraction, maxMarginStart, 0) - layoutParams.topMargin = evaluator.evaluate(it.animatedFraction, maxMarginTop, 0) - } + if (zoomInAnimator == null) { + zoomInAnimator = ValueAnimator.ofInt(mapMinWidth, mapMaxWidth) + zoomInAnimator?.addUpdateListener { + overMapView.layoutParams = + (overMapView.layoutParams as LayoutParams).also { layoutParams -> + layoutParams.width = it.animatedValue as Int + layoutParams.height = evaluator.evaluate(it.animatedFraction, mapMinHeight, mapMaxHeight) + layoutParams.leftMargin = evaluator.evaluate(it.animatedFraction, maxMarginStart, 0) + layoutParams.topMargin = evaluator.evaluate(it.animatedFraction, maxMarginTop, 0) + } + } + zoomInAnimator?.interpolator = AccelerateDecelerateInterpolator() + zoomInAnimator?.addListener(listenerAdapter) + zoomInAnimator?.duration = 400 } - valueAnimator?.interpolator = AccelerateDecelerateInterpolator() - valueAnimator?.addListener(listenerAdapter) - valueAnimator?.duration = 400 - valueAnimator?.start() + zoomInAnimator?.start() } else { - valueAnimator = ValueAnimator.ofInt(mapMaxWidth, mapMinWidth) - val evaluator = IntEvaluator() - valueAnimator?.addUpdateListener { - overMapView.layoutParams = - (overMapView.layoutParams as LayoutParams).also { layoutParams -> - layoutParams.width = it.animatedValue as Int - layoutParams.height = evaluator.evaluate(it.animatedFraction, mapMaxHeight, mapMinHeight) - layoutParams.leftMargin = evaluator.evaluate(it.animatedFraction, 0, maxMarginStart) - layoutParams.topMargin = evaluator.evaluate(it.animatedFraction, 0, maxMarginTop) - } + if (zoomOutAnimator == null) { + zoomOutAnimator = ValueAnimator.ofInt(mapMaxWidth, mapMinWidth) + zoomOutAnimator?.addUpdateListener { + overMapView.layoutParams = + (overMapView.layoutParams as LayoutParams).also { layoutParams -> + layoutParams.width = it.animatedValue as Int + layoutParams.height = evaluator.evaluate(it.animatedFraction, mapMaxHeight, mapMinHeight) + layoutParams.leftMargin = evaluator.evaluate(it.animatedFraction, 0, maxMarginStart) + layoutParams.topMargin = evaluator.evaluate(it.animatedFraction, 0, maxMarginTop) + } + } + zoomOutAnimator?.interpolator = AccelerateDecelerateInterpolator() + zoomOutAnimator?.addListener(listenerAdapter) + zoomOutAnimator?.duration = 400 } - valueAnimator?.interpolator = AccelerateDecelerateInterpolator() - valueAnimator?.addListener(listenerAdapter) - valueAnimator?.duration = 400 - valueAnimator?.start() + zoomOutAnimator?.start() } } private val listenerAdapter = object : AnimatorListenerAdapter() { override fun onAnimationStart(animation: Animator) { super.onAnimationStart(animation) + Log.d(TAG, "onAnimationStart") isPlayingAnim = true overMapView.setIsPlaying(true) overMapView.setMapFlag(isScaled) @@ -185,6 +200,7 @@ class MapContainerLayout @JvmOverloads constructor( override fun onAnimationCancel(animation: Animator) { super.onAnimationCancel(animation) + Log.d(TAG, "onAnimationCancel") isPlayingAnim = false overMapView.setIsPlaying(false) overMapView.swapSettings() @@ -200,6 +216,7 @@ class MapContainerLayout @JvmOverloads constructor( override fun onAnimationEnd(animation: Animator) { super.onAnimationEnd(animation) + Log.d(TAG, "onAnimationEnd") isPlayingAnim = false overMapView.setIsPlaying(false) overMapView.swapSettings() @@ -215,6 +232,7 @@ class MapContainerLayout @JvmOverloads constructor( } private fun updateShadowBg(isSmallMap: Boolean) { + Log.d(TAG, "updateShadowBg") if (!isSmallMap) { shadowView.setBackgroundResource(R.drawable.gaojing_bg) } else { diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/TravelRealityView.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/TravelRealityView.kt index b18f4b5686..b2b16c999f 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/TravelRealityView.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/TravelRealityView.kt @@ -335,6 +335,7 @@ class TravelRealityView @JvmOverloads constructor( } fun swapSettings() { + Log.d(TAG, "swapSettings") if (isSmallMap) { Message.obtain().apply { what = CLEAR_ALL_DATA From 0a1104e48fcd6226b80d4f8733478e80f8167f8b Mon Sep 17 00:00:00 2001 From: renwj Date: Thu, 17 Oct 2024 19:38:51 +0800 Subject: [PATCH 3/3] =?UTF-8?q?[6.7.0][UI=E8=B5=B0=E6=9F=A5]=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E4=B9=98=E5=AE=A2=E5=B1=8F=E9=81=97=E7=95=99=E9=83=A8?= =?UTF-8?q?=E5=88=86UI=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mogo/functions/test/V2NTest.kt | 1 - build.gradle | 1 - .../v2n/scenario/scene/airoad/AiRoadMarker.kt | 2 +- .../core/data/config/HdMapBuildConfig.kt | 16 ++++++-- .../eagle/core/data/enums/EventTypeEnumNew.kt | 2 +- .../eagle/core/data/enums/TrafficTypeEnum.kt | 8 ++++ gradle.properties | 2 +- .../main/java/com/mogo/map/MogoAutoView.kt | 40 +++++++++++++++++++ .../src/main/java/com/mogo/map/MogoMapView.kt | 4 +- 9 files changed, 66 insertions(+), 10 deletions(-) create mode 100644 libraries/mogo-map/src/main/java/com/mogo/map/MogoAutoView.kt diff --git a/app/src/androidTest/java/com/mogo/functions/test/V2NTest.kt b/app/src/androidTest/java/com/mogo/functions/test/V2NTest.kt index 2d8d811713..32f1ad3a4a 100644 --- a/app/src/androidTest/java/com/mogo/functions/test/V2NTest.kt +++ b/app/src/androidTest/java/com/mogo/functions/test/V2NTest.kt @@ -58,7 +58,6 @@ class V2NTest { if (millis > 0) { delay(millis) } -// FunctionBuildConfig.v2nNewLinked = true FunctionBuildConfig.v2nTotalSwitch = true runCatching { val map = HashMap().also { diff --git a/build.gradle b/build.gradle index 4b5751b6ab..4f65df0298 100644 --- a/build.gradle +++ b/build.gradle @@ -6,7 +6,6 @@ buildscript { apply from: rootProject.file('gradle/ext.gradle') repositories { mavenLocal() - maven { url 'https://nexus.zhidaoauto.com/repository/maven-snapshot/' } maven { url 'https://nexus.zhidaoauto.com/repository/maven-releases/' } maven { url 'https://nexus.zhidaoauto.com/repository/maven-public/' } maven { url 'https://storage.zego.im/maven' } diff --git a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/scenario/scene/airoad/AiRoadMarker.kt b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/scenario/scene/airoad/AiRoadMarker.kt index dccaa74662..884ca3cce3 100644 --- a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/scenario/scene/airoad/AiRoadMarker.kt +++ b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/scenario/scene/airoad/AiRoadMarker.kt @@ -114,7 +114,7 @@ class AiRoadMarker { .longitude(marker.poi_lon) .latitude(marker.poi_lat) if (marker.poiType == EventTypeEnumNew.TYPE_SOCKET_ROAD_PEOPLE_CROSS.poiType) { - builder.anchorColor("#FFBF10") + builder.anchorColor("#FFBF10CC") } CallerMapUIServiceManager.getOverlayManager()?.showOrUpdatePoint(builder.build())?.let { p -> if (!markerIds.contains(markerId)) { diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/HdMapBuildConfig.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/HdMapBuildConfig.kt index 1b772b1279..6a5461673c 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/HdMapBuildConfig.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/HdMapBuildConfig.kt @@ -1,6 +1,8 @@ package com.mogo.eagle.core.data.config import com.mogo.eagle.core.data.R +import com.mogo.eagle.core.data.enums.Carmodel +import kotlin.properties.Delegates /** * @author xiaoyuzhou @@ -12,9 +14,9 @@ object HdMapBuildConfig { * 自车模型(默认是出租车) * 可以指定,R.raw.chuzuche,R.raw.xiaobache,R.raw.hongqi */ - @Volatile - @JvmField - var currentCarVrIconRes = R.raw.hq_h9 + var currentCarVrIconRes by Delegates.observable(R.raw.hq_h9) { _, _, newValue -> + carModel = Carmodel.values().find { it.resId == newValue } + } /** * 地图 DEFAULT 是否加载成功 @@ -24,4 +26,12 @@ object HdMapBuildConfig { @JvmField var isMapLoaded = false + + /** + * 表示当前车机数据实体 + */ + @Volatile + @JvmField + var carModel: Carmodel? = null + } \ No newline at end of file diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt index f5532c8991..7e084ce7b3 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt @@ -830,7 +830,7 @@ enum class EventTypeEnumNew( } } TYPE_SOCKET_ROAD_CONGESTION.poiType -> R.raw.v2x_yongdu - TYPE_SOCKET_ROAD_PEOPLE_CROSS.poiType -> if (FunctionBuildConfig.skinMode != 0) TrafficTypeEnum.TYPE_TRAFFIC_ID_PEOPLE.traffic3DIconId else TrafficTypeEnum.TYPE_TRAFFIC_ID_PEOPLE.traffic3DNightIconId + TYPE_SOCKET_ROAD_PEOPLE_CROSS.poiType -> if (FunctionBuildConfig.skinMode != 0) TrafficTypeEnum.TYPE_TRAFFIC_ID_PEOPLE_CROSS.traffic3DIconId else TrafficTypeEnum.TYPE_TRAFFIC_ID_PEOPLE_CROSS.traffic3DNightIconId TYPE_SOCKET_ROAD_OTHER_RETROGRADE_VEHICLE.poiType -> if (FunctionBuildConfig.skinMode != 0) TrafficTypeEnum.TYPE_TRAFFIC_ID_TA_CHE_RETROGRADE.traffic3DIconId else TrafficTypeEnum.TYPE_TRAFFIC_ID_TA_CHE_RETROGRADE.traffic3DNightIconId else -> 0 } diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/TrafficTypeEnum.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/TrafficTypeEnum.kt index b3627550e7..5994672fa6 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/TrafficTypeEnum.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/TrafficTypeEnum.kt @@ -129,6 +129,14 @@ enum class TrafficTypeEnum( R.raw.traffic_tachexiaoche_retrograde, R.raw.traffic_tachexiaoche_retrograde, R.raw.traffic_tachexiaoche_retrograde + ), + + TYPE_TRAFFIC_ID_PEOPLE_CROSS( + 100064, + "行人横穿", + R.raw.xingren, + R.raw.xingren, + R.raw.xingren ); diff --git a/gradle.properties b/gradle.properties index 8f45f13177..8dd6c03253 100644 --- a/gradle.properties +++ b/gradle.properties @@ -81,7 +81,7 @@ MOGO_LOCATION_VERSION=1.4.7.42 MOGO_TELEMATIC_VERSION=1.4.7.42 ######## MogoAiCloudSDK Version ######## # 自研地图 -MAP_SDK_VERSION=3.4.1.13_alpha_7 +MAP_SDK_VERSION=3.4.1.13_alpha_8 MAP_SDK_DATA_VERSION=1.0.0.9 MAP_SDK_OPERATION_VERSION=1.1.4.1 # websocket diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/MogoAutoView.kt b/libraries/mogo-map/src/main/java/com/mogo/map/MogoAutoView.kt new file mode 100644 index 0000000000..56ecb7857c --- /dev/null +++ b/libraries/mogo-map/src/main/java/com/mogo/map/MogoAutoView.kt @@ -0,0 +1,40 @@ +package com.mogo.map + +import android.content.Context +import android.util.AttributeSet +import com.mogo.eagle.core.data.config.HdMapBuildConfig +import com.mogo.eagle.core.data.enums.Carmodel.T2 +import com.mogo.eagle.core.utilcode.mogo.logger.Logger +import com.zhidaoauto.map.sdk.inner.abs.IMapController +import com.zhidaoauto.map.sdk.inner.abs.IMarkerController +import com.zhidaoauto.map.sdk.open.abs.view.IMapStyleParams +import com.zhidaoauto.map.sdk.open.renders.marker.Marker +import com.zhidaoauto.map.sdk.open.renders.marker.MarkerOptions +import com.zhidaoauto.map.sdk.open.view.MapAutoView + +class MoGoAutoView: MapAutoView { + + companion object { + private const val TAG = "MoGoAutoView" + } + + constructor(context: Context) : super(context) + constructor(context: Context, mapStyleParams: IMapStyleParams) : super(context, mapStyleParams) + constructor(context: Context, attrs: AttributeSet?) : super(context, attrs) + constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr) + + override fun getMarkerController(mapController: IMapController): IMarkerController { + return MarkerControllerWrapper(super.getMarkerController(mapController)) + } + + private class MarkerControllerWrapper(private val controller: IMarkerController): IMarkerController by controller { + + override fun addSelfCar(markerOptions: MarkerOptions): Marker? { + Logger.d(TAG, "addSelfCar-> ${HdMapBuildConfig.carModel}") + if (HdMapBuildConfig.carModel == T2) { + markerOptions.scale = 1.05f + } + return controller.addSelfCar(markerOptions) + } + } +} \ No newline at end of file diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapView.kt b/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapView.kt index ff227c23ef..6b7794403b 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapView.kt +++ b/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapView.kt @@ -31,9 +31,9 @@ open class MogoMapView : MogoBaseMapView, ILifeCycle { override fun addMapView(context: Context, attrs: AttributeSet) { if (mapAutoView == null) { mapAutoView = if (styleParams == null) { - MapAutoView(context, attrs) + MoGoAutoView(context, attrs) } else { - MapAutoView(context, styleParams!!) + MoGoAutoView(context, styleParams!!) } } if (mMapView == null) {