Merge branch 'refs/heads/dev_robotaxi-d_240912_6.7.0' into dev_robotaxi-d_240912_6.7.2_local

This commit is contained in:
donghongyu-pc
2024-10-18 10:36:42 +08:00
12 changed files with 120 additions and 42 deletions

View File

@@ -79,8 +79,11 @@ object LineManager : CallerBase<ILineCallback>() {
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()))
}
}

View File

@@ -58,7 +58,6 @@ class V2NTest {
if (millis > 0) {
delay(millis)
}
// FunctionBuildConfig.v2nNewLinked = true
FunctionBuildConfig.v2nTotalSwitch = true
runCatching {
val map = HashMap<String, Boolean>().also {

View File

@@ -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' }

View File

@@ -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)) {

View File

@@ -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 {

View File

@@ -335,6 +335,7 @@ class TravelRealityView @JvmOverloads constructor(
}
fun swapSettings() {
Log.d(TAG, "swapSettings")
if (isSmallMap) {
Message.obtain().apply {
what = CLEAR_ALL_DATA

View File

@@ -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.chuzucheR.raw.xiaobacheR.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
}

View File

@@ -831,7 +831,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
}

View File

@@ -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
);

View File

@@ -83,7 +83,7 @@ MOGO_TELEMATIC_VERSION=1.4.7.42
MOGO_SKIN_VERSION=1.4.7.48
######## 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

View File

@@ -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)
}
}
}

View File

@@ -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) {