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:
@@ -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()))
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -58,7 +58,6 @@ class V2NTest {
|
||||
if (millis > 0) {
|
||||
delay(millis)
|
||||
}
|
||||
// FunctionBuildConfig.v2nNewLinked = true
|
||||
FunctionBuildConfig.v2nTotalSwitch = true
|
||||
runCatching {
|
||||
val map = HashMap<String, Boolean>().also {
|
||||
|
||||
@@ -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' }
|
||||
|
||||
@@ -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)) {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -335,6 +335,7 @@ class TravelRealityView @JvmOverloads constructor(
|
||||
}
|
||||
|
||||
fun swapSettings() {
|
||||
Log.d(TAG, "swapSettings")
|
||||
if (isSmallMap) {
|
||||
Message.obtain().apply {
|
||||
what = CLEAR_ALL_DATA
|
||||
|
||||
@@ -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
|
||||
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
);
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user