From 5d0c8a8b7fdd4758a37ca5c9654468527fb16a15 Mon Sep 17 00:00:00 2001 From: chenfufeng Date: Tue, 8 Aug 2023 10:15:01 +0800 Subject: [PATCH 1/7] =?UTF-8?q?[3.4.0][Opt]=E5=8D=87=E7=BA=A7=E9=AB=98?= =?UTF-8?q?=E7=B2=BE=E5=9C=B0=E5=9B=BE=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 57733a4e4a..69a916afe0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -85,7 +85,7 @@ MOGO_LOCATION_VERSION=1.4.7.12 MOGO_TELEMATIC_VERSION=1.4.7.12 ######## MogoAiCloudSDK Version ######## # 自研地图 -MAP_SDK_VERSION=2.14.1.5 +MAP_SDK_VERSION=2.14.2.8 MAP_SDK_OPERATION_VERSION=1.1.4.1 # websocket WEBSOCKET_VERSION=1.1.7 From 79497fa01e5befad017a242c3d0e6be8f7e98bf9 Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Tue, 8 Aug 2023 11:18:16 +0800 Subject: [PATCH 2/7] =?UTF-8?q?[3.4.0]=E5=A2=9E=E5=8A=A0=E6=94=B6=E5=88=B0?= =?UTF-8?q?V2V=E3=80=81V2I=E6=B6=88=E6=81=AF=E7=9A=84=E5=9F=8B=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biz/v2x/obu/V2xObuEventManager.kt | 2 ++ .../v2x/v2n/utils/V2XEventAnalyticsManager.kt | 25 ++++++++++++++++++- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/obu/V2xObuEventManager.kt b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/obu/V2xObuEventManager.kt index 7ceb44179f..8dd062988f 100644 --- a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/obu/V2xObuEventManager.kt +++ b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/obu/V2xObuEventManager.kt @@ -40,6 +40,8 @@ object V2xObuEventManager : IMoGoObuSaveMessageListener { */ override fun onMoGoObuSaveMessage(type: String, content: String, tts: String, sourceType: DataSourceType,communicationType: CommunicationType) { if (content.isNotEmpty()) { + //消息埋点 + V2XEventAnalyticsManager.receiveV2XEvent(type,content,tts,sourceType,communicationType) if (obuDataMap.containsKey(type)) { val oldTime = obuDataMap[type] oldTime?.let { diff --git a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/utils/V2XEventAnalyticsManager.kt b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/utils/V2XEventAnalyticsManager.kt index c762d1a419..419280320a 100644 --- a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/utils/V2XEventAnalyticsManager.kt +++ b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/utils/V2XEventAnalyticsManager.kt @@ -22,6 +22,7 @@ object V2XEventAnalyticsManager: IMoGoChassisLocationWGS84Listener,IFuncBizProvi private const val TAG = "V2XEventAnalyticsManager" private val hasInit by lazy { AtomicBoolean(false) } + private const val EVENT_KEY_RECEIVE_V2X_MSG ="event_key_receive_v2x_msg" //鹰眼接收到的V2X事件埋点关键字 private const val EVENT_KEY_V2X_MSG_EVENT = "event_key_v2x_msg_event" //消息盒子播报V2X事件埋点关键字 private const val EVENT_PARAMS_POI_TYPE = "poiType" //事件类型 @@ -71,7 +72,29 @@ object V2XEventAnalyticsManager: IMoGoChassisLocationWGS84Listener,IFuncBizProvi } /** - * 触发V2X消息埋点 + * 收到V2X消息埋点(鹰眼收到事件) + */ + fun receiveV2XEvent(poiType: String,content: String?,ttsContent: String?, + dataSource: DataSourceType,communicationType: CommunicationType){ + val msgEventParams = HashMap() + msgEventParams[EVENT_PARAMS_POI_TYPE] = poiType //事件类型 + msgEventParams[EVENT_PARAMS_CONTENT] = content?:"" //事件内容 + msgEventParams[EVENT_PARAMS_TTS_CONTENT] = ttsContent?:"" //语音播报内容 + msgEventParams[EVENT_PARAMS_DISPLAY_TIME] = DateTimeUtils.getTimeText( + System.currentTimeMillis(), DateTimeUtils.yyyy_MM_dd_HH_mm_ss) //展示时间 + msgEventParams[EVENT_PARAMS_DATA_SOURCE] = dataSource.name //数据来源 + msgEventParams[EVENT_PARAMS_COMMUNICATION_TYPE] = communicationType.name //通信类型 + msgEventParams[EVENT_PARAMS_PLATE_NUMBER] = AppConfigInfo.plateNumber //车牌号 + msgEventParams[EVENT_PARAMS_CAR_SN] = MoGoAiCloudClientConfig.getInstance().sn //鹰眼SN + msgEventParams[EVENT_PARAMS_EYE_VERSION] = AppUtils.getAppVersionName() //鹰眼版本 + msgEventParams[EVENT_PARAMS_LONGITUDE] = "$longitude" //经度 + msgEventParams[EVENT_PARAMS_LATITUDE] = "$latitude" //纬度 + msgEventParams[EVENT_PARAMS_HEADING] = "$heading" //航向角 + MogoAnalyticUtils.track(EVENT_KEY_RECEIVE_V2X_MSG,msgEventParams) + } + + /** + * 触发V2X消息埋点(播报事件) */ fun triggerV2XEvent(poiType: String,content: String?,ttsContent: String?, dataSource: DataSourceType,communicationType: CommunicationType){ From 755cbb9834896d4ae706f17742dec275d5a082f1 Mon Sep 17 00:00:00 2001 From: zhongchao Date: Tue, 8 Aug 2023 14:30:19 +0800 Subject: [PATCH 3/7] [3.4.0] close the map log --- app/src/main/java/com/mogo/launcher/startup/ConfigStartUp.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/mogo/launcher/startup/ConfigStartUp.kt b/app/src/main/java/com/mogo/launcher/startup/ConfigStartUp.kt index abe0711de5..d4123ac154 100644 --- a/app/src/main/java/com/mogo/launcher/startup/ConfigStartUp.kt +++ b/app/src/main/java/com/mogo/launcher/startup/ConfigStartUp.kt @@ -132,7 +132,7 @@ object ConfigStartUp { } val mapParams = MapParams.init() - mapParams.setDebugMode(DebugConfig.isDebug()) // 1-使用本地地图数据,0-使用在线地图数据 + mapParams.setDebugMode(false) // 1-使用本地地图数据,0-使用在线地图数据 //.setDataFileSource(1) .setIsRecordLogs(false) .setIsWeatherEnable(false) From ce232e3eeecbbfcc204ad3a17f36d95db3a295cf Mon Sep 17 00:00:00 2001 From: zhongchao Date: Tue, 8 Aug 2023 15:53:28 +0800 Subject: [PATCH 4/7] [3.4.0] fix bug of small map --- .../java/com/mogo/eagle/core/function/smp/view/SmallMapView.kt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/view/SmallMapView.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/view/SmallMapView.kt index fa6fa59c1d..be0d0053d7 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/view/SmallMapView.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/view/SmallMapView.kt @@ -325,6 +325,9 @@ class SmallMapView @JvmOverloads constructor( super.onAutopilotRouteLineId(lineId) if(lineId == 0L){ this.globalPathResp = null + UiThreadHandler.post { + clearPolyline() + } } } From 4808778f1a98260084c2a9a12042129541b1e9fe Mon Sep 17 00:00:00 2001 From: renwj Date: Tue, 8 Aug 2023 17:38:45 +0800 Subject: [PATCH 5/7] =?UTF-8?q?[3.4.0][=E8=A7=86=E8=A7=92=E5=88=87?= =?UTF-8?q?=E6=8D=A2]=20=E5=B0=86=E4=B8=9A=E5=8A=A1=E5=B1=82=E5=AF=B9?= =?UTF-8?q?=E9=94=81=E8=BD=A6=E6=A8=A1=E5=BC=8F=E7=9A=84=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E6=B3=A8=E6=8E=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/och/bus/fragment/BaseBusTabFragment.java | 4 ++-- .../magic/mogo/och/charter/base/CharterBaseFragment.kt | 8 ++++---- .../com/mogo/och/bus/fragment/BaseBusTabFragment.java | 4 ++-- .../java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java index e0775f569f..24743f06cd 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java @@ -142,11 +142,11 @@ public abstract class BaseBusTabFragment if (controller != null) { //切换地图的远近视图 if (controller.getCurrentMapVisualAngle().isLongSight()) { - Objects.requireNonNull(CallerMapUIServiceManager.INSTANCE.getMapUIController()).setLockMode(true); + //Objects.requireNonNull(CallerMapUIServiceManager.INSTANCE.getMapUIController()).setLockMode(true); controller.changeMapVisualAngle(VisualAngleMode.MODE_MEDIUM_SIGHT, null); mSwitchMapModeImage.setImageResource(R.drawable.bus_switch_map_medium); } else if (controller.getCurrentMapVisualAngle().isMediumSight()) { - Objects.requireNonNull(CallerMapUIServiceManager.INSTANCE.getMapUIController()).setLockMode(false); + //Objects.requireNonNull(CallerMapUIServiceManager.INSTANCE.getMapUIController()).setLockMode(false); controller.changeMapVisualAngle(VisualAngleMode.MODE_LONG_SIGHT, null); mSwitchMapModeImage.setImageResource(R.drawable.bus_switch_map_long); } else { diff --git a/OCH/mogo-och-charter/src/main/java/com/magic/mogo/och/charter/base/CharterBaseFragment.kt b/OCH/mogo-och-charter/src/main/java/com/magic/mogo/och/charter/base/CharterBaseFragment.kt index 96bc9a4150..67a69707df 100644 --- a/OCH/mogo-och-charter/src/main/java/com/magic/mogo/och/charter/base/CharterBaseFragment.kt +++ b/OCH/mogo-och-charter/src/main/java/com/magic/mogo/och/charter/base/CharterBaseFragment.kt @@ -109,13 +109,13 @@ abstract class CharterBaseFragment?>() : if (controller != null) { //切换地图的远近视图 if (controller.currentMapVisualAngle.isLongSight) { - Objects.requireNonNull(getMapUIController()) - ?.setLockMode(true) + //Objects.requireNonNull(getMapUIController()) + // ?.setLockMode(true) controller.changeMapVisualAngle(VisualAngleMode.MODE_MEDIUM_SIGHT, null) mSwitchMapModeImage!!.setImageResource(R.drawable.bus_switch_map_medium) } else if (controller.currentMapVisualAngle.isMediumSight) { - Objects.requireNonNull(getMapUIController()) - ?.setLockMode(false) + //Objects.requireNonNull(getMapUIController()) + // ?.setLockMode(false) controller.changeMapVisualAngle(VisualAngleMode.MODE_LONG_SIGHT, null) mSwitchMapModeImage!!.setImageResource(R.drawable.bus_switch_map_long) } else { diff --git a/OCH/mogo-och-shuttle/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java b/OCH/mogo-och-shuttle/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java index 7eed7e8efd..18621b427a 100644 --- a/OCH/mogo-och-shuttle/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java +++ b/OCH/mogo-och-shuttle/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java @@ -145,11 +145,11 @@ public abstract class BaseBusTabFragment if (controller != null) { //切换地图的远近视图 if (controller.getCurrentMapVisualAngle().isLongSight()) { - Objects.requireNonNull(CallerMapUIServiceManager.INSTANCE.getMapUIController()).setLockMode(true); + //Objects.requireNonNull(CallerMapUIServiceManager.INSTANCE.getMapUIController()).setLockMode(true); controller.changeMapVisualAngle(VisualAngleMode.MODE_MEDIUM_SIGHT, null); mSwitchMapModeImage.setImageResource(R.drawable.bus_switch_map_medium); } else if (controller.getCurrentMapVisualAngle().isMediumSight()) { - Objects.requireNonNull(CallerMapUIServiceManager.INSTANCE.getMapUIController()).setLockMode(false); + //Objects.requireNonNull(CallerMapUIServiceManager.INSTANCE.getMapUIController()).setLockMode(false); controller.changeMapVisualAngle(VisualAngleMode.MODE_LONG_SIGHT, null); mSwitchMapModeImage.setImageResource(R.drawable.bus_switch_map_long); } else { diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java index 01fc54c810..f74667d853 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java @@ -193,11 +193,11 @@ public abstract class BaseTaxiTabFragment Date: Wed, 9 Aug 2023 10:35:46 +0800 Subject: [PATCH 6/7] =?UTF-8?q?[5.0.0]=20[=E8=AE=A1=E7=AE=97=E9=87=8C?= =?UTF-8?q?=E7=A8=8B=E4=BC=98=E5=8C=96]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manager/distancemamager/DistanceDegree.kt | 47 +++++++++++++++- .../utils/CoordinateCalculateRouteUtil.kt | 56 ++++++++++++++++++- 2 files changed, 97 insertions(+), 6 deletions(-) diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/distancemamager/DistanceDegree.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/distancemamager/DistanceDegree.kt index 205510c9da..bc30038358 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/distancemamager/DistanceDegree.kt +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/distancemamager/DistanceDegree.kt @@ -1,13 +1,54 @@ package com.mogo.och.common.module.manager.distancemamager -data class DistanceDegree(var distance:Float,var degree:Double?,var isNext:Boolean?):Comparable{ +data class DistanceDegree(var distance: Float, var degree: Double?, var isNext: Boolean?) : + Comparable { override fun compareTo(other: DistanceDegree): Int { // 对比距离 - if(distance == other.distance){ + if (distance == other.distance) { return 0; - } else if(distance < other.distance){ + } else if (distance < other.distance) { return -1; } return 1; } + + var next: DistanceDegree? = null + + fun recycle() { + synchronized(sPoolSync) { + if (sPoolSize < MAX_POOL_SIZE) { + next = sPool + sPool = this + sPoolSize++ + } + //Logger.d("DistanceDegree","缓存对象个数${sPoolSize}个") + } + } + + companion object { + var sPoolSync = Any() + private var sPool: DistanceDegree? = null + private var sPoolSize = 0 + private var MAX_POOL_SIZE = 20 + + + fun obtain(distance: Float, degree: Double?, isNext: Boolean?): DistanceDegree { + synchronized(sPoolSync) { + if (sPool != null) { + val m: DistanceDegree = sPool!! + sPool = m.next + m.next = null + m.distance = distance + m.degree = degree + m.isNext = isNext + sPoolSize-- + //Logger.d("DistanceDegree","取出一个对象个数${sPoolSize}个") + return m + } + //Logger.d("DistanceDegree","创建一个对象 ${sPoolSize}个") + return DistanceDegree(distance, degree, isNext) + } + } + } + } diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/CoordinateCalculateRouteUtil.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/CoordinateCalculateRouteUtil.kt index 79444f76f5..164681283a 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/CoordinateCalculateRouteUtil.kt +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/CoordinateCalculateRouteUtil.kt @@ -601,6 +601,7 @@ object CoordinateCalculateRouteUtil { type:Int, size:Int = 4 ): Triple { + val startTime = System.currentTimeMillis() Logger.d(SceneConstant.M_OCHCOMMON + "calculateRouteSumLength", "参数:[$preIndex $endIndex) mRoutePoints:${mRoutePoints.size} type:$type size:$size" + " location:(${location.latitude},${location.longitude},${location.heading})") @@ -615,9 +616,9 @@ object CoordinateCalculateRouteUtil { latLngIndex.longitude, latLngIndex.latitude ) - distanceMap[DistanceDegree(distance, null,null)] = index + distanceMap[DistanceDegree.obtain(distance, null,null)] = index if (distanceMap.size > size) { - distanceMap.pollLastEntry() + distanceMap.pollLastEntry()?.key?.recycle() } } distanceMap.forEach { @@ -687,6 +688,12 @@ object CoordinateCalculateRouteUtil { // 通过航向角过滤一遍 if(distanceDegree.degree!=null&&DrivingDirectionUtils.getAngleDiff(location.heading, distanceDegree.degree!!)<90){ currentIndex = pointIndex + val iterator1 = distanceMap.iterator() + while (iterator1.hasNext()) { + iterator1.next().key.recycle() + iterator1.remove() + } + distanceMap.clear() return Triple(currentIndex,distanceDegree.isNext,distanceDegree.distance) } } @@ -701,12 +708,14 @@ object CoordinateCalculateRouteUtil { val next = iterator.next() val key = next.key if (key.degree == null) { + key.recycle() iterator.remove() } else { if (location.heading != 0.0) { key.degree?.let { val dexAngle = DrivingDirectionUtils.getAngleDiff(location.heading, it) if (dexAngle > 90) { + key.recycle() iterator.remove() } } @@ -715,6 +724,14 @@ object CoordinateCalculateRouteUtil { } if(distanceMap.size==0&&size<16){ + val iterator1 = distanceMap.iterator() + while (iterator1.hasNext()) { + iterator1.next().key.recycle() + iterator1.remove() + } + distanceMap.clear() + Logger.d(SceneConstant.M_OCHCOMMON + "calculateRouteSumLength", + "计算时间:${startTime-System.currentTimeMillis()}") return getNearestPointInfo(preIndex,endIndex,mRoutePoints,location,type,size+2) } @@ -734,9 +751,25 @@ object CoordinateCalculateRouteUtil { if(preIndexDistance!=null&&preIndexNextDistance!=null){ if(preIndexDistance!!.distancemiddleVale){ + key.recycle() iteratorRemove.remove() } } @@ -773,6 +807,7 @@ object CoordinateCalculateRouteUtil { val next = iteratorRemove.next() val key = next.key if(next.value Date: Wed, 9 Aug 2023 15:06:22 +0800 Subject: [PATCH 7/7] =?UTF-8?q?[5.0.0]=20[=E8=BD=A6=E9=97=A8=E5=B1=95?= =?UTF-8?q?=E7=A4=BA=E6=8F=90=E7=A4=BA]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../layout/taxi_p_start_autopilot_view.xml | 24 ++++++++++------ .../layout/taxi_p_start_autopilot_view.xml | 28 ++++++++++++------- 2 files changed, 34 insertions(+), 18 deletions(-) diff --git a/OCH/taxi/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_start_autopilot_view.xml b/OCH/taxi/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_start_autopilot_view.xml index 8390992694..5969d33c65 100644 --- a/OCH/taxi/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_start_autopilot_view.xml +++ b/OCH/taxi/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_start_autopilot_view.xml @@ -155,12 +155,20 @@ android:layout_width="wrap_content" android:layout_height="wrap_content"/> + + + - + - + + + +