From daf51c78cef4b6ab768aa0db4399f70578e437bf Mon Sep 17 00:00:00 2001 From: donghongyu Date: Tue, 7 Feb 2023 18:45:58 +0800 Subject: [PATCH 01/18] =?UTF-8?q?[dev=5Farch=5Fopt=5F3.0]=20[Change]=20[?= =?UTF-8?q?=201=E3=80=81=E5=88=A0=E9=99=A4=E5=9C=B0=E5=9B=BE=E4=B8=AD?= =?UTF-8?q?=E5=BA=9F=E5=BC=83=E7=9A=84=E5=AE=9A=E4=BD=8D=E5=9B=9E=E6=8E=89?= =?UTF-8?q?=E6=96=B9=E6=B3=95=202=E3=80=81=E4=BF=AE=E6=94=B9=E5=B0=8F?= =?UTF-8?q?=E5=9C=B0=E5=9B=BE=E7=9B=91=E5=90=AC=E4=BD=8D=E7=BD=AE=E6=9B=B4?= =?UTF-8?q?=E6=94=B9=E7=9A=84=E6=96=B9=E5=BC=8F=EF=BC=8C=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E4=B8=BA10HZ=EF=BC=8C=E6=9B=B4=E6=96=B0=E5=9C=B0=E5=9B=BE?= =?UTF-8?q?=E8=A7=A3=E5=86=B3=E8=B7=B3=E5=8F=98=E9=97=AE=E9=A2=98=20]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: donghongyu --- .../location/MoGoLocationDispatcher.kt | 133 ++++++++++++++---- .../obu/MogoPrivateObuNewManager.kt | 78 +++++----- .../env/EnvChangeManager.kt | 12 +- .../collect/MoGoMapDataCollectProvider.kt | 47 ++++--- .../core/function/smp/view/SmallMapView.kt | 93 ++++++------ .../startup/stageone/HttpDnsStartUp.kt | 5 +- .../function/v2x/events/V2XEventManager.kt | 20 +-- .../manager/impl/MoGoV2XMarkerManager.java | 7 +- .../eagle/core/data/map/MogoLocation.java | 13 ++ ...llerChassisLocationGCJ20ListenerManager.kt | 5 +- .../map/CallerMapLocationListenerManager.kt | 27 ---- .../uicontroller/IMogoMapUIController.java | 17 +-- .../java/com/mogo/map/AMapViewWrapper.java | 82 +---------- .../com/mogo/map/MogoMapUIController.java | 10 -- .../map/uicontroller/AMapUIController.java | 8 -- 15 files changed, 261 insertions(+), 296 deletions(-) delete mode 100644 core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerMapLocationListenerManager.kt diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/location/MoGoLocationDispatcher.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/location/MoGoLocationDispatcher.kt index b2e9d85e3a..3808caa1d5 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/location/MoGoLocationDispatcher.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/location/MoGoLocationDispatcher.kt @@ -6,16 +6,20 @@ import com.amap.api.location.AMapLocationClientOption import com.amap.api.location.AMapLocationListener import com.mogo.commons.AbsMogoApplication import com.mogo.commons.constants.SharedPrefsConstants +import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.enums.DataSourceType import com.mogo.eagle.core.data.map.MogoLocation import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisGnssListener +import com.mogo.eagle.core.function.api.obu.IMoGoObuLocationWGS84Listener import com.mogo.eagle.core.function.call.autopilot.CallerChassisGnssListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationWGS84ListenerManager +import com.mogo.eagle.core.function.call.obu.CallerObuLocationWGS84ListenerManager import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr import com.mogo.eagle.core.utilcode.util.CoordinateTransform import com.mogo.eagle.core.utilcode.util.TimeUtils import com.mogo.eagle.core.utilcode.util.Utils +import com.mogo.support.obu.model.MogoObuHvBasicsData import mogo.telematics.pad.MessagePad /** @@ -25,6 +29,7 @@ import mogo.telematics.pad.MessagePad */ object MoGoLocationDispatcher : IMoGoChassisGnssListener, + IMoGoObuLocationWGS84Listener, AMapLocationListener { private val TAG = "MoGoLocationManager" @@ -37,6 +42,11 @@ object MoGoLocationDispatcher : */ private var lastGnssLocation: MogoLocation = MogoLocation() + /** + * 最后一次OBU GNSS 返回更新的位置 + */ + private var lastOBULocation: MogoLocation = MogoLocation() + /** * 最后一次高德定位返回的位置信息 */ @@ -69,6 +79,7 @@ object MoGoLocationDispatcher : // 初始化监听订阅工控机位置信息 CallerChassisGnssListenerManager.addListener(TAG, this) + CallerObuLocationWGS84ListenerManager.addListener(TAG, this) } override fun onChassisGnss(gnssInfo: MessagePad.GnssInfo) { @@ -95,17 +106,18 @@ object MoGoLocationDispatcher : lastGnssLocation.errorCode = it.errorCode lastGnssLocation.errorInfo = it.errorInfo } - - // WGS84坐标系高精度位置信息 - CallerChassisLocationWGS84ListenerManager.invokeChassisLocationWGS84( - lastGnssLocation, - DataSourceType.TELEMATIC - ) - // GCJ02高德坐标系位置信息 - CallerChassisLocationGCJ20ListenerManager.invokeChassisLocationGCJ02( - lastGnssLocation, - DataSourceType.TELEMATIC - ) + if (1 == FunctionBuildConfig.gpsProvider) { + // WGS84坐标系高精度位置信息 + CallerChassisLocationWGS84ListenerManager.invokeChassisLocationWGS84( + lastGnssLocation, + DataSourceType.TELEMATIC + ) + // GCJ02高德坐标系位置信息 + CallerChassisLocationGCJ20ListenerManager.invokeChassisLocationGCJ02( + lastGnssLocation, + DataSourceType.TELEMATIC + ) + } } /** @@ -115,7 +127,7 @@ object MoGoLocationDispatcher : override fun onLocationChanged(aMapLocation: AMapLocation) { mapLocation = aMapLocation // 更新GNSS 信息 - + lastGaoDeLocation.lastReceiveTime = TimeUtils.getNowMills() // 将高德中的一些用于业务的数据进行融合,例如:CityCode、address等 mapLocation?.let { @@ -150,27 +162,100 @@ object MoGoLocationDispatcher : lastGaoDeLocation.errorInfo = it.errorInfo } - // 计算最后一次工控机同步的定位是否超时,如果超时则切换为高德地图定位,暂定超过10秒需要切换 - if (TimeUtils.getNowMills() - lastGnssLocation.lastReceiveTime > 10000) { - // WGS84坐标系高精度位置信息 - CallerChassisLocationWGS84ListenerManager.invokeChassisLocationWGS84( - lastGaoDeLocation, - DataSourceType.MAP - ) - // GCJ02高德坐标系位置信息 - CallerChassisLocationGCJ20ListenerManager.invokeChassisLocationGCJ02( - lastGaoDeLocation, - DataSourceType.MAP - ) + // 计算最后一次工控机同步的定位是否超时,如果超时则切换为高德地图定位,暂定超过30秒需要切换 + if (1 == FunctionBuildConfig.gpsProvider) { + if (TimeUtils.getNowMills() - lastGnssLocation.lastReceiveTime > 30000) { + syncGaoDeLocation() + } + } else if (2 == FunctionBuildConfig.gpsProvider) { + if (TimeUtils.getNowMills() - lastOBULocation.lastReceiveTime > 30000) { + syncGaoDeLocation() + } } + // 本地SP缓存城市Code val cityCode = aMapLocation.cityCode if (cityCode != null && cityCode.isNotEmpty()) { mCityCode = aMapLocation.cityCode SharedPrefsMgr.getInstance(AbsMogoApplication.getApp()) .putString(SharedPrefsConstants.LOCATION_CITY_CODE, cityCode) + + SharedPrefsMgr.getInstance(AbsMogoApplication.getApp()) + .putString( + SharedPrefsConstants.LOCATION_LATITUDE, + aMapLocation.latitude.toString() + ) + SharedPrefsMgr.getInstance(AbsMogoApplication.getApp()) + .putString( + SharedPrefsConstants.LOCATION_LONGITUDE, + aMapLocation.longitude.toString() + ) } } + + /** + * 对外同步高德回掉的定位数据 + */ + private fun syncGaoDeLocation() { + // WGS84坐标系高精度位置信息 + CallerChassisLocationWGS84ListenerManager.invokeChassisLocationWGS84( + lastGaoDeLocation, + DataSourceType.MAP + ) + // GCJ02高德坐标系位置信息 + CallerChassisLocationGCJ20ListenerManager.invokeChassisLocationGCJ02( + lastGaoDeLocation, + DataSourceType.MAP + ) + } + + /** + * OBU定位回调监听 + */ + override fun onObuLocationWGS84(data: MogoObuHvBasicsData) { + // 更新GNSS 信息 + lastOBULocation.longitude = data.vehBasicsMsg.longitude + lastOBULocation.latitude = data.vehBasicsMsg.latitude + lastOBULocation.heading = data.vehBasicsMsg.heading + lastOBULocation.gnssSpeed = data.vehBasicsMsg.speed.toFloat() + lastOBULocation.altitude = data.vehBasicsMsg.elevation + lastOBULocation.satelliteTime = data.vehBasicsMsg.secMark + lastOBULocation.lastReceiveTime = TimeUtils.getNowMills() + + // 将高德中的一些用于业务的数据进行融合,例如:CityCode、address等 + mapLocation?.let { + lastOBULocation.cityName = it.city + lastOBULocation.cityCode = it.cityCode + lastOBULocation.provider = it.provider + lastOBULocation.address = it.address + lastOBULocation.district = it.district + lastOBULocation.province = it.province + lastOBULocation.adCode = it.adCode + lastOBULocation.locationDetail = it.locationDetail + lastOBULocation.poiName = it.poiName + lastOBULocation.aoiName = it.aoiName + lastOBULocation.street = it.street + lastOBULocation.streetNum = it.streetNum + lastOBULocation.description = it.description + lastOBULocation.buildingId = it.buildingId + lastOBULocation.floor = it.floor + lastOBULocation.errorCode = it.errorCode + lastOBULocation.errorInfo = it.errorInfo + } + + if (2 == FunctionBuildConfig.gpsProvider) { + // WGS84坐标系高精度位置信息 + CallerChassisLocationWGS84ListenerManager.invokeChassisLocationWGS84( + lastOBULocation, + DataSourceType.OBU + ) + // GCJ02高德坐标系位置信息 + CallerChassisLocationGCJ20ListenerManager.invokeChassisLocationGCJ02( + lastOBULocation, + DataSourceType.OBU + ) + } + } } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/obu/MogoPrivateObuNewManager.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/obu/MogoPrivateObuNewManager.kt index 36a4406d30..501cb50af4 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/obu/MogoPrivateObuNewManager.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/obu/MogoPrivateObuNewManager.kt @@ -16,6 +16,7 @@ import com.mogo.eagle.core.function.call.map.CallerVisualAngleManager.Scene.Defa import com.mogo.eagle.core.function.call.map.CallerVisualAngleManager.Scene.TooClose import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager import com.mogo.eagle.core.function.call.obu.CallerObuConnectListenerManager +import com.mogo.eagle.core.function.call.obu.CallerObuLocationWGS84ListenerManager import com.mogo.eagle.core.function.call.v2x.CallerLimitingVelocityListenerManager import com.mogo.eagle.core.function.call.v2x.CallerTrafficLightListenerManager import com.mogo.eagle.core.function.datacenter.obu.utils.TrafficDataConvertUtilsNew @@ -31,7 +32,6 @@ import com.mogo.support.obu.model.* import com.mogo.support.obu.model.advance.SpatLight import com.mogo.support.obu.option.MogoObuCom import com.mogo.support.obu.option.MogoObuOptions -import org.json.JSONObject import kotlin.math.roundToInt /** @@ -107,45 +107,22 @@ class MogoPrivateObuNewManager private constructor() { /** * HV车辆基础信息 CvxHvCarIndInfo CvxHvInfoIndInfo */ - override fun onMogoObuHvBasics(p0: MogoObuHvBasicsData?) { - if (p0 != null && p0.vehBasicsMsg != null) { + override fun onMogoObuHvBasics(mogoObuHvBasicsData: MogoObuHvBasicsData?) { + if (mogoObuHvBasicsData != null && mogoObuHvBasicsData.vehBasicsMsg != null) { CallerLogger.d( "$M_OBU${MogoObuConst.TAG_MOGO_NEW_OBU}", - "onMogoObuHvBasics lon = ${p0.vehBasicsMsg.longitude} --- lat = ${p0.vehBasicsMsg.latitude} ---speed = ${p0.vehBasicsMsg.speed} ---heading = ${p0.vehBasicsMsg.heading} --acceleration = ${p0.vehBasicsMsg.accFourAxes.accLat} --yawRate = ${p0.vehBasicsMsg.accFourAxes.accYaw}" + "onMogoObuHvBasics lon = ${mogoObuHvBasicsData.vehBasicsMsg.longitude} --- lat = ${mogoObuHvBasicsData.vehBasicsMsg.latitude} ---speed = ${mogoObuHvBasicsData.vehBasicsMsg.speed} ---heading = ${mogoObuHvBasicsData.vehBasicsMsg.heading} --acceleration = ${mogoObuHvBasicsData.vehBasicsMsg.accFourAxes.accLat} --yawRate = ${mogoObuHvBasicsData.vehBasicsMsg.accFourAxes.accYaw}" ) - val data = JSONObject() - try { - data.putOpt("lon", p0.vehBasicsMsg.longitude) - data.putOpt("lat", p0.vehBasicsMsg.latitude) - data.putOpt("speed", p0.vehBasicsMsg.speed) - data.putOpt("heading", p0.vehBasicsMsg.heading) - data.putOpt("acceleration", p0.vehBasicsMsg.accFourAxes.accLat) - data.putOpt("yawRate", p0.vehBasicsMsg.accFourAxes.accYaw) - - try { - data.putOpt("systemTime", System.currentTimeMillis()) - } catch (e: Exception) { - e.printStackTrace() - } - try { - data.putOpt("satelliteTime", System.currentTimeMillis()) - } catch (e: Exception) { - e.printStackTrace() - } - - // 使用与渠道配置一样的gps提供者提供的数据,app/productFlavors/fPadLenovo.gradle GPS_PROVIDER 0-Android系统,1-工控机,2-OBU - if (2 == FunctionBuildConfig.gpsProvider) { - // 同步给MAP地图 - CallerMapUIServiceManager.getMapUIController()?.syncLocation2Map(data) - // 同步更新经纬度和系统时间至 AutoPilotStatusListener - CallerAutoPilotStatusListenerManager.updateAutoPilotLatLon( - System.currentTimeMillis() / 1000.0, - p0.vehBasicsMsg.longitude, - p0.vehBasicsMsg.latitude - ) - } - } catch (e: Exception) { - e.printStackTrace() + // 使用与渠道配置一样的gps提供者提供的数据,app/productFlavors/fPadLenovo.gradle GPS_PROVIDER 0-Android系统,1-工控机,2-OBU + if (2 == FunctionBuildConfig.gpsProvider) { + // 同步给MAP地图 + CallerObuLocationWGS84ListenerManager.invokeObuLocationWGS84(mogoObuHvBasicsData) + // 同步更新经纬度和系统时间至 AutoPilotStatusListener + CallerAutoPilotStatusListenerManager.updateAutoPilotLatLon( + System.currentTimeMillis() / 1000.0, + mogoObuHvBasicsData.vehBasicsMsg.longitude, + mogoObuHvBasicsData.vehBasicsMsg.latitude + ) } } } @@ -621,7 +598,7 @@ class MogoPrivateObuNewManager private constructor() { } } - } +} /** * 获取消息的方位 车辆相关 @@ -894,7 +871,6 @@ private var isShowGreenWave = false private var isShowRunRedLight = false - /** * 修改红绿灯 */ @@ -1004,22 +980,38 @@ private fun changeTrafficLightStatus( when (currentLight.light) { // 灯光不可用 0 -> { - CallerTrafficLightListenerManager.invokeTrafficLightPlusSource(TrafficLightEnum.BLACK,-1,DataSourceType.OBU) + CallerTrafficLightListenerManager.invokeTrafficLightPlusSource( + TrafficLightEnum.BLACK, + -1, + DataSourceType.OBU + ) } // 红灯 2, 3 -> { val red = currentLight.countDown.toInt() - CallerTrafficLightListenerManager.invokeTrafficLightPlusSource(TrafficLightEnum.RED,red,DataSourceType.OBU) + CallerTrafficLightListenerManager.invokeTrafficLightPlusSource( + TrafficLightEnum.RED, + red, + DataSourceType.OBU + ) } // 绿灯 4, 5, 6 -> { val green = currentLight.countDown.toInt() - CallerTrafficLightListenerManager.invokeTrafficLightPlusSource(TrafficLightEnum.GREEN,green,DataSourceType.OBU) + CallerTrafficLightListenerManager.invokeTrafficLightPlusSource( + TrafficLightEnum.GREEN, + green, + DataSourceType.OBU + ) } // 黄灯 7, 8 -> { val yellow = currentLight.countDown.toInt() - CallerTrafficLightListenerManager.invokeTrafficLightPlusSource(TrafficLightEnum.YELLOW,yellow,DataSourceType.OBU) + CallerTrafficLightListenerManager.invokeTrafficLightPlusSource( + TrafficLightEnum.YELLOW, + yellow, + DataSourceType.OBU + ) } } } diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/env/EnvChangeManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/env/EnvChangeManager.kt index cd35f5e667..64094a2efa 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/env/EnvChangeManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/env/EnvChangeManager.kt @@ -2,12 +2,12 @@ package com.zhjt.mogo_core_function_devatools.env import android.content.Context.MODE_PRIVATE import android.os.Process -import com.mogo.commons.constants.* -import com.mogo.commons.debug.* +import com.mogo.commons.constants.SharedPrefsConstants +import com.mogo.commons.debug.DebugConfig import com.mogo.eagle.core.data.EnvConfig -import com.mogo.eagle.core.function.call.map.* -import com.mogo.eagle.core.utilcode.mogo.storage.* -import com.mogo.eagle.core.utilcode.util.* +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager +import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr +import com.mogo.eagle.core.utilcode.util.Utils object EnvChangeManager { @@ -34,7 +34,7 @@ object EnvChangeManager { fun getCityName(): String { val cache = getConfig() return if (cache == null) { - when(CallerMapLocationListenerManager.getCurrentLocation()?.cityCode ?: SharedPrefsMgr.getInstance(Utils.getApp()).getString(SharedPrefsConstants.LOCATION_CITY_CODE) ?: "010") { + when(CallerChassisLocationGCJ20ListenerManager.getChassisLocationGCJ02()?.cityCode ?: SharedPrefsMgr.getInstance(Utils.getApp()).getString(SharedPrefsConstants.LOCATION_CITY_CODE) ?: "010") { "010" -> "北京" "0734" -> "衡阳" else -> "未知" diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/collect/MoGoMapDataCollectProvider.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/collect/MoGoMapDataCollectProvider.kt index 1c7ccb13e4..69a1eef78d 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/collect/MoGoMapDataCollectProvider.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/collect/MoGoMapDataCollectProvider.kt @@ -14,7 +14,6 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Liste import com.mogo.eagle.core.function.api.map.collect.IMoGoMapDataCollectProvider import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotRecordListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager -import com.mogo.eagle.core.function.call.map.CallerMapLocationListenerManager import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_MAP import com.zhidaoauto.map.operational.open.GatherApi @@ -26,7 +25,8 @@ import java.util.concurrent.CopyOnWriteArrayList import java.util.concurrent.atomic.AtomicReference @Route(path = MogoServicePaths.PATH_MAP_DATA_COLLECT_PROVIDER) -class MoGoMapDataCollectProvider : IMoGoMapDataCollectProvider, OnTaskListener, IMoGoChassisLocationGCJ02Listener, IMoGoTokenCallback, +class MoGoMapDataCollectProvider : IMoGoMapDataCollectProvider, OnTaskListener, + IMoGoChassisLocationGCJ02Listener, IMoGoTokenCallback, IMoGoAutopilotRecordListener { companion object { @@ -57,11 +57,14 @@ class MoGoMapDataCollectProvider : IMoGoMapDataCollectProvider, OnTaskListener, executor.set(context?.let { GatherApi.also { itx -> - itx.init(it, - GatherParams.init() - .setDebugMode(false) - .setCoordinateType(GatherParams.COORDINATETYPE_GCJ02)) - } }) + itx.init( + it, + GatherParams.init() + .setDebugMode(false) + .setCoordinateType(GatherParams.COORDINATETYPE_GCJ02) + ) + } + }) executor.get()?.setOnTaskListener(this) val carSn = MoGoAiCloudClientConfig.getInstance().sn if (!TextUtils.isEmpty(carSn)) { @@ -69,7 +72,7 @@ class MoGoMapDataCollectProvider : IMoGoMapDataCollectProvider, OnTaskListener, } MoGoAiCloudClient.getInstance().addTokenCallbacks(this) CallerLogger.d("$M_MAP$TAG", "--------- init --------") - CallerLogger.d("$M_MAP$TAG", "executor: ${ executor.get()?.hashCode() ?: 0 }") + CallerLogger.d("$M_MAP$TAG", "executor: ${executor.get()?.hashCode() ?: 0}") } override fun onDestroy() { @@ -90,7 +93,13 @@ class MoGoMapDataCollectProvider : IMoGoMapDataCollectProvider, OnTaskListener, recordPanel.stat == 102 || //工控机达到最大采集时长 recordPanel.stat == 103) //工控机磁盘满了 ) { - finish(recordPanel.id, recordPanel.stat, "", recordPanel.filename ?: "", recordPanel.note ?: "") + finish( + recordPanel.id, + recordPanel.stat, + "", + recordPanel.filename ?: "", + recordPanel.note ?: "" + ) } } @@ -131,7 +140,7 @@ class MoGoMapDataCollectProvider : IMoGoMapDataCollectProvider, OnTaskListener, } CallerLogger.d("$M_MAP$TAG", "-- finish: 结束任务[$id]") executor.get()?.finishTask(id, state, gpsPath, videoPath, reason) - } catch (e : Throwable) { + } catch (e: Throwable) { e.printStackTrace() CallerLogger.e("$M_MAP$TAG", "-- finish:\n$e") } finally { @@ -171,14 +180,16 @@ class MoGoMapDataCollectProvider : IMoGoMapDataCollectProvider, OnTaskListener, } override fun onChassisLocationGCJ02(gnssInfo: MogoLocation?) { - val location = CallerMapLocationListenerManager.getCurrentLocation() ?: return - executor.get()?.updateLocation( - location.longitude, - location.latitude, - location.altitude, - location.heading.toFloat(), - location.gnssSpeed, - false) + if (gnssInfo != null) { + executor.get()?.updateLocation( + gnssInfo.longitude, + gnssInfo.latitude, + gnssInfo.altitude, + gnssInfo.heading.toFloat(), + gnssInfo.gnssSpeed, + false + ) + } } private fun isInValidStatus(): Boolean { 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 ddffe0e965..7d32a12316 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 @@ -29,7 +29,6 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.util.UiThreadHandler import mogo.telematics.pad.MessagePad -import java.util.* import kotlin.math.floor class SmallMapView @JvmOverloads constructor( @@ -156,10 +155,9 @@ class SmallMapView @JvmOverloads constructor( initAMapView() // 注册定位监听 - CallerChassisLocationGCJ20ListenerManager.addListener(TAG, this) + CallerChassisLocationGCJ20ListenerManager.addListener(TAG, 10,this) CallerPlanningRottingListenerManager.addListener(TAG, this) CallerAutoPilotStatusListenerManager.addListener(TAG, this) - startTask() } private fun initAMapView() { @@ -237,52 +235,6 @@ class SmallMapView @JvmOverloads constructor( }) } - private fun startTask() { - val mTimer = Timer() - mTimer.schedule(UpdateLocationTask(), 1000, 200) - } - - private inner class UpdateLocationTask : TimerTask() { - override fun run() { - if (mLocation != null) { - if (mCarMarker == null) { - mCarMarker = mAMap!!.addMarker( - MarkerOptions() - .icon(BitmapDescriptorFactory.fromResource(R.drawable.module_small_map_view_my_location_logo)) - .anchor(0.5f, 0.5f) - ) - } - if (mCarMarker == null) { - return - } - val currentLatLng = LatLng(mLocation!!.latitude, mLocation!!.longitude) - val bearing = floor(mLocation!!.heading).toFloat() - //更新车辆位置 - mCarMarker!!.position = currentLatLng - if (mCoordinatesLatLng.size > 1) { - // 结束位置 - val endLatLng = mCoordinatesLatLng[mCoordinatesLatLng.size - 1] - val calculateDistance = CoordinateUtils.calculateLineDistance( - endLatLng.latitude, endLatLng.longitude, - currentLatLng.latitude, currentLatLng.longitude - ) - CallerLogger.d( - SceneConstant.M_MAP + TAG, - "calculateDistance=$calculateDistance" - ) - if (calculateDistance <= 5) { - clearPolyline() - mCoordinatesLatLng.clear() - } - } - val cameraPosition: CameraPosition = - CameraPosition.Builder().target(mCarMarker!!.position).tilt(0f).bearing(bearing) - .zoom(zoomLevel.toFloat()).build() - mAMap?.moveCamera(CameraUpdateFactory.newCameraPosition(cameraPosition)) - } - } - } - private fun coordinateConverterFrom84(mContext: Context?, mogoLatLng: MogoLatLng): LatLng { val mCoordinateConverter = CoordinateConverter(mContext) mCoordinateConverter.from(CoordinateConverter.CoordType.GPS) @@ -307,6 +259,49 @@ class SmallMapView @JvmOverloads constructor( return } mLocation = mogoLocation + if (mCarMarker == null) { + mCarMarker = + if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) { + mAMap?.addMarker( + MarkerOptions() + .icon(BitmapDescriptorFactory.fromResource(R.drawable.map_bus_icon)) + .anchor(0.5f, 0.5f) + ) + } else { + mAMap?.addMarker( + MarkerOptions() + .icon(BitmapDescriptorFactory.fromResource(R.drawable.map_car_icon)) + .anchor(0.5f, 0.5f) + ) + } + } + if (mCarMarker == null) { + return + } + val currentLatLng = LatLng(mLocation!!.latitude, mLocation!!.longitude) + val bearing = floor(mLocation!!.heading).toFloat() + //更新车辆位置 + mCarMarker!!.position = currentLatLng + if (mCoordinatesLatLng.size > 1) { + // 结束位置 + val endLatLng = mCoordinatesLatLng[mCoordinatesLatLng.size - 1] + val calculateDistance = CoordinateUtils.calculateLineDistance( + endLatLng.latitude, endLatLng.longitude, + currentLatLng.latitude, currentLatLng.longitude + ) + CallerLogger.d( + SceneConstant.M_MAP + TAG, + "calculateDistance=$calculateDistance" + ) + if (calculateDistance <= 5) { + clearPolyline() + mCoordinatesLatLng.clear() + } + } + val cameraPosition: CameraPosition = + CameraPosition.Builder().target(mCarMarker!!.position).tilt(0f).bearing(bearing) + .zoom(zoomLevel.toFloat()).build() + mAMap?.moveCamera(CameraUpdateFactory.newCameraPosition(cameraPosition)) } override fun onAutopilotStatusResponse(autoPilotStatusInfo: AutopilotStatusInfo) { diff --git a/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stageone/HttpDnsStartUp.kt b/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stageone/HttpDnsStartUp.kt index e023ab05a3..a939fba9fb 100644 --- a/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stageone/HttpDnsStartUp.kt +++ b/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stageone/HttpDnsStartUp.kt @@ -34,7 +34,6 @@ import com.mogo.eagle.core.function.call.analytics.AnalyticsManager import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager import com.mogo.eagle.core.function.call.cloud.CallerCloudListenerManager import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager -import com.mogo.eagle.core.function.call.map.CallerMapLocationListenerManager import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant @@ -146,7 +145,7 @@ class HttpDnsStartUp : AndroidStartup() { return HttpDnsSimpleLocation(envConfig.cityCode, envConfig.lat, envConfig.lon) } var mogoLocation: MogoLocation? = null - val locationClient = CallerMapLocationListenerManager.getCurrentLocation() + val locationClient = CallerChassisLocationGCJ20ListenerManager.getChassisLocationGCJ02() if (locationClient != null) { mogoLocation = locationClient } @@ -305,7 +304,7 @@ class HttpDnsStartUp : AndroidStartup() { private fun startSocketService() { CallerLogger.d(SceneConstant.M_MAIN + TAG, "startSocketService") - val location = CallerMapLocationListenerManager.getCurrentLocation() + val location = CallerChassisLocationGCJ20ListenerManager.getChassisLocationGCJ02() // 关闭长链服务 MogoAiCloudSocketManager.getInstance(context).destroy() MogoAiCloudSocketManager.getInstance(context) diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/V2XEventManager.kt b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/V2XEventManager.kt index ddb47926ee..876855ac9f 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/V2XEventManager.kt +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/V2XEventManager.kt @@ -31,7 +31,6 @@ import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWarningStatusListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager import com.mogo.eagle.core.function.call.hmi.CallerHmiManager -import com.mogo.eagle.core.function.call.map.CallerMapLocationListenerManager import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager import com.mogo.eagle.core.function.call.map.CallerVisualAngleManager import com.mogo.eagle.core.function.call.map.CallerVisualAngleManager.Scene.Default @@ -124,16 +123,17 @@ object V2XEventManager : IMoGoChassisLocationGCJ02Listener, IMoGoTokenCallback, mogoMarkersHandler.unregisterMarkerClickListener(CARD_TYPE_ROAD_CONDITION) } - override fun onChassisLocationGCJ02(gnssInfo: MogoLocation?) { - val location = CallerMapLocationListenerManager.getCurrentLocation() ?: return - BridgeApi.location.set(location) - if (V2XManager.hasInit()) { - V2XManager.onLocationChanged( - longitude = location.longitude, - latitude = location.latitude - ) + override fun onChassisLocationGCJ02(mogoLocation: MogoLocation?) { + BridgeApi.location.set(mogoLocation) + mogoLocation?.let { + if (V2XManager.hasInit()) { + V2XManager.onLocationChanged( + longitude = it.longitude, + latitude = mogoLocation.latitude + ) + } + refreshCarState(mogoLocation) } - refreshCarState(location) } private fun refreshCarState(location: MogoLocation) { diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/manager/impl/MoGoV2XMarkerManager.java b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/manager/impl/MoGoV2XMarkerManager.java index 627ddfed5d..38f6d5de21 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/manager/impl/MoGoV2XMarkerManager.java +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/manager/impl/MoGoV2XMarkerManager.java @@ -2,7 +2,9 @@ package com.mogo.eagle.core.function.v2x.events.manager.impl; import static com.mogo.commons.module.ServiceConst.CARD_TYPE_NOVELTY; import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_V2X; + import android.content.Context; + import com.alibaba.android.arouter.facade.annotation.Route; import com.mogo.cloud.commons.utils.CoordinateUtils; import com.mogo.eagle.core.data.enums.EventTypeEnumNew; @@ -12,7 +14,7 @@ import com.mogo.eagle.core.data.map.entity.MarkerExploreWay; import com.mogo.eagle.core.data.map.entity.MarkerLocation; import com.mogo.eagle.core.data.map.entity.MarkerShowEntity; import com.mogo.eagle.core.data.map.entity.V2XRoadEventEntity; -import com.mogo.eagle.core.function.call.map.CallerMapLocationListenerManager; +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager; import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager; import com.mogo.eagle.core.function.v2x.events.consts.MoGoV2XServicePaths; import com.mogo.eagle.core.function.v2x.events.manager.IMoGoV2XMarkerManager; @@ -26,6 +28,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.map.marker.IMogoMarker; import com.mogo.map.marker.IMogoMarkerClickListener; import com.mogo.map.marker.MogoMarkerOptions; + import java.util.List; import java.util.Objects; import java.util.concurrent.CopyOnWriteArrayList; @@ -52,7 +55,7 @@ public class MoGoV2XMarkerManager implements IMoGoV2XMarkerManager { public CopyOnWriteArrayList getV2XRoadEventEntityList() { CopyOnWriteArrayList roadEventEntities = new CopyOnWriteArrayList<>(); // 当前车辆数据 - MogoLocation currentLocation = CallerMapLocationListenerManager.INSTANCE.getCurrentLocation(); + MogoLocation currentLocation = CallerChassisLocationGCJ20ListenerManager.INSTANCE.getChassisLocationGCJ02(); if (currentLocation != null) { // 重新计算距离 for (V2XRoadEventEntity v2XRoadEventEntity : mV2XRoadEventEntityArrayList) { diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/map/MogoLocation.java b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/map/MogoLocation.java index a8bd5fe481..03a70a4bbc 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/map/MogoLocation.java +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/map/MogoLocation.java @@ -205,6 +205,19 @@ public class MogoLocation implements Cloneable { } } + public double getYawRate() { + if (gnssInfo != null) { + return gnssInfo.getYawRate(); + } + return 0; + } + + public void setYawRate(double yawRate) { + if (gnssInfo != null) { + gnssInfo = gnssInfo.toBuilder().setYawRate(yawRate).build(); + } + } + public String getAddress() { return address; } diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationGCJ20ListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationGCJ20ListenerManager.kt index 4ae3a74afd..bd09d3b243 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationGCJ20ListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationGCJ20ListenerManager.kt @@ -22,6 +22,9 @@ object CallerChassisLocationGCJ20ListenerManager : CallerBaseGCJ02 坐标 val gcj20Location = diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerMapLocationListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerMapLocationListenerManager.kt deleted file mode 100644 index 1b6cad9637..0000000000 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerMapLocationListenerManager.kt +++ /dev/null @@ -1,27 +0,0 @@ -package com.mogo.eagle.core.function.call.map - -import com.mogo.eagle.core.data.map.MogoLocation -import com.mogo.eagle.core.function.call.base.CallerBase - -/** - * 高德地图 位置改变 监听管理 - * @author dongghongyu - * @date 2021/9/30 5:48 下午 - */ -object CallerMapLocationListenerManager : CallerBase() { - - // 记录地图最后一次位置 - @Volatile - private var mLocation: MogoLocation? = null - - /** - * 获取当前经纬度 - */ - fun getCurrentLocation(): MogoLocation? { - return mLocation - } - - fun setCurrentLocation(location: MogoLocation) { - mLocation = location - } -} \ No newline at end of file diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java index 94cfa8bc46..919fe0f9d7 100644 --- a/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java @@ -11,8 +11,6 @@ import com.mogo.eagle.core.data.map.CenterLine; import com.mogo.eagle.core.data.map.MogoLatLng; import com.mogo.eagle.core.data.map.MogoLocation; -import org.json.JSONObject; - import java.util.List; /** @@ -175,7 +173,6 @@ public interface IMogoMapUIController { void setCarCursorOption(@Nullable CarCursorOption option); /** - * * @param type :车尾灯类型 time: 闪烁时间 最小500ms 小于500ms 默认为500ms */ void setCarLightsType(int type, int time); @@ -258,17 +255,6 @@ public interface IMogoMapUIController { } - //todo 改造,此处调用到数据中心同步,删除此处更新。后续更新调用, {@link CallerMapUIServiceManager#getSingletonLocationClient} - /** - * 使用自动驾驶车的定位数据 - * - * @param data - */ - default void syncLocation2Map(JSONObject data) { - - } - - /** * 获取车速资源缓存 id * @@ -303,9 +289,10 @@ public interface IMogoMapUIController { /** * 获取当前道路方向 + * * @return angle */ - Double getRoadAngle(Double lon,Double lat,float angle); + Double getRoadAngle(Double lon, Double lat, float angle); /** * 设置锁屏模式 diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java b/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java index f6b5f624c9..d47f9e8a96 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java +++ b/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java @@ -24,7 +24,6 @@ import android.view.View; import androidx.annotation.NonNull; -import com.mogo.commons.constants.SharedPrefsConstants; import com.mogo.commons.debug.DebugConfig; import com.mogo.eagle.core.data.config.HdMapBuildConfig; import com.mogo.eagle.core.data.enums.TrafficTypeEnum; @@ -32,13 +31,12 @@ import com.mogo.eagle.core.data.map.CenterLine; import com.mogo.eagle.core.data.map.MapRoadInfo; import com.mogo.eagle.core.data.map.MogoLatLng; import com.mogo.eagle.core.data.map.MogoLocation; +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager; import com.mogo.eagle.core.function.call.map.CallerMapDataCollectorManager; import com.mogo.eagle.core.function.call.map.CallerMapDevaListenerManager; -import com.mogo.eagle.core.function.call.map.CallerMapLocationListenerManager; import com.mogo.eagle.core.function.call.map.CallerMapRoadListenerManager; import com.mogo.eagle.core.function.call.map.CallerMapStyleListenerManager; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; -import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr; import com.mogo.eagle.core.utilcode.mogo.toast.TipToast; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; import com.mogo.map.listener.MogoMapListenerHandler; @@ -67,9 +65,7 @@ import com.zhidaoauto.map.sdk.open.camera.CameraUpdateFactory; import com.zhidaoauto.map.sdk.open.camera.LatLngBounds; import com.zhidaoauto.map.sdk.open.data.MapDataApi; import com.zhidaoauto.map.sdk.open.location.LocationClient; -import com.zhidaoauto.map.sdk.open.location.LocationListener; import com.zhidaoauto.map.sdk.open.location.MyLocationStyle; -import com.zhidaoauto.map.sdk.open.location.RTKAutopilotLocationBean; import com.zhidaoauto.map.sdk.open.marker.BitmapDescriptorFactory; import com.zhidaoauto.map.sdk.open.marker.Marker; import com.zhidaoauto.map.sdk.open.marker.OnMarkClickListener; @@ -83,14 +79,12 @@ import com.zhjt.service.chain.TracingConstants; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.json.JSONObject; import java.util.ArrayList; import java.util.List; public class AMapViewWrapper implements IMogoMapView, IMogoMapUIController, - LocationListener, OnMapLoadedListener, MapStatusListener, OnCameraChangeListener, @@ -180,10 +174,6 @@ public class AMapViewWrapper implements IMogoMapView, mMapView.setOnMapLoadedListener(this); mMapView.setOnMapTouchListener(this); mMapView.setOnMapClickListener(this); - LocationClient client = mMapView.getLocationClient(); - if (client != null) { - client.registerListener(this); - } mMapView.registerListener(this, MapAutoApi.LISTENER_TYPE_ZOOM); mMapView.registerListener(this, MapAutoApi.LISTENER_TYPE_ROTATE); mMapView.registerListener(this, MapAutoApi.LISTENER_TYPE_3D); @@ -208,7 +198,7 @@ public class AMapViewWrapper implements IMogoMapView, @Override public void onStopLineInfo(@androidx.annotation.Nullable StopLine stopLine) { - MogoLocation carLoc = CallerMapLocationListenerManager.INSTANCE.getCurrentLocation(); + MogoLocation carLoc = CallerChassisLocationGCJ20ListenerManager.INSTANCE.getChassisLocationGCJ02(); if (stopLine != null && stopLine.road_id != null && !stopLine.road_id.isEmpty() && stopLine.points != null && stopLine.points.size() > 0) { ArrayList points = stopLine.points; if (carLoc != null) { @@ -316,7 +306,6 @@ public class AMapViewWrapper implements IMogoMapView, mMapView.setOnMapLoadedListener(null); mMapView.setOnMapTouchListener(null); mMapView.setOnMapClickListener(null); - mMapView.getLocationClient().unRegisterListener(this); mMapView.setOnCameraChangeListener(null); MapAutoApi.INSTANCE.unregisterLogListener(this); CallerLogger.INSTANCE.d(M_MAP + TAG, "map onDestroy"); @@ -694,37 +683,6 @@ public class AMapViewWrapper implements IMogoMapView, CallerMapDevaListenerManager.INSTANCE.invokeUploadLogFile(filePath); } - @Override - public void onLocationChanged(@NotNull com.zhidaoauto.map.sdk.open.location.MogoLocation location) { - CallerMapLocationListenerManager.INSTANCE.setCurrentLocation(ObjectUtils.fromLocation(location)); - // 将有效经纬度暂存本地,提供给下一次的Http-DNS使用,防止首次请求位置获取不到 - if (location.getLat() > 0 && location.getLon() > 0) { - if (location.getCityCode() != null && !location.getCityCode().isEmpty()) { - SharedPrefsMgr.getInstance(mMapView.getContext()) - .putString(SharedPrefsConstants.LOCATION_CITY_CODE, location.getCityCode()); - } - SharedPrefsMgr.getInstance(mMapView.getContext()) - .putString(SharedPrefsConstants.LOCATION_LATITUDE, String.valueOf(location.getLat())); - SharedPrefsMgr.getInstance(mMapView.getContext()) - .putString(SharedPrefsConstants.LOCATION_LONGITUDE, String.valueOf(location.getLon())); - } - - if (checkAMapView() && mMapLoaded) { - // 地图初始化完成后,每隔5s自动判断当前地图的模式 - if (mIsFirstLocated) { - if (!mIsDelayed) { - mIsDelayed = true; - UiThreadHandler.postDelayed(() -> { - //CallerLogger.INSTANCE.d(M_MAP+TAG, "倒计时结束"); - mIsFirstLocated = false; - }, 5_000L); - } - } else { - mIsFirstLocated = true; - mIsDelayed = false; - } - } - } @Override public void onMapClick(@Nullable LonLatPoint lonLatPoint) { @@ -889,42 +847,6 @@ public class AMapViewWrapper implements IMogoMapView, } } - @Override - public void syncLocation2Map(JSONObject data) { - if (!checkAMapView()) { - return; - } - if (data == null) { - CallerLogger.INSTANCE.d(M_MAP + TAG, "停止使用rtk定位数据"); - return; - } - double lon = data.optDouble("lon", -1); - double lat = data.optDouble("lat", -1); - double alt = data.optDouble("alt", -1); - double heading = data.optDouble("heading", -1); - double acceleration = data.optDouble("acceleration", -1); - double yawRate = data.optDouble("yawRate", -1); - double speed = data.optDouble("speed", -1); - long systemTime = data.optLong("systemTime"); - long satelliteTime = data.optLong("satelliteTime"); - - if (lon == -1) { - return; - } - RTKAutopilotLocationBean bean = new RTKAutopilotLocationBean(); - bean.setYaw_rate(yawRate); - bean.setHeading(heading); - bean.setAcceleration(acceleration); - bean.setAlt(alt); - bean.setSystemTime(systemTime); - bean.setSatelliteTime(satelliteTime); - bean.setLon(lon); - bean.setGnss_speed(((float) speed)); - bean.setLat(lat); - // 使用外部定位数据修改自车位置 - mMapView.getLocationClient().updateRTKAutoPilotLocation(bean); - CallerMapDataCollectorManager.INSTANCE.setIsInit(); - } @Override public void stepInVrMode(boolean isDayMode) { diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java b/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java index fe395a8603..a0e6c9c882 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java +++ b/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java @@ -14,8 +14,6 @@ import com.mogo.map.uicontroller.MapCameraPosition; import com.mogo.map.uicontroller.MapControlResult; import com.mogo.map.uicontroller.VisualAngleMode; -import org.json.JSONObject; - import java.util.List; /** @@ -322,14 +320,6 @@ public class MogoMapUIController implements IMogoMapUIController { } } - @Override - public void syncLocation2Map(JSONObject data) { - initDelegate(); - if (mDelegate != null) { - mDelegate.syncLocation2Map(data); - } - } - @Override public void destroy() { mDelegate = null; diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/uicontroller/AMapUIController.java b/libraries/mogo-map/src/main/java/com/mogo/map/uicontroller/AMapUIController.java index beb1cdc8fd..7c2283a699 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/uicontroller/AMapUIController.java +++ b/libraries/mogo-map/src/main/java/com/mogo/map/uicontroller/AMapUIController.java @@ -9,8 +9,6 @@ import com.mogo.eagle.core.data.map.MogoLatLng; import com.mogo.eagle.core.data.map.MogoLocation; import com.zhidaoauto.map.sdk.open.MapAutoApi; -import org.json.JSONObject; - import java.util.List; /** @@ -283,12 +281,6 @@ public class AMapUIController implements IMogoMapUIController { } } - @Override - public void syncLocation2Map(JSONObject data) { - if (mClient != null) { - mClient.syncLocation2Map(data); - } - } @Override public void stepInVrMode(boolean isDayMode) { From d8e2029fa5c69914e6340009fe1e6adb1105932b Mon Sep 17 00:00:00 2001 From: donghongyu Date: Tue, 7 Feb 2023 20:57:49 +0800 Subject: [PATCH 02/18] =?UTF-8?q?[dev=5Farch=5Fopt=5F3.0]=20[Change]=20[?= =?UTF-8?q?=201=E3=80=81=E5=BD=BB=E5=BA=95=E8=A7=A3=E5=86=B3=E5=9C=B0?= =?UTF-8?q?=E5=9B=BE=E8=B7=B3=E5=8F=98=E9=97=AE=E9=A2=98=EF=BC=8C=E5=8E=9F?= =?UTF-8?q?=E5=9B=A0=E6=98=AF=E5=9B=A0=E4=B8=BA=E4=BD=8D=E7=BD=AE=E8=BD=AC?= =?UTF-8?q?=E5=8F=98GCJ02=E6=97=B6=E5=80=99=E5=B0=86=E7=BB=8F=E7=BA=AC?= =?UTF-8?q?=E5=BA=A6=E8=AE=BE=E7=BD=AE=E5=9B=9E=E5=8E=BB=E4=BA=86=EF=BC=8C?= =?UTF-8?q?=E4=BB=8E=E8=80=8C=E5=BC=95=E8=B5=B7=E4=BD=8D=E7=BD=AE=E5=BC=82?= =?UTF-8?q?=E5=B8=B8=20]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: donghongyu --- .../bus/passenger/model/BusPassengerModel.java | 6 +++--- .../ui/BusPassengerMapDirectionView.java | 6 +++--- .../com/mogo/och/bus/model/BusOrderModel.java | 6 +++--- .../module/biz/model/OchCommonLoginModel.kt | 6 +++--- .../och/sweeper/model/SweeperOrderModel.java | 6 +++--- .../taxi/passenger/model/TaxiPassengerModel.java | 6 +++--- .../ui/TaxiPassengerMapDirectionView.java | 6 +++--- .../java/com/mogo/och/taxi/model/TaxiModel.java | 6 +++--- .../mogo/och/taxi/ui/TaxiMapDirectionView.java | 6 +++--- .../function/biz/monitoring/CronTaskManager.kt | 6 +++--- .../redlightwarning/RedLightWarningManager.kt | 6 +++--- .../trafficlight/core/MogoTrafficLightManager.kt | 4 ++-- .../core/function/chat/facade/MoGoChatFacade.kt | 8 ++++---- .../function/chat/facade/net/ChatServiceModel.kt | 6 +++--- .../location/MoGoLocationDispatcher.kt | 10 ++++++---- .../env/EnvChangeManager.kt | 4 ++-- .../function/hmi/ui/setting/DebugSettingView.kt | 3 +-- .../function/hmi/ui/widget/SpeedPanelView.kt | 6 +++--- .../function/business/SpeedLimitDataManager.java | 4 ++-- .../collect/MoGoMapDataCollectProvider.kt | 6 +++--- .../routeoverlay/MogoRouteOverlayManager.java | 4 ++-- .../eagle/core/function/smp/view/SmallMapView.kt | 8 ++++---- .../mogo/eagle/core/function/view/OverMapView.kt | 6 +++--- .../function/startup/stageone/HttpDnsStartUp.kt | 8 ++++---- .../core/function/v2x/events/V2XEventManager.kt | 6 +++--- .../manager/impl/MoGoV2XMarkerManager.java | 4 ++-- .../v2x/events/remove/MarkerRemoveManager.kt | 8 ++++---- ...CallerChassisLocationGCJ02ListenerManager.kt} | 16 +++++++++++----- .../CallerChassisLocationWGS84ListenerManager.kt | 8 +++++--- .../call/map/CallerVisualAngleManager.kt | 4 ++-- .../main/java/com/mogo/map/AMapViewWrapper.java | 8 ++++++-- .../src/main/java/com/mogo/map/MogoMapView.java | 1 + 32 files changed, 106 insertions(+), 92 deletions(-) rename core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/{CallerChassisLocationGCJ20ListenerManager.kt => CallerChassisLocationGCJ02ListenerManager.kt} (86%) diff --git a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/model/BusPassengerModel.java b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/model/BusPassengerModel.java index 48b2c39fa2..b4cdfb2088 100644 --- a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/model/BusPassengerModel.java +++ b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/model/BusPassengerModel.java @@ -29,7 +29,7 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener; import com.mogo.eagle.core.function.api.autopilot.IMoGoPlanningRottingListener; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager; -import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager; +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager; import com.mogo.eagle.core.function.call.autopilot.CallerPlanningRottingListenerManager; import com.mogo.eagle.core.network.utils.GsonUtil; import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils; @@ -272,7 +272,7 @@ public class BusPassengerModel { IntentManager.getInstance().registerIntentListener(ConnectivityManager.CONNECTIVITY_ACTION, mNetWorkIntentListener ); MogoStatusManager.getInstance().registerStatusChangedListener(TAG, StatusDescriptor.VR_MODE, mMogoStatusChangedListener ); // 定位监听 - CallerChassisLocationGCJ20ListenerManager.INSTANCE.addListener(TAG, mMapLocationListener); + CallerChassisLocationGCJ02ListenerManager.INSTANCE.addListener(TAG, mMapLocationListener); //2021.11.1 自动驾驶路线规划接口 CallerPlanningRottingListenerManager.INSTANCE.addListener(TAG,moGoAutopilotPlanningListener); @@ -284,7 +284,7 @@ public class BusPassengerModel { MogoStatusManager.getInstance().unregisterStatusChangedListener(TAG, StatusDescriptor.VR_MODE, mMogoStatusChangedListener); // 注销定位监听 - CallerChassisLocationGCJ20ListenerManager.INSTANCE.removeListener(TAG); + CallerChassisLocationGCJ02ListenerManager.INSTANCE.removeListener(TAG); MogoAiCloudSocketManager.getInstance(mContext) .unregisterLifecycleListener(10010); diff --git a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/ui/BusPassengerMapDirectionView.java b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/ui/BusPassengerMapDirectionView.java index feead6bbb2..dcc64d082e 100644 --- a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/ui/BusPassengerMapDirectionView.java +++ b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/ui/BusPassengerMapDirectionView.java @@ -29,7 +29,7 @@ import com.amap.api.maps.model.Polyline; import com.amap.api.maps.model.PolylineOptions; import com.mogo.eagle.core.data.map.MogoLocation; import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener; -import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager; +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.och.bus.passenger.R; import com.mogo.och.bus.passenger.callback.IBusPassengerMapViewCallback; @@ -103,14 +103,14 @@ public class BusPassengerMapDirectionView initAMapView(); // 注册定位监听 - CallerChassisLocationGCJ20ListenerManager.INSTANCE.addListener(TAG, this); + CallerChassisLocationGCJ02ListenerManager.INSTANCE.addListener(TAG, this); } @Override protected void onDetachedFromWindow() { super.onDetachedFromWindow(); // 注册定位监听 - CallerChassisLocationGCJ20ListenerManager.INSTANCE.removeListener(TAG); + CallerChassisLocationGCJ02ListenerManager.INSTANCE.removeListener(TAG); } private void initAMapView() { diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java index 0e235a4f5e..041657e1a7 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java @@ -30,7 +30,7 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Liste import com.mogo.eagle.core.function.api.autopilot.IMoGoPlanningRottingListener; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager; -import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager; +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager; import com.mogo.eagle.core.function.call.autopilot.CallerPlanningRottingListenerManager; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.util.NetworkUtils; @@ -151,7 +151,7 @@ public class BusOrderModel { mContext = AbsMogoApplication.getApp(); loginService = (LoginService) ARouter.getInstance().build(OchCommonConst.LOGINSERVICE).navigation(); // 定位监听 - CallerChassisLocationGCJ20ListenerManager.INSTANCE.addListener(TAG, mMapLocationListener); + CallerChassisLocationGCJ02ListenerManager.INSTANCE.addListener(TAG, mMapLocationListener); MogoStatusManager.getInstance().registerStatusChangedListener(TAG, StatusDescriptor.VR_MODE, mMogoStatusChangedListener); @@ -331,7 +331,7 @@ public class BusOrderModel { MogoStatusManager.getInstance().unregisterStatusChangedListener(TAG, StatusDescriptor.VR_MODE, mMogoStatusChangedListener); // 注销定位监听 - CallerChassisLocationGCJ20ListenerManager.INSTANCE.removeListener(TAG); + CallerChassisLocationGCJ02ListenerManager.INSTANCE.removeListener(TAG); //自动驾驶路线规划接口 CallerPlanningRottingListenerManager.INSTANCE.removeListener(moGoAutopilotPlanningListener); diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/model/OchCommonLoginModel.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/model/OchCommonLoginModel.kt index 8697396a31..4b48f87c59 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/model/OchCommonLoginModel.kt +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/model/OchCommonLoginModel.kt @@ -5,7 +5,7 @@ import android.content.Context import com.mogo.eagle.core.data.BaseData import com.mogo.eagle.core.data.map.MogoLocation import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener -import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager import com.mogo.eagle.core.utilcode.util.NetworkUtils import com.mogo.eagle.core.utilcode.util.SharedPrefs import com.mogo.eagle.core.utilcode.util.ToastUtils @@ -36,7 +36,7 @@ object OchCommonLoginModel : IMoGoChassisLocationGCJ02Listener { fun init(context: Context) { mContext = context.applicationContext // 达到起始站围栏监听 - CallerChassisLocationGCJ20ListenerManager.addListener(TAG, this) + CallerChassisLocationGCJ02ListenerManager.addListener(TAG, this) } fun hasInit(): Boolean { @@ -65,7 +65,7 @@ object OchCommonLoginModel : IMoGoChassisLocationGCJ02Listener { mContext = null iTaxiLoginCallback = null // 注销到达起始站围栏监听 - CallerChassisLocationGCJ20ListenerManager.removeListener(TAG) + CallerChassisLocationGCJ02ListenerManager.removeListener(TAG) } /** diff --git a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/model/SweeperOrderModel.java b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/model/SweeperOrderModel.java index 6a3e17c094..38a5dd65e2 100644 --- a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/model/SweeperOrderModel.java +++ b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/model/SweeperOrderModel.java @@ -24,7 +24,7 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Liste import com.mogo.eagle.core.function.api.autopilot.IMoGoPlanningRottingListener; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager; -import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager; +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager; import com.mogo.eagle.core.function.call.autopilot.CallerPlanningRottingListenerManager; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.mogo.logger.Logger; @@ -123,7 +123,7 @@ public class SweeperOrderModel { public void init() { mContext = AbsMogoApplication.getApp(); // 定位监听 - CallerChassisLocationGCJ20ListenerManager.INSTANCE.addListener(TAG,mMapLocationListener); + CallerChassisLocationGCJ02ListenerManager.INSTANCE.addListener(TAG,mMapLocationListener); MogoStatusManager.getInstance().registerStatusChangedListener(TAG, StatusDescriptor.VR_MODE, mMogoStatusChangedListener); @@ -248,7 +248,7 @@ public class SweeperOrderModel { startOrStopOrderLoop(false); MogoStatusManager.getInstance().unregisterStatusChangedListener(TAG, StatusDescriptor.VR_MODE, mMogoStatusChangedListener); // 注销定位监听 - CallerChassisLocationGCJ20ListenerManager.INSTANCE.removeListener(TAG); + CallerChassisLocationGCJ02ListenerManager.INSTANCE.removeListener(TAG); //自动驾驶路线规划接口 CallerPlanningRottingListenerManager.INSTANCE.removeListener(moGoAutopilotPlanningListener); diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java index b0db9b0441..74ec039d91 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java @@ -34,7 +34,7 @@ import com.mogo.eagle.core.function.api.msgbox.IMsgBoxEventListener; import com.mogo.eagle.core.function.api.v2x.ILimitingVelocityListener; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager; -import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager; +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager; import com.mogo.eagle.core.function.call.autopilot.CallerPlanningRottingListenerManager; import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxEventListenerManager; import com.mogo.eagle.core.function.call.v2x.CallerLimitingVelocityListenerManager; @@ -241,7 +241,7 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback IntentManager.getInstance().registerIntentListener( ConnectivityManager.CONNECTIVITY_ACTION, mNetWorkIntentListener ); MogoStatusManager.getInstance().registerStatusChangedListener(TAG, StatusDescriptor.VR_MODE, mMogoStatusChangedListener); // 定位监听 - CallerChassisLocationGCJ20ListenerManager.INSTANCE.addListener(TAG,mMapLocationListener); + CallerChassisLocationGCJ02ListenerManager.INSTANCE.addListener(TAG,mMapLocationListener); //2021.11.1 自动驾驶路线规划接口 CallerPlanningRottingListenerManager.INSTANCE.addListener(TAG,moGoAutopilotPlanningListener); @@ -261,7 +261,7 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback MogoStatusManager.getInstance().unregisterStatusChangedListener(TAG, StatusDescriptor.VR_MODE, mMogoStatusChangedListener); // 注销定位监听 - CallerChassisLocationGCJ20ListenerManager.INSTANCE.removeListener(TAG); + CallerChassisLocationGCJ02ListenerManager.INSTANCE.removeListener(TAG); MogoAiCloudSocketManager.getInstance(mContext) .unregisterLifecycleListener(10010); diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerMapDirectionView.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerMapDirectionView.java index a46631ede1..22a4f14fef 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerMapDirectionView.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerMapDirectionView.java @@ -31,7 +31,7 @@ import com.amap.api.maps.model.PolylineOptions; import com.mogo.eagle.core.data.map.MogoLatLng; import com.mogo.eagle.core.data.map.MogoLocation; import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener; -import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager; +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.och.taxi.passenger.R; import com.mogo.och.taxi.passenger.callback.ITaxiPassengerMapViewCallback; @@ -104,14 +104,14 @@ public class TaxiPassengerMapDirectionView initAMapView(); // 注册定位监听 - CallerChassisLocationGCJ20ListenerManager.INSTANCE.addListener(TAG, this); + CallerChassisLocationGCJ02ListenerManager.INSTANCE.addListener(TAG, this); } @Override protected void onDetachedFromWindow() { super.onDetachedFromWindow(); // 注册定位监听 - CallerChassisLocationGCJ20ListenerManager.INSTANCE.removeListener(TAG); + CallerChassisLocationGCJ02ListenerManager.INSTANCE.removeListener(TAG); } private void initAMapView() { diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java index 33d6dce284..2b7db7e77d 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java @@ -32,7 +32,7 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Liste import com.mogo.eagle.core.function.api.autopilot.IMoGoPlanningRottingListener; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager; -import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager; +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager; import com.mogo.eagle.core.function.call.autopilot.CallerPlanningRottingListenerManager; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr; @@ -223,7 +223,7 @@ public class TaxiModel { MogoStatusManager.getInstance().registerStatusChangedListener(TAG, StatusDescriptor.VR_MODE, mMogoStatusChangedListener); //定位监听, 传false是高德坐标系 - CallerChassisLocationGCJ20ListenerManager.INSTANCE.addListener(TAG,mMapLocationLIstener); + CallerChassisLocationGCJ02ListenerManager.INSTANCE.addListener(TAG,mMapLocationLIstener); //2021.11.1 自动驾驶路线规划接口 CallerPlanningRottingListenerManager.INSTANCE.addListener(TAG, moGoAutopilotPlanningListener); @@ -262,7 +262,7 @@ public class TaxiModel { MogoStatusManager.getInstance().unregisterStatusChangedListener(TAG, StatusDescriptor.VR_MODE, mMogoStatusChangedListener); // 注销地图监听 - CallerChassisLocationGCJ20ListenerManager.INSTANCE.removeListener(TAG); + CallerChassisLocationGCJ02ListenerManager.INSTANCE.removeListener(TAG); OCHSocketMessageManager.INSTANCE.releaseSocketMessageListener(OCHSocketMessageManager.msgMonitorType); diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiMapDirectionView.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiMapDirectionView.java index d6790c228e..b2fa0f7929 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiMapDirectionView.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiMapDirectionView.java @@ -31,7 +31,7 @@ import com.amap.api.maps.model.PolylineOptions; import com.mogo.eagle.core.data.map.MogoLatLng; import com.mogo.eagle.core.data.map.MogoLocation; import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener; -import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager; +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.och.taxi.R; import com.mogo.och.taxi.utils.TaxiMapAssetStyleUtil; @@ -98,14 +98,14 @@ public class TaxiMapDirectionView initAMapView(); // 注册定位监听 - CallerChassisLocationGCJ20ListenerManager.INSTANCE.addListener(TAG, this); + CallerChassisLocationGCJ02ListenerManager.INSTANCE.addListener(TAG, this); } @Override protected void onDetachedFromWindow() { super.onDetachedFromWindow(); // 注册定位监听 - CallerChassisLocationGCJ20ListenerManager.INSTANCE.removeListener(TAG); + CallerChassisLocationGCJ02ListenerManager.INSTANCE.removeListener(TAG); } private void initAMapView() { diff --git a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/monitoring/CronTaskManager.kt b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/monitoring/CronTaskManager.kt index 97760ac020..208f809f1a 100644 --- a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/monitoring/CronTaskManager.kt +++ b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/monitoring/CronTaskManager.kt @@ -7,7 +7,7 @@ import com.mogo.commons.constants.HostConst import com.mogo.commons.utils.RetryWithDelay import com.mogo.eagle.core.data.camera.CameraEntity import com.mogo.eagle.core.data.camera.ReqLiveCarBean -import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager import com.mogo.eagle.core.function.call.hmi.CallerHmiManager import com.mogo.eagle.core.network.MoGoRetrofitFactory import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger @@ -90,7 +90,7 @@ class CronTaskManager { * 请求路口一定范围内的设备信息(包含:摄像头、灯) */ private fun requestDeviceList() { - CallerChassisLocationGCJ20ListenerManager.getChassisLocationGCJ02()?.let { location -> + CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02()?.let { location -> disposable = MoGoRetrofitFactory.getInstance(HostConst.getEagleHost()) .create(ICameraListServices::class.java) .getDeviceList(location.longitude, location.latitude, 500) @@ -124,7 +124,7 @@ class CronTaskManager { } private fun requestCarCameraList() { - CallerChassisLocationGCJ20ListenerManager.getChassisLocationGCJ02()?.let { location -> + CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02()?.let { location -> carDisposable = MoGoRetrofitFactory.getInstance(HostConst.getEagleHost()) .create(ICameraListServices::class.java) .getCarCameraList(ReqLiveCarBean(location.longitude, location.latitude)) diff --git a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/redlightwarning/RedLightWarningManager.kt b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/redlightwarning/RedLightWarningManager.kt index 7f01bcdaa1..d84b81416c 100644 --- a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/redlightwarning/RedLightWarningManager.kt +++ b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/redlightwarning/RedLightWarningManager.kt @@ -15,7 +15,7 @@ import com.mogo.eagle.core.data.trafficlight.TrafficLightStatusHelper.getCurrent import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener import com.mogo.eagle.core.function.api.v2x.IMoGoTrafficLightListener import com.mogo.eagle.core.function.api.v2x.IMoGoVipSetListener -import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager import com.mogo.eagle.core.function.call.hmi.CallerHmiManager import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager @@ -84,7 +84,7 @@ class RedLightWarningManager : IMoGoTrafficLightListener, IMoGoVipSetListener, fun listenTrafficLight() { CallerTrafficLightListenerManager.addListener(TAG, this) - CallerChassisLocationGCJ20ListenerManager.addListener(TAG, this) + CallerChassisLocationGCJ02ListenerManager.addListener(TAG, this) CallVipSetListenerManager.addListener(TAG, this) } @@ -266,7 +266,7 @@ class RedLightWarningManager : IMoGoTrafficLightListener, IMoGoVipSetListener, fun onDestroy() { CallVipSetListenerManager.removeListener(TAG) CallerTrafficLightListenerManager.removeListener(TAG) - CallerChassisLocationGCJ20ListenerManager.removeListener(TAG) + CallerChassisLocationGCJ02ListenerManager.removeListener(TAG) } override fun onChassisLocationGCJ02(gnssInfo: MogoLocation?) { diff --git a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/trafficlight/core/MogoTrafficLightManager.kt b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/trafficlight/core/MogoTrafficLightManager.kt index e283175554..98f7915b94 100644 --- a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/trafficlight/core/MogoTrafficLightManager.kt +++ b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/trafficlight/core/MogoTrafficLightManager.kt @@ -6,7 +6,7 @@ import android.os.Looper import com.mogo.eagle.core.data.map.MogoLocation import com.mogo.eagle.core.data.trafficlight.* import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener -import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager import com.mogo.eagle.core.function.call.v2x.CallerTrafficLightListenerManager import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger @@ -41,7 +41,7 @@ class MogoTrafficLightManager : IMoGoChassisLocationGCJ02Listener { fun initServer(context: Context) { mContext = context - CallerChassisLocationGCJ20ListenerManager.addListener(TAG, this) + CallerChassisLocationGCJ02ListenerManager.addListener(TAG, this) mThreadHandler = TrafficLightThreadHandler(Looper.getMainLooper(), { //第一次查询路口时,如果红绿灯显示,则隐藏掉 diff --git a/core/function-impl/mogo-core-function-chat/src/main/java/com/mogo/eagle/core/function/chat/facade/MoGoChatFacade.kt b/core/function-impl/mogo-core-function-chat/src/main/java/com/mogo/eagle/core/function/chat/facade/MoGoChatFacade.kt index 5abfb9d20d..86fd3cb4c1 100644 --- a/core/function-impl/mogo-core-function-chat/src/main/java/com/mogo/eagle/core/function/chat/facade/MoGoChatFacade.kt +++ b/core/function-impl/mogo-core-function-chat/src/main/java/com/mogo/eagle/core/function/chat/facade/MoGoChatFacade.kt @@ -15,7 +15,7 @@ import com.mogo.eagle.core.function.api.chat.biz.IMCallType.CALL_TYPE_DEFAULT import com.mogo.eagle.core.function.api.chat.biz.IMCallType.CALL_TYPE_VEHICLE_TEAM import com.mogo.eagle.core.function.api.chat.biz.IMCallType.CALL_TYPE_VOICE import com.mogo.eagle.core.function.api.chat.biz.IMType.* -import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager import com.mogo.eagle.core.function.chat.facade.analytics.ChatAnalyticsFacade import com.mogo.eagle.core.function.chat.facade.audio.AudioFocusFacade import com.mogo.eagle.core.function.chat.facade.bridge.BridgeApi @@ -581,7 +581,7 @@ object MoGoChatFacade: IMoGoChatFacade { } //告之服务器给发送方下发接收通话消息 try { - val location = CallerChassisLocationGCJ20ListenerManager.getChassisLocationGCJ02() + val location = CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02() val response = serverApi.requestConnectStatus(ConnectStatusParam(MoGoAiCloudClientConfig.getInstance().sn, sn, roomId, PUSH_MSG_AGREE_ENTER, CALL_TYPE_VOICE.type).also { it.nickName = mySelf.get().name it.headImgUrl = mySelf.get().icon @@ -812,7 +812,7 @@ object MoGoChatFacade: IMoGoChatFacade { } val response = serverApi.inviteJoinVehicleTeam(CallRequestParam().also { val user = mySelf.get() - val location = CallerChassisLocationGCJ20ListenerManager.getChassisLocationGCJ02() + val location = CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02() it.snSender = mySn it.snReceiver = sn it.nickName = user.name @@ -958,7 +958,7 @@ object MoGoChatFacade: IMoGoChatFacade { } //告之服务器给发送方下发接收通话消息 try { - val location = CallerChassisLocationGCJ20ListenerManager.getChassisLocationGCJ02() + val location = CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02() val response = serverApi.requestConnectStatus(ConnectStatusParam(MoGoAiCloudClientConfig.getInstance().sn, sn, roomId, PUSH_MSG_AGREE_ENTER, CALL_TYPE_VEHICLE_TEAM.type).also { it.nickName = mySelf.get().name it.headImgUrl = mySelf.get().icon diff --git a/core/function-impl/mogo-core-function-chat/src/main/java/com/mogo/eagle/core/function/chat/facade/net/ChatServiceModel.kt b/core/function-impl/mogo-core-function-chat/src/main/java/com/mogo/eagle/core/function/chat/facade/net/ChatServiceModel.kt index 94897cb400..6a5edf5625 100644 --- a/core/function-impl/mogo-core-function-chat/src/main/java/com/mogo/eagle/core/function/chat/facade/net/ChatServiceModel.kt +++ b/core/function-impl/mogo-core-function-chat/src/main/java/com/mogo/eagle/core/function/chat/facade/net/ChatServiceModel.kt @@ -8,7 +8,7 @@ import com.mogo.eagle.core.data.BaseResponse import com.mogo.eagle.core.data.chat.UserInfo import com.mogo.eagle.core.function.api.chat.biz.ChatConsts import com.mogo.eagle.core.function.api.chat.biz.IMCallType.CALL_TYPE_VOICE -import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager import com.mogo.eagle.core.function.chat.facade.net.bean.* import com.mogo.eagle.core.network.MoGoRetrofitFactory import com.mogo.eagle.core.utilcode.mogo.logger.Logger @@ -69,7 +69,7 @@ internal class ChatServiceModel { val map = hashMapOf() val sn = MoGoAiCloudClientConfig.getInstance().sn - val location = CallerChassisLocationGCJ20ListenerManager.getChassisLocationGCJ02() + val location = CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02() if (location != null) { params.lon = location.longitude params.lat = location.latitude @@ -103,7 +103,7 @@ internal class ChatServiceModel { suspend fun requestRoomInfo(param: CallRequestParam): BaseResponse { val map = hashMapOf() - val location = CallerChassisLocationGCJ20ListenerManager.getChassisLocationGCJ02() + val location = CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02() if (location != null) { param.lat = location.latitude param.lon = location.longitude diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/location/MoGoLocationDispatcher.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/location/MoGoLocationDispatcher.kt index 3808caa1d5..4b5444ccb2 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/location/MoGoLocationDispatcher.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/location/MoGoLocationDispatcher.kt @@ -12,11 +12,12 @@ import com.mogo.eagle.core.data.map.MogoLocation import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisGnssListener import com.mogo.eagle.core.function.api.obu.IMoGoObuLocationWGS84Listener import com.mogo.eagle.core.function.call.autopilot.CallerChassisGnssListenerManager -import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationWGS84ListenerManager import com.mogo.eagle.core.function.call.obu.CallerObuLocationWGS84ListenerManager import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr import com.mogo.eagle.core.utilcode.util.CoordinateTransform +import com.mogo.eagle.core.utilcode.util.FileUtils import com.mogo.eagle.core.utilcode.util.TimeUtils import com.mogo.eagle.core.utilcode.util.Utils import com.mogo.support.obu.model.MogoObuHvBasicsData @@ -106,6 +107,7 @@ object MoGoLocationDispatcher : lastGnssLocation.errorCode = it.errorCode lastGnssLocation.errorInfo = it.errorInfo } + //FileUtils.writeToFile("/sdcard/Download/", "location_wgs84.txt", "${gnssInfo.longitude},${gnssInfo.latitude}\n") if (1 == FunctionBuildConfig.gpsProvider) { // WGS84坐标系高精度位置信息 CallerChassisLocationWGS84ListenerManager.invokeChassisLocationWGS84( @@ -113,7 +115,7 @@ object MoGoLocationDispatcher : DataSourceType.TELEMATIC ) // GCJ02高德坐标系位置信息 - CallerChassisLocationGCJ20ListenerManager.invokeChassisLocationGCJ02( + CallerChassisLocationGCJ02ListenerManager.invokeChassisLocationGCJ02( lastGnssLocation, DataSourceType.TELEMATIC ) @@ -205,7 +207,7 @@ object MoGoLocationDispatcher : DataSourceType.MAP ) // GCJ02高德坐标系位置信息 - CallerChassisLocationGCJ20ListenerManager.invokeChassisLocationGCJ02( + CallerChassisLocationGCJ02ListenerManager.invokeChassisLocationGCJ02( lastGaoDeLocation, DataSourceType.MAP ) @@ -252,7 +254,7 @@ object MoGoLocationDispatcher : DataSourceType.OBU ) // GCJ02高德坐标系位置信息 - CallerChassisLocationGCJ20ListenerManager.invokeChassisLocationGCJ02( + CallerChassisLocationGCJ02ListenerManager.invokeChassisLocationGCJ02( lastOBULocation, DataSourceType.OBU ) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/env/EnvChangeManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/env/EnvChangeManager.kt index 64094a2efa..fdf119aeb2 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/env/EnvChangeManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/env/EnvChangeManager.kt @@ -5,7 +5,7 @@ import android.os.Process import com.mogo.commons.constants.SharedPrefsConstants import com.mogo.commons.debug.DebugConfig import com.mogo.eagle.core.data.EnvConfig -import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr import com.mogo.eagle.core.utilcode.util.Utils @@ -34,7 +34,7 @@ object EnvChangeManager { fun getCityName(): String { val cache = getConfig() return if (cache == null) { - when(CallerChassisLocationGCJ20ListenerManager.getChassisLocationGCJ02()?.cityCode ?: SharedPrefsMgr.getInstance(Utils.getApp()).getString(SharedPrefsConstants.LOCATION_CITY_CODE) ?: "010") { + when(CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02()?.cityCode ?: SharedPrefsMgr.getInstance(Utils.getApp()).getString(SharedPrefsConstants.LOCATION_CITY_CODE) ?: "010") { "010" -> "北京" "0734" -> "衡阳" else -> "未知" 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 f6f661a829..0a9dc643c1 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 @@ -52,7 +52,6 @@ import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsListenerManage import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager import com.mogo.eagle.core.function.call.hmi.CallerHmiManager import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager -import com.mogo.eagle.core.function.call.map.CallerSmpManager import com.mogo.eagle.core.function.call.obu.CallerObuApiManager import com.mogo.eagle.core.function.call.obu.CallerObuConnectListenerManager import com.mogo.eagle.core.function.call.setting.CallerMoGoUiSettingManager @@ -233,7 +232,7 @@ internal class DebugSettingView @JvmOverloads constructor( // 移除 ADAS车辆状态&定位 监听 CallerChassisLocationWGS84ListenerManager.removeListener(TAG) // 移除 地图样式改变 监听 - CallerChassisLocationGCJ20ListenerManager.removeListener(TAG) + CallerChassisLocationGCJ02ListenerManager.removeListener(TAG) // 移除 域控制器感知数据 监听 CallerAutopilotIdentifyListenerManager.removeListener(TAG) // 移除 规划路径相关回调 监听 diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SpeedPanelView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SpeedPanelView.kt index 2f36d696e4..93fb48fd71 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SpeedPanelView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SpeedPanelView.kt @@ -7,7 +7,7 @@ import android.view.Gravity import android.widget.FrameLayout import com.mogo.eagle.core.data.map.MogoLocation import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener -import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.utilcode.util.UiThreadHandler @@ -55,7 +55,7 @@ class SpeedPanelView @JvmOverloads constructor( override fun onAttachedToWindow() { super.onAttachedToWindow() // 注册位置回调 - CallerChassisLocationGCJ20ListenerManager.addListener(TAG, this) + CallerChassisLocationGCJ02ListenerManager.addListener(TAG, this) // 开启定时查询速度 timerTask?.cancel() val task = object : TimerTask() { @@ -86,7 +86,7 @@ class SpeedPanelView @JvmOverloads constructor( override fun onDetachedFromWindow() { super.onDetachedFromWindow() // 解除注册 - CallerChassisLocationGCJ20ListenerManager.removeListener(TAG) + CallerChassisLocationGCJ02ListenerManager.removeListener(TAG) try { timerTask?.cancel() } catch (e: Exception) { diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/SpeedLimitDataManager.java b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/SpeedLimitDataManager.java index 63243e5721..60c7d0eba3 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/SpeedLimitDataManager.java +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/SpeedLimitDataManager.java @@ -5,7 +5,7 @@ import androidx.annotation.Nullable; import com.mogo.eagle.core.data.enums.DataSourceType; import com.mogo.eagle.core.data.map.MogoLocation; import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener; -import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager; +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager; import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager; import com.mogo.eagle.core.function.call.v2x.CallerLimitingVelocityListenerManager; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; @@ -65,7 +65,7 @@ public class SpeedLimitDataManager implements IMoGoChassisLocationGCJ02Listener } public void start() { - CallerChassisLocationGCJ20ListenerManager.INSTANCE.addListener(TAG, this); + CallerChassisLocationGCJ02ListenerManager.INSTANCE.addListener(TAG, this); Timer mTimer = new Timer(); mTimer.schedule(new SpeedTimerTask(), 3000, 1000); } diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/collect/MoGoMapDataCollectProvider.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/collect/MoGoMapDataCollectProvider.kt index 69a1eef78d..f7255df29c 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/collect/MoGoMapDataCollectProvider.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/collect/MoGoMapDataCollectProvider.kt @@ -13,7 +13,7 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotRecordListener import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener import com.mogo.eagle.core.function.api.map.collect.IMoGoMapDataCollectProvider import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotRecordListenerManager -import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_MAP import com.zhidaoauto.map.operational.open.GatherApi @@ -52,7 +52,7 @@ class MoGoMapDataCollectProvider : IMoGoMapDataCollectProvider, OnTaskListener, override fun init(context: Context?) { - CallerChassisLocationGCJ20ListenerManager.addListener(TAG, this) + CallerChassisLocationGCJ02ListenerManager.addListener(TAG, this) CallerAutopilotRecordListenerManager.addListener(TAG, this) executor.set(context?.let { @@ -77,7 +77,7 @@ class MoGoMapDataCollectProvider : IMoGoMapDataCollectProvider, OnTaskListener, override fun onDestroy() { CallerLogger.d("$M_MAP$TAG", "--------- onDestroy --------") - CallerChassisLocationGCJ20ListenerManager.removeListener(TAG) + CallerChassisLocationGCJ02ListenerManager.removeListener(TAG) CallerAutopilotRecordListenerManager.removeListener(TAG) executor.get()?.setOnTaskListener(null) listeners.clear() diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/routeoverlay/MogoRouteOverlayManager.java b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/routeoverlay/MogoRouteOverlayManager.java index 167a8e2df8..9809818667 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/routeoverlay/MogoRouteOverlayManager.java +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/routeoverlay/MogoRouteOverlayManager.java @@ -10,7 +10,7 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener; import com.mogo.eagle.core.function.api.autopilot.IMoGoPlanningTrajectoryListener; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager; -import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager; +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager; import com.mogo.eagle.core.function.call.autopilot.CallerPlanningTrajectoryListenerManager; import org.jetbrains.annotations.NotNull; @@ -43,7 +43,7 @@ public class MogoRouteOverlayManager implements public void init() { CallerPlanningTrajectoryListenerManager.INSTANCE.addListener(TAG, this); CallerAutoPilotStatusListenerManager.INSTANCE.addListener(TAG, this); - CallerChassisLocationGCJ20ListenerManager.INSTANCE.addListener(TAG, this); + CallerChassisLocationGCJ02ListenerManager.INSTANCE.addListener(TAG, this); } public static MogoRouteOverlayManager getInstance() { 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 7d32a12316..e41af8c334 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 @@ -20,7 +20,7 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Liste import com.mogo.eagle.core.function.api.autopilot.IMoGoPlanningRottingListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager.getGlobalPath import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager -import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerPlanningRottingListenerManager import com.mogo.eagle.core.function.view.R import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils @@ -44,7 +44,7 @@ class SmallMapView @JvmOverloads constructor( private var mCarMarker: Marker? = null private var mStartMarker: Marker? = null private var mEndMarker: Marker? = null - private val zoomLevel = 15 + private val zoomLevel = 16 private val mCoordinatesLatLng: MutableList = ArrayList() private var mPolyline: Polyline? = null private var mCameraUpdate: CameraUpdate? = null @@ -155,7 +155,7 @@ class SmallMapView @JvmOverloads constructor( initAMapView() // 注册定位监听 - CallerChassisLocationGCJ20ListenerManager.addListener(TAG, 10,this) + CallerChassisLocationGCJ02ListenerManager.addListener(TAG, 10, this) CallerPlanningRottingListenerManager.addListener(TAG, this) CallerAutoPilotStatusListenerManager.addListener(TAG, this) } @@ -343,7 +343,7 @@ class SmallMapView @JvmOverloads constructor( override fun onDetachedFromWindow() { super.onDetachedFromWindow() // 注册定位监听 - CallerChassisLocationGCJ20ListenerManager.removeListener(TAG) + CallerChassisLocationGCJ02ListenerManager.removeListener(TAG) CallerPlanningRottingListenerManager.removeListener(TAG) CallerAutoPilotStatusListenerManager.removeListener(TAG) } diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/OverMapView.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/OverMapView.kt index 1374ece740..afd2a45187 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/OverMapView.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/OverMapView.kt @@ -24,7 +24,7 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Liste import com.mogo.eagle.core.function.api.autopilot.IMoGoPlanningRottingListener import com.mogo.eagle.core.function.api.v2x.IFuncBizProvider import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager.getGlobalPath -import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerPlanningRottingListenerManager import com.mogo.eagle.core.function.call.biz.CallerFuncBizListenerManager import com.mogo.eagle.core.function.call.hmi.CallerHmiManager.showVideoDialog @@ -146,7 +146,7 @@ class OverMapView @JvmOverloads constructor( CallerPlanningRottingListenerManager.addListener(TAG, moGoAutopilotPlanningListener) initAMapView(context) // 注册定位监听 - CallerChassisLocationGCJ20ListenerManager.addListener(TAG, this) + CallerChassisLocationGCJ02ListenerManager.addListener(TAG, this) //设置全览模式 overLayerView?.setOnClickListener { displayCustomOverView() } } @@ -372,7 +372,7 @@ class OverMapView @JvmOverloads constructor( override fun onDetachedFromWindow() { super.onDetachedFromWindow() // 注册定位监听 - CallerChassisLocationGCJ20ListenerManager.removeListener(TAG) + CallerChassisLocationGCJ02ListenerManager.removeListener(TAG) CallerPlanningRottingListenerManager.removeListener(TAG) } diff --git a/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stageone/HttpDnsStartUp.kt b/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stageone/HttpDnsStartUp.kt index a939fba9fb..dacf41d373 100644 --- a/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stageone/HttpDnsStartUp.kt +++ b/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stageone/HttpDnsStartUp.kt @@ -31,7 +31,7 @@ import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_LINK_LO import com.mogo.eagle.core.data.map.MogoLocation import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener import com.mogo.eagle.core.function.call.analytics.AnalyticsManager -import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager import com.mogo.eagle.core.function.call.cloud.CallerCloudListenerManager import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager @@ -145,7 +145,7 @@ class HttpDnsStartUp : AndroidStartup() { return HttpDnsSimpleLocation(envConfig.cityCode, envConfig.lat, envConfig.lon) } var mogoLocation: MogoLocation? = null - val locationClient = CallerChassisLocationGCJ20ListenerManager.getChassisLocationGCJ02() + val locationClient = CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02() if (locationClient != null) { mogoLocation = locationClient } @@ -288,7 +288,7 @@ class HttpDnsStartUp : AndroidStartup() { context?.let { MogoLocationInfoServices.getInstance().init(it) MogoLocationInfoServices.getInstance().start() - CallerChassisLocationGCJ20ListenerManager.addListener( + CallerChassisLocationGCJ02ListenerManager.addListener( TAG, object : IMoGoChassisLocationGCJ02Listener { override fun onChassisLocationGCJ02(mogoLocation: MogoLocation?) { @@ -304,7 +304,7 @@ class HttpDnsStartUp : AndroidStartup() { private fun startSocketService() { CallerLogger.d(SceneConstant.M_MAIN + TAG, "startSocketService") - val location = CallerChassisLocationGCJ20ListenerManager.getChassisLocationGCJ02() + val location = CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02() // 关闭长链服务 MogoAiCloudSocketManager.getInstance(context).destroy() MogoAiCloudSocketManager.getInstance(context) diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/V2XEventManager.kt b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/V2XEventManager.kt index 876855ac9f..9b173d34cd 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/V2XEventManager.kt +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/V2XEventManager.kt @@ -29,7 +29,7 @@ import com.mogo.eagle.core.data.traffic.TrafficData import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWarningStatusListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager -import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager import com.mogo.eagle.core.function.call.hmi.CallerHmiManager import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager import com.mogo.eagle.core.function.call.map.CallerVisualAngleManager @@ -114,12 +114,12 @@ object V2XEventManager : IMoGoChassisLocationGCJ02Listener, IMoGoTokenCallback, private fun registerListener() { V2XManager.addCallback(this) - CallerChassisLocationGCJ20ListenerManager.addListener(TAG, this) + CallerChassisLocationGCJ02ListenerManager.addListener(TAG, this) } private fun unRegisterListener() { V2XManager.removeCallback(this) - CallerChassisLocationGCJ20ListenerManager.removeListener(TAG) + CallerChassisLocationGCJ02ListenerManager.removeListener(TAG) mogoMarkersHandler.unregisterMarkerClickListener(CARD_TYPE_ROAD_CONDITION) } diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/manager/impl/MoGoV2XMarkerManager.java b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/manager/impl/MoGoV2XMarkerManager.java index 38f6d5de21..7b0d9d278e 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/manager/impl/MoGoV2XMarkerManager.java +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/manager/impl/MoGoV2XMarkerManager.java @@ -14,7 +14,7 @@ import com.mogo.eagle.core.data.map.entity.MarkerExploreWay; import com.mogo.eagle.core.data.map.entity.MarkerLocation; import com.mogo.eagle.core.data.map.entity.MarkerShowEntity; import com.mogo.eagle.core.data.map.entity.V2XRoadEventEntity; -import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager; +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager; import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager; import com.mogo.eagle.core.function.v2x.events.consts.MoGoV2XServicePaths; import com.mogo.eagle.core.function.v2x.events.manager.IMoGoV2XMarkerManager; @@ -55,7 +55,7 @@ public class MoGoV2XMarkerManager implements IMoGoV2XMarkerManager { public CopyOnWriteArrayList getV2XRoadEventEntityList() { CopyOnWriteArrayList roadEventEntities = new CopyOnWriteArrayList<>(); // 当前车辆数据 - MogoLocation currentLocation = CallerChassisLocationGCJ20ListenerManager.INSTANCE.getChassisLocationGCJ02(); + MogoLocation currentLocation = CallerChassisLocationGCJ02ListenerManager.INSTANCE.getChassisLocationGCJ02(); if (currentLocation != null) { // 重新计算距离 for (V2XRoadEventEntity v2XRoadEventEntity : mV2XRoadEventEntityArrayList) { diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/remove/MarkerRemoveManager.kt b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/remove/MarkerRemoveManager.kt index bb9e2b5871..5afb5fc401 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/remove/MarkerRemoveManager.kt +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/remove/MarkerRemoveManager.kt @@ -5,7 +5,7 @@ import android.os.HandlerThread import android.util.Log import com.mogo.cloud.commons.utils.CoordinateUtils import com.mogo.eagle.core.data.map.MogoLocation -import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationWGS84ListenerManager import com.mogo.eagle.core.utilcode.util.DrivingDirectionUtils import com.mogo.map.marker.IMogoMarker @@ -90,7 +90,7 @@ object MarkerRemoveManager { if (carLoc.get() == null) { carLoc.set(if (marker.coordinateType == 0) { //高德坐标 - CallerChassisLocationGCJ20ListenerManager.getChassisLocationGCJ02() + CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02() } else { //高精坐标 CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84() @@ -150,7 +150,7 @@ object MarkerRemoveManager { if (carLoc.get() == null) { carLoc.set(if (marker.coordinateType == 0) { //高德坐标 - CallerChassisLocationGCJ20ListenerManager.getChassisLocationGCJ02() + CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02() } else { //高精坐标 CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84() @@ -170,7 +170,7 @@ object MarkerRemoveManager { } catch (t: Throwable) { t.printStackTrace() } finally { - val gcInfo = CallerChassisLocationGCJ20ListenerManager.getChassisLocationGCJ02() + val gcInfo = CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02() lastCarLocation.set((gcInfo?.longitude ?: 0.0) to (gcInfo?.latitude ?: 0.0)) val wgsInfo = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84() lastGpsLocation.set((wgsInfo?.longitude ?: 0.0) to (wgsInfo?.latitude ?: 0.0)) diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationGCJ20ListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationGCJ02ListenerManager.kt similarity index 86% rename from core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationGCJ20ListenerManager.kt rename to core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationGCJ02ListenerManager.kt index bd09d3b243..8cf280138d 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationGCJ20ListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationGCJ02ListenerManager.kt @@ -6,6 +6,7 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Liste import com.mogo.eagle.core.function.call.base.CallerBase import com.mogo.eagle.core.utilcode.mogo.logger.Logger import com.mogo.eagle.core.utilcode.util.CoordinateTransform +import com.mogo.eagle.core.utilcode.util.FileUtils import com.mogo.eagle.core.utilcode.util.TimeUtils /** @@ -13,7 +14,7 @@ import com.mogo.eagle.core.utilcode.util.TimeUtils * @date 2021/9/30 5:48 下午 * 车辆定位 WGS84 坐标系-高精度坐标系 数据 回调监听 */ -object CallerChassisLocationGCJ20ListenerManager : CallerBase() { +object CallerChassisLocationGCJ02ListenerManager : CallerBase() { val TAG = "CallerChassisLocationGCJ20ListenerManager" @@ -46,14 +47,14 @@ object CallerChassisLocationGCJ20ListenerManager : CallerBaseGCJ02 坐标 val gcj20Location = CoordinateTransform.WGS84ToGCJ02(gnssInfo.longitude, gnssInfo.latitude) - gnssInfo.longitude = gcj20Location[0] - gnssInfo.latitude = gcj20Location[1] - - this.mGnssInfo = gnssInfo + mGnssInfo!!.longitude = gcj20Location[0] + mGnssInfo!!.latitude = gcj20Location[1] M_LISTENERS.forEach { val tag = it.key @@ -99,6 +100,11 @@ object CallerChassisLocationGCJ20ListenerManager : CallerBase() { @Volatile - private var gnssInfo: MogoLocation? = null + private var mGnssInfo: MogoLocation? = null fun getChassisLocationWGS84(): MogoLocation? { - return gnssInfo + return mGnssInfo } /** @@ -39,7 +40,7 @@ object CallerChassisLocationWGS84ListenerManager : CallerBase curr: $roadId") - val loc = CallerChassisLocationGCJ20ListenerManager.getChassisLocationGCJ02() + val loc = CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02() var triggerClose = false val distance = distanceOfCarToStopLine.get() + 5 if (hasCrossRoad && distance > 0) { @@ -110,7 +110,7 @@ object CallerVisualAngleManager { hasCrossRoad = true triggerRoadId.set(this.roadId.get()) distanceOfCarToStopLine.set(info.distanceOfCarToStopLine) - triggerLocation.set(CallerChassisLocationGCJ20ListenerManager.getChassisLocationGCJ02()) + triggerLocation.set(CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02()) changeVisualAngle(CrossRoad(true)) } } diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java b/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java index d47f9e8a96..77df0450d2 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java +++ b/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java @@ -31,7 +31,7 @@ import com.mogo.eagle.core.data.map.CenterLine; import com.mogo.eagle.core.data.map.MapRoadInfo; import com.mogo.eagle.core.data.map.MogoLatLng; import com.mogo.eagle.core.data.map.MogoLocation; -import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager; +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager; import com.mogo.eagle.core.function.call.map.CallerMapDataCollectorManager; import com.mogo.eagle.core.function.call.map.CallerMapDevaListenerManager; import com.mogo.eagle.core.function.call.map.CallerMapRoadListenerManager; @@ -198,7 +198,7 @@ public class AMapViewWrapper implements IMogoMapView, @Override public void onStopLineInfo(@androidx.annotation.Nullable StopLine stopLine) { - MogoLocation carLoc = CallerChassisLocationGCJ20ListenerManager.INSTANCE.getChassisLocationGCJ02(); + MogoLocation carLoc = CallerChassisLocationGCJ02ListenerManager.INSTANCE.getChassisLocationGCJ02(); if (stopLine != null && stopLine.road_id != null && !stopLine.road_id.isEmpty() && stopLine.points != null && stopLine.points.size() > 0) { ArrayList points = stopLine.points; if (carLoc != null) { @@ -727,6 +727,10 @@ public class AMapViewWrapper implements IMogoMapView, initMapView(); initMyLocation(); loadPreVehicleModel(); + + if (mMapView.getLocationClient() != null) { + mMapView.getLocationClient().setIsUseExtraGPSData(true); + } } } diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapView.java b/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapView.java index 62f04538f1..538db0e039 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapView.java +++ b/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapView.java @@ -89,6 +89,7 @@ public class MogoMapView extends MogoBaseMapView implements ILifeCycle { } public void setExtraGPSData(MogoLocation gnssInfo) { + getMap().getUIController().setExtraGPSData(gnssInfo); } From 1dcfe9c551059bab566a8fac0070ac4e5dfe2bb5 Mon Sep 17 00:00:00 2001 From: donghongyu Date: Tue, 7 Feb 2023 21:04:11 +0800 Subject: [PATCH 03/18] =?UTF-8?q?[dev=5Farch=5Fopt=5F3.0]=20[Change]=20[?= =?UTF-8?q?=201=E3=80=81=E4=BF=AE=E6=94=B9=E5=B0=8F=E5=9C=B0=E5=9B=BE?= =?UTF-8?q?=E7=BC=A9=E6=94=BE=E6=AF=94=E4=BE=8B=20]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: donghongyu --- .../java/com/mogo/eagle/core/function/smp/view/SmallMapView.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 e41af8c334..569b4c00eb 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 @@ -44,7 +44,7 @@ class SmallMapView @JvmOverloads constructor( private var mCarMarker: Marker? = null private var mStartMarker: Marker? = null private var mEndMarker: Marker? = null - private val zoomLevel = 16 + private val zoomLevel = 14 private val mCoordinatesLatLng: MutableList = ArrayList() private var mPolyline: Polyline? = null private var mCameraUpdate: CameraUpdate? = null From 96fe00083f586f6a425aaa61df60a3fc0b938655 Mon Sep 17 00:00:00 2001 From: donghongyu Date: Tue, 7 Feb 2023 21:05:02 +0800 Subject: [PATCH 04/18] =?UTF-8?q?[dev=5Farch=5Fopt=5F3.0]=20[Change]=20[?= =?UTF-8?q?=201=E3=80=81=E5=85=B3=E9=97=AD=E7=BB=8F=E7=BA=AC=E5=BA=A6?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E6=93=8D=E4=BD=9C=20]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: donghongyu --- .../CallerChassisLocationGCJ02ListenerManager.kt | 10 +++++----- .../CallerChassisLocationWGS84ListenerManager.kt | 8 ++++++-- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationGCJ02ListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationGCJ02ListenerManager.kt index 8cf280138d..d25abf2a79 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationGCJ02ListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationGCJ02ListenerManager.kt @@ -100,11 +100,11 @@ object CallerChassisLocationGCJ02ListenerManager : CallerBase Date: Tue, 7 Feb 2023 21:18:27 +0800 Subject: [PATCH 05/18] =?UTF-8?q?[dev=5Farch=5Fopt=5F3.0]=20[Change]=20[?= =?UTF-8?q?=201=E3=80=81=E4=BF=AE=E5=A4=8D=E5=90=8C=E6=AD=A5=E5=AE=9A?= =?UTF-8?q?=E4=BD=8Dgcj02=E5=BC=82=E5=B8=B8=20]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: donghongyu --- ...llerChassisLocationGCJ02ListenerManager.kt | 39 ++++++++++--------- ...llerChassisLocationWGS84ListenerManager.kt | 35 +++++++++-------- 2 files changed, 38 insertions(+), 36 deletions(-) diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationGCJ02ListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationGCJ02ListenerManager.kt index d25abf2a79..7fd0976c7e 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationGCJ02ListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationGCJ02ListenerManager.kt @@ -52,29 +52,30 @@ object CallerChassisLocationGCJ02ListenerManager : CallerBaseGCJ02 坐标 val gcj20Location = CoordinateTransform.WGS84ToGCJ02(gnssInfo.longitude, gnssInfo.latitude) + mGnssInfo?.let { + mGnssInfo!!.longitude = gcj20Location[0] + mGnssInfo!!.latitude = gcj20Location[1] - mGnssInfo!!.longitude = gcj20Location[0] - mGnssInfo!!.latitude = gcj20Location[1] - - M_LISTENERS.forEach { - val tag = it.key - // 获取数据监听需要的HZ - val hz = M_LISTENERS_HZ[tag] - if (hz != null && hz > 0) { - val hzTime = (1.0 / hz.toDouble()) * 1000 - // 获取最后一次回调的时间 - val hzLastSendTime = M_LISTENERS_HZ_LAST_SEND_TIME[tag] - if (hzLastSendTime != null && hzLastSendTime > 0) { - // 计算是否进入下一次回调周期 - val nowTime = TimeUtils.getNowMills() - if (nowTime - hzLastSendTime > hzTime) { - syncLocationCallback(tag, it, gnssInfo, sourceType) + M_LISTENERS.forEach { + val tag = it.key + // 获取数据监听需要的HZ + val hz = M_LISTENERS_HZ[tag] + if (hz != null && hz > 0) { + val hzTime = (1.0 / hz.toDouble()) * 1000 + // 获取最后一次回调的时间 + val hzLastSendTime = M_LISTENERS_HZ_LAST_SEND_TIME[tag] + if (hzLastSendTime != null && hzLastSendTime > 0) { + // 计算是否进入下一次回调周期 + val nowTime = TimeUtils.getNowMills() + if (nowTime - hzLastSendTime > hzTime) { + syncLocationCallback(tag, it, mGnssInfo!!, sourceType) + } + } else { + syncLocationCallback(tag, it, mGnssInfo!!, sourceType) } } else { - syncLocationCallback(tag, it, gnssInfo, sourceType) + syncLocationCallback(tag, it, mGnssInfo!!, sourceType) } - } else { - syncLocationCallback(tag, it, gnssInfo, sourceType) } } } ?: let { diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationWGS84ListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationWGS84ListenerManager.kt index 81b0316fce..38a45f7fd9 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationWGS84ListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationWGS84ListenerManager.kt @@ -4,7 +4,6 @@ import com.mogo.eagle.core.data.enums.DataSourceType import com.mogo.eagle.core.data.map.MogoLocation import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationWGS84Listener import com.mogo.eagle.core.function.call.base.CallerBase -import com.mogo.eagle.core.utilcode.util.FileUtils import com.mogo.eagle.core.utilcode.util.TimeUtils /** @@ -41,25 +40,27 @@ object CallerChassisLocationWGS84ListenerManager : CallerBase 0) { - val hzTime = (1.0 / hz.toDouble()) * 1000 - // 获取最后一次回调的时间 - val hzLastSendTime = M_LISTENERS_HZ_LAST_SEND_TIME[tag] - if (hzLastSendTime != null && hzLastSendTime > 0) { - // 计算是否进入下一次回调周期 - val nowTime = TimeUtils.getNowMills() - if (nowTime - hzLastSendTime > hzTime) { - syncLocationCallback(tag, it, gnssInfo, sourceType) + mGnssInfo?.let { + M_LISTENERS.forEach { + val tag = it.key + // 获取数据监听需要的HZ + val hz = M_LISTENERS_HZ[tag] + if (hz != null && hz > 0) { + val hzTime = (1.0 / hz.toDouble()) * 1000 + // 获取最后一次回调的时间 + val hzLastSendTime = M_LISTENERS_HZ_LAST_SEND_TIME[tag] + if (hzLastSendTime != null && hzLastSendTime > 0) { + // 计算是否进入下一次回调周期 + val nowTime = TimeUtils.getNowMills() + if (nowTime - hzLastSendTime > hzTime) { + syncLocationCallback(tag, it, mGnssInfo!!, sourceType) + } + } else { + syncLocationCallback(tag, it, mGnssInfo!!, sourceType) } } else { - syncLocationCallback(tag, it, gnssInfo, sourceType) + syncLocationCallback(tag, it, mGnssInfo!!, sourceType) } - } else { - syncLocationCallback(tag, it, gnssInfo, sourceType) } } } From 8490801138de65e663d54255f3923b2819edbaa7 Mon Sep 17 00:00:00 2001 From: zhongchao Date: Tue, 7 Feb 2023 22:11:51 +0800 Subject: [PATCH 06/18] [2.13.0-arch-opt] move impl of modules from hmi to app --- OCH/mogo-och-bus-passenger/build.gradle | 6 -- OCH/mogo-och-common-module/build.gradle | 7 +-- .../module/manager/OCHAdasAbilityManager.java | 2 - OCH/mogo-och-noop/build.gradle | 1 - OCH/mogo-och-taxi-passenger/build.gradle | 5 -- OCH/mogo-och-taxi/build.gradle | 5 -- app/build.gradle | 23 ++++++++ .../DevaToolsProvider.kt | 45 +++++++++++++++ .../mogo-core-function-hmi/build.gradle | 42 +++++--------- .../hmi/ui/msgbox/DriverMsgBoxBubbleView.kt | 3 - .../hmi/ui/setting/DebugSettingView.kt | 30 ++++------ .../function/hmi/ui/setting/SOPSettingView.kt | 12 +--- .../function/hmi/ui/widget/VersionNameView.kt | 4 +- .../eagle/core/function/main/MainActivity.kt | 26 +-------- .../business/routeoverlay/RouteStrategy.kt | 55 ++++++++++--------- .../eagle/core/data/config/HmiBuildConfig.kt | 9 +++ .../data/constants/MoGoFragmentPaths.java | 5 -- core/mogo-core-function-api/build.gradle | 2 +- .../api/devatools/IDevaToolsProvider.kt | 12 ++++ .../call/devatools/CallerDevaToolsManager.kt | 24 ++++++++ .../function/call/map/CallerSmpManager.kt | 6 -- modules.txt | 1 + settings.gradle | 1 - 23 files changed, 176 insertions(+), 150 deletions(-) diff --git a/OCH/mogo-och-bus-passenger/build.gradle b/OCH/mogo-och-bus-passenger/build.gradle index 294c1c9b8f..6ae4e9b720 100644 --- a/OCH/mogo-och-bus-passenger/build.gradle +++ b/OCH/mogo-och-bus-passenger/build.gradle @@ -54,12 +54,6 @@ dependencies { implementation project(":OCH:mogo-och-common-module") compileOnly project(":libraries:mogo-map") - if (Boolean.valueOf(USE_MAVEN_PACKAGE)) { - implementation rootProject.ext.dependencies.mogo_core_function_v2x - }else { - implementation project(':foudations:mogo-aicloud-services-sdk') - implementation project(':core:function-impl:mogo-core-function-v2x') - } } apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString() \ No newline at end of file diff --git a/OCH/mogo-och-common-module/build.gradle b/OCH/mogo-och-common-module/build.gradle index 30165c39bd..54bfc93114 100644 --- a/OCH/mogo-och-common-module/build.gradle +++ b/OCH/mogo-och-common-module/build.gradle @@ -60,20 +60,17 @@ dependencies { if (Boolean.valueOf(USE_MAVEN_PACKAGE)) { api rootProject.ext.dependencies.mogoutils api rootProject.ext.dependencies.mogocommons - api rootProject.ext.dependencies.mogo_core_data api rootProject.ext.dependencies.mogo_core_function_call - implementation rootProject.ext.dependencies.mogo_core_function_v2x api rootProject.ext.dependencies.mogo_core_function_hmi + api rootProject.ext.dependencies.mogo_core_function_map }else { api project(":core:mogo-core-utils") api project(":foudations:mogo-commons") - api project(':core:mogo-core-data') api project(':core:mogo-core-function-call') - implementation project(':core:function-impl:mogo-core-function-v2x') api project(':core:function-impl:mogo-core-function-hmi') api project(':core:function-impl:mogo-core-function-map') } - implementation project(':libraries:mogo-adas') + compileOnly project(':libraries:mogo-adas') } \ No newline at end of file diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/OCHAdasAbilityManager.java b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/OCHAdasAbilityManager.java index e5b39d9b9d..83332d1bb8 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/OCHAdasAbilityManager.java +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/OCHAdasAbilityManager.java @@ -4,12 +4,10 @@ import android.content.Context; import androidx.annotation.Nullable; -import com.mogo.eagle.core.data.config.FunctionBuildConfig; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotActionsListener; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatisticsListener; import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotActionsListenerManager; import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotStatisticsListenerManager; -import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils; import com.mogo.eagle.core.utilcode.mogo.logger.Logger; import com.mogo.och.common.module.callback.OchAdasStartFailureCallback; import com.zhidao.support.adas.high.bean.AutopilotStatistics; diff --git a/OCH/mogo-och-noop/build.gradle b/OCH/mogo-och-noop/build.gradle index 835c4f0715..1b12fcd129 100644 --- a/OCH/mogo-och-noop/build.gradle +++ b/OCH/mogo-och-noop/build.gradle @@ -60,7 +60,6 @@ dependencies { }else { implementation project(":core:mogo-core-utils") implementation project(":foudations:mogo-commons") - implementation project(':core:mogo-core-data') implementation project(':core:mogo-core-function-call') implementation project(':core:function-impl:mogo-core-function-hmi') } diff --git a/OCH/mogo-och-taxi-passenger/build.gradle b/OCH/mogo-och-taxi-passenger/build.gradle index 529b500e72..6d9432cc53 100644 --- a/OCH/mogo-och-taxi-passenger/build.gradle +++ b/OCH/mogo-och-taxi-passenger/build.gradle @@ -57,11 +57,6 @@ dependencies { implementation project(":OCH:mogo-och-common-module") compileOnly project(":libraries:mogo-map") - if (Boolean.valueOf(USE_MAVEN_PACKAGE)) { - implementation rootProject.ext.dependencies.mogo_core_function_v2x - }else { - implementation project(':core:function-impl:mogo-core-function-v2x') - } } apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString() \ No newline at end of file diff --git a/OCH/mogo-och-taxi/build.gradle b/OCH/mogo-och-taxi/build.gradle index 8266377d23..37195198e7 100644 --- a/OCH/mogo-och-taxi/build.gradle +++ b/OCH/mogo-och-taxi/build.gradle @@ -55,11 +55,6 @@ dependencies { implementation project(":OCH:mogo-och-common-module") compileOnly project(":libraries:mogo-map") - if (Boolean.valueOf(USE_MAVEN_PACKAGE)) { - implementation rootProject.ext.dependencies.mogo_core_function_v2x - }else { - implementation project(':core:function-impl:mogo-core-function-v2x') - } } apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString() \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index e70a3c65ef..33ac1066ae 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -341,21 +341,44 @@ dependencies { implementation rootProject.ext.dependencies.lancetx_runtime implementation rootProject.ext.dependencies.mogocustommap implementation project(':core:function-impl:mogo-core-function-startup') + implementation project(':libraries:map-usbcamera') // // 暂不使用Shizuku-API // implementation rootProject.ext.dependencies.shizuku_provider if (Boolean.valueOf(USE_MAVEN_PACKAGE)) { implementation rootProject.ext.dependencies.ttspad implementation rootProject.ext.dependencies.mogo_core_function_hmi + implementation rootProject.ext.dependencies.mogocommons + implementation rootProject.ext.dependencies.mogo_core_utils + implementation rootProject.ext.dependencies.mogo_core_function_map + implementation rootProject.ext.dependencies.mogo_core_function_v2x + implementation rootProject.ext.dependencies.mogo_core_function_datacenter + implementation rootProject.ext.dependencies.mogo_core_function_devatools + implementation rootProject.ext.dependencies.mogo_core_function_chat + implementation rootProject.ext.dependencies.mogo_core_function_biz + implementation rootProject.ext.dependencies.mogo_core_function_call androidTestImplementation rootProject.ext.dependencies.mogo_core_function_call androidTestImplementation rootProject.ext.dependencies.mogo_core_res } else { implementation project(':tts:tts-pad') implementation project(':core:function-impl:mogo-core-function-hmi') + implementation project(':core:function-impl:mogo-core-function-map') + implementation project(':core:function-impl:mogo-core-function-v2x') + implementation project(':core:function-impl:mogo-core-function-datacenter') + implementation project(':core:function-impl:mogo-core-function-devatools') + implementation project(':core:function-impl:mogo-core-function-chat') + implementation project(':core:function-impl:mogo-core-function-biz') + implementation project(':core:mogo-core-function-call') + implementation project(':core:mogo-core-utils') + implementation project(':core:mogo-core-res') + implementation project(':foudations:mogo-commons') + androidTestImplementation project(':core:mogo-core-function-call') androidTestImplementation project(':core:mogo-core-res') + } + apply from: "./functions/och.gradle" androidTestImplementation rootProject.ext.dependencies.androidx_test_core 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 83b36492e8..6d32280c78 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 @@ -13,7 +13,9 @@ import com.mogo.eagle.core.data.deva.scene.SceneModule import com.mogo.eagle.core.data.deva.scene.SceneTAG import com.mogo.eagle.core.data.msgbox.MsgBoxBean import com.mogo.eagle.core.function.api.devatools.IDevaToolsProvider +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.zhjt.mogo_core_function_devatools.badcase.BadCaseManager +import com.zhjt.mogo_core_function_devatools.badcase.consts.BadCaseConfig import com.zhjt.mogo_core_function_devatools.env.EnvChangeManager import com.zhjt.mogo_core_function_devatools.binding.BindingCarManager.Companion.bindingCarManager import com.zhjt.mogo_core_function_devatools.funcconfig.FuncConfigCenter.Companion.bizConfigCenter @@ -21,6 +23,8 @@ import com.zhjt.mogo_core_function_devatools.funcconfig.FuncConfigImpl import com.zhjt.mogo_core_function_devatools.logcatch.MogoLogCatchManager import com.zhjt.mogo_core_function_devatools.mofang.MoFangManager.Companion.moFangManager import com.zhjt.mogo_core_function_devatools.monitor.MonitorManager +import com.zhjt.mogo_core_function_devatools.monitor.db.MonitorDb +import com.zhjt.mogo_core_function_devatools.monitor.db.MonitorDb.Companion.getDb import com.zhjt.mogo_core_function_devatools.report.IPCReportManager.Companion.iPCReportManager import com.zhjt.mogo_core_function_devatools.scene.SceneManager.Companion.sceneManager import com.zhjt.mogo_core_function_devatools.status.StatusManager @@ -55,6 +59,27 @@ class DevaToolsProvider : IDevaToolsProvider { bindingCarManager.init(mContext!!) } + override fun checkMonitorDb() { + mContext?.let { + Thread { + val limitId: Long = 50001 + val file = it.getDatabasePath(MonitorDb.INTERNAL_DB_NAME) + try { + if (file != null && file.exists()) { + val cpuList = getDb(it).monitorDao().getAllCPUById(limitId) + val memList = getDb(it).monitorDao().getAllMemById(limitId) + // 大于5w条清除 + if (cpuList.isNotEmpty() || memList.isNotEmpty()) { + it.deleteDatabase(MonitorDb.INTERNAL_DB_NAME) + } + } + } catch (e: Exception) { + CallerLogger.e(TAG, e.message) + } + }.start() + } + } + override fun startLogCatch() { MogoLogCatchManager.startCatchLog() } @@ -148,6 +173,26 @@ class DevaToolsProvider : IDevaToolsProvider { return EnvChangeManager.getEnvConfig() } + override fun getEnvCityName(): String { + return EnvChangeManager.getCityName() + } + + override fun getEnvNetMode(): String { + return EnvChangeManager.getNetMode() + } + + override fun envConfigReset() { + EnvChangeManager.reset() + } + + override fun envConfigChange(cityCode: String, netMode: Int) { + EnvChangeManager.changeTo(cityCode, netMode) + } + + override fun dockerVersion(dockerVersion: String?) { + BadCaseConfig.dockerVersion = dockerVersion + } + override fun modifyCarInfo(callBack: (ModifyBindingcarInfo) -> Unit) { bindingCarManager.modifyCarInfo(callBack) } diff --git a/core/function-impl/mogo-core-function-hmi/build.gradle b/core/function-impl/mogo-core-function-hmi/build.gradle index d5bdc3d080..6d4c8edbba 100644 --- a/core/function-impl/mogo-core-function-hmi/build.gradle +++ b/core/function-impl/mogo-core-function-hmi/build.gradle @@ -78,39 +78,25 @@ dependencies { implementation rootProject.ext.dependencies.koomnative implementation rootProject.ext.dependencies.koomxhook if (Boolean.valueOf(USE_MAVEN_PACKAGE)) { - api rootProject.ext.dependencies.mogoaicloudservicesdk - api rootProject.ext.dependencies.mogocommons - api rootProject.ext.dependencies.mogomap - api rootProject.ext.dependencies.crashreportupgrade - api rootProject.ext.dependencies.mogo_core_res - api rootProject.ext.dependencies.mogo_core_data - api rootProject.ext.dependencies.mogo_core_utils - api rootProject.ext.dependencies.mogo_core_network - api rootProject.ext.dependencies.mogo_core_function_map - api rootProject.ext.dependencies.mogo_core_function_v2x - api rootProject.ext.dependencies.mogo_core_function_devatools - api rootProject.ext.dependencies.mogo_core_function_call - - implementation project(':libraries:map-usbcamera') + compileOnly rootProject.ext.dependencies.mogocommons + compileOnly rootProject.ext.dependencies.mogo_core_res + compileOnly rootProject.ext.dependencies.mogo_core_utils + compileOnly rootProject.ext.dependencies.mogo_core_function_map + compileOnly rootProject.ext.dependencies.mogo_core_function_devatools + compileOnly rootProject.ext.dependencies.mogo_core_function_datacenter + compileOnly rootProject.ext.dependencies.mogo_core_function_call + compileOnly project(':libraries:mogo-adas') } else { - api project(':foudations:mogo-aicloud-services-sdk') - api project(':foudations:mogo-commons') api project(':test:crashreport-upgrade') api project(':test:crashreport-apmbyte') - api project(':core:mogo-core-res') - api project(':core:mogo-core-data') - api project(':core:mogo-core-utils') - api project(':core:function-impl:mogo-core-function-map') - api project(':core:function-impl:mogo-core-function-v2x') - api project(':core:function-impl:mogo-core-function-devatools') - api project(':core:function-impl:mogo-core-function-chat') - api project(':core:function-impl:mogo-core-function-datacenter') - api project(':core:function-impl:mogo-core-function-biz') - api project(':core:mogo-core-function-call') - api project(':libraries:mogo-adas') - api project(':libraries:map-usbcamera') + compileOnly project(':core:function-impl:mogo-core-function-datacenter') + compileOnly project(':foudations:mogo-commons') + compileOnly project(':core:mogo-core-res') + compileOnly project(':core:mogo-core-utils') + compileOnly project(':core:mogo-core-function-call') + compileOnly project(':libraries:mogo-adas') } } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/DriverMsgBoxBubbleView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/DriverMsgBoxBubbleView.kt index d36deb67f5..db43edc926 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/DriverMsgBoxBubbleView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/DriverMsgBoxBubbleView.kt @@ -7,18 +7,15 @@ import android.view.LayoutInflater import android.view.View import androidx.constraintlayout.widget.ConstraintLayout import androidx.recyclerview.widget.LinearLayoutManager -import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.msgbox.MsgBoxBean import com.mogo.eagle.core.data.msgbox.MsgCategory import com.mogo.eagle.core.function.api.msgbox.IMsgBoxListener import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager -import com.mogo.eagle.core.function.call.hmi.CallerHmiManager import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxEventListenerManager import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxListenerManager import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.function.hmi.ui.msgbox.adapter.DriverMsgBoxBubbleAdapter import com.mogo.eagle.core.function.msgbox.MsgBoxConfig -import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler import kotlinx.android.synthetic.main.layout_driver_msg_box_bubble.view.* 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 0a9dc643c1..21d831a626 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 @@ -45,7 +45,6 @@ import com.mogo.eagle.core.function.api.autopilot.* import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsFuncConfigListener import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsListener import com.mogo.eagle.core.function.api.obu.IMoGoObuConnectListener -import com.mogo.eagle.core.function.business.routeoverlay.* import com.mogo.eagle.core.function.call.autopilot.* import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsFuncConfigListenerManager import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsListenerManager @@ -76,7 +75,6 @@ import com.mogo.map.uicontroller.VisualAngleMode.* import com.mogo.support.obu.MogoObuManager import com.mogo.support.obu.constants.MogoObuLogLevel import com.mogo.support.obu.option.MogoObuLog -import com.zhjt.mogo_core_function_devatools.env.* import kotlinx.android.synthetic.main.view_debug_setting.view.* import kotlinx.coroutines.launch import mogo.telematics.pad.MessagePad @@ -931,7 +929,7 @@ internal class DebugSettingView @JvmOverloads constructor( } //切换环境 - tvCurEnv.text = "当前环境:${EnvChangeManager.getCityName()}${EnvChangeManager.getNetMode()}" + tvCurEnv.text = "当前环境:${CallerDevaToolsManager.getEnvCityName()}${CallerDevaToolsManager.getEnvNetMode()}" btChangeEnv.onClick { PopupMenu(context, btChangeEnv).also { p -> p.menuInflater.inflate(R.menu.menu_env_pop, p.menu) @@ -945,19 +943,19 @@ internal class DebugSettingView @JvmOverloads constructor( return@setOnMenuItemClickListener false } R.id.env_reset -> - EnvChangeManager.reset() + CallerDevaToolsManager.envConfigReset() R.id.hy_product -> - EnvChangeManager.changeTo("0734", DebugConfig.NET_MODE_RELEASE) + CallerDevaToolsManager.envConfigChange("0734", DebugConfig.NET_MODE_RELEASE) R.id.hy_qa -> - EnvChangeManager.changeTo("0734", DebugConfig.NET_MODE_QA) + CallerDevaToolsManager.envConfigChange("0734", DebugConfig.NET_MODE_QA) R.id.hy_demo -> - EnvChangeManager.changeTo("0734", DebugConfig.NET_MODE_DEMO) + CallerDevaToolsManager.envConfigChange("0734", DebugConfig.NET_MODE_DEMO) R.id.bj_product -> - EnvChangeManager.changeTo("010", DebugConfig.NET_MODE_RELEASE) + CallerDevaToolsManager.envConfigChange("010", DebugConfig.NET_MODE_RELEASE) R.id.bj_qa -> - EnvChangeManager.changeTo("010", DebugConfig.NET_MODE_QA) + CallerDevaToolsManager.envConfigChange("010", DebugConfig.NET_MODE_QA) R.id.bj_demo -> - EnvChangeManager.changeTo("010", DebugConfig.NET_MODE_DEMO) + CallerDevaToolsManager.envConfigChange("010", DebugConfig.NET_MODE_DEMO) else -> throw AssertionError("invalid item: $item") } @@ -1098,17 +1096,9 @@ internal class DebugSettingView @JvmOverloads constructor( accelerationIsShow = isChecked } - tbRouteDynamicEffect.isChecked = - AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode) && !AppIdentityModeUtils.isBus( - FunctionBuildConfig.appIdentityMode - ) - + tbRouteDynamicEffect.isChecked = HmiBuildConfig.isShowRouteStrategy tbRouteDynamicEffect.setOnCheckedChangeListener { _, isChecked -> - if (isChecked) { - RouteStrategy.enable(true) - } else { - RouteStrategy.enable(false) - } + HmiBuildConfig.isShowRouteStrategy = 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 91b2aa4cdc..0569eda8fe 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 @@ -18,7 +18,6 @@ import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.utilcode.kotlin.currentPadding import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.eagle.core.utilcode.util.ToastUtils -import com.mogo.eagle.core.function.business.routeoverlay.RouteStrategy import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager import com.mogo.eagle.core.function.call.v2x.CallerTrafficLightListenerManager import com.mogo.eagle.core.function.hmi.ui.widget.DemoModeView @@ -64,16 +63,9 @@ internal class SOPSettingView @JvmOverloads constructor( } //引导线动态效果 - tbRouteDynamicEffect.isChecked = - AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode) && !AppIdentityModeUtils.isBus( - FunctionBuildConfig.appIdentityMode - ) + tbRouteDynamicEffect.isChecked = HmiBuildConfig.isShowRouteStrategy tbRouteDynamicEffect.setOnCheckedChangeListener { _, isChecked -> - if (isChecked) { - RouteStrategy.enable(true) - } else { - RouteStrategy.enable(false) - } + HmiBuildConfig.isShowRouteStrategy = isChecked } /** diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/VersionNameView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/VersionNameView.kt index d96ffd36c6..9ecca9d6e0 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/VersionNameView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/VersionNameView.kt @@ -9,11 +9,11 @@ import com.mogo.eagle.core.data.autopilot.AutopilotStatusInfo import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager +import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.eagle.core.utilcode.util.AppUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler -import com.zhjt.mogo_core_function_devatools.badcase.consts.BadCaseConfig import kotlinx.android.synthetic.main.view_version_name.view.* /** @@ -90,7 +90,7 @@ class VersionNameView @JvmOverloads constructor( dockerVersion = autoPilotStatusInfo.dockVersion showCurrentMapVersion() //将工控机版本赋值给BadCase配置常量 - BadCaseConfig.dockerVersion = autoPilotStatusInfo.dockVersion + CallerDevaToolsManager.dockerVersion(autoPilotStatusInfo.dockVersion) } } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainActivity.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainActivity.kt index 8f73f73bd7..01cd77d9ef 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainActivity.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainActivity.kt @@ -50,14 +50,9 @@ import com.mogo.eagle.core.utilcode.util.UiThreadHandler import com.mogo.map.listener.IMogoMapListener import com.mogo.map.listener.MogoMapListenerHandler.Companion.mogoMapListenerHandler import com.mogo.map.uicontroller.EnumMapUI -import com.zhjt.mogo_core_function_devatools.monitor.db.MonitorDb -import com.zhjt.mogo_core_function_devatools.monitor.db.MonitorDb.Companion.getDb import com.zhjt.service.chain.ChainLog import com.zhjt.service.chain.TracingConstants.Endpoint.Companion.PAD import kotlinx.android.synthetic.main.module_main_activity_main.* -import mogo.telematics.pad.MessagePad -import mogo_msg.MogoReportMsg -import system_master.SystemStatusInfo /** * @author congtaowang @@ -223,7 +218,7 @@ open class MainActivity : MvpActivity(), MainView, // 启动Native内存泄漏监测 startLeakMonitor() } - checkMonitorDb() + CallerDevaToolsManager.checkMonitorDb() } private fun startLeakMonitor() { @@ -255,25 +250,6 @@ open class MainActivity : MvpActivity(), MainView, start() } - private fun checkMonitorDb() { - Thread { - val limitId: Long = 50001 - val file = getDatabasePath(MonitorDb.INTERNAL_DB_NAME) - try { - if (file != null && file.exists()) { - val cpuList = getDb(this).monitorDao().getAllCPUById(limitId) - val memList = getDb(this).monitorDao().getAllMemById(limitId) - // 大于5w条清除 - if (cpuList.isNotEmpty() || memList.isNotEmpty()) { - deleteDatabase(MonitorDb.INTERNAL_DB_NAME) - } - } - } catch (e: Exception) { - e(TAG, e.message) - } - }.start() - } - @ChainLog( linkChainLog = ChainConstant.CHAIN_LINK_LOG_NATIVE_LEAK, linkCode = ChainConstant.CHAIN_LINK_LEAK, 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 9da60d4c24..842b39524f 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 @@ -1,16 +1,17 @@ package com.mogo.eagle.core.function.business.routeoverlay -import android.animation.* -import android.graphics.* -import android.view.animation.* -import com.mogo.eagle.core.data.config.* -import com.mogo.eagle.core.utilcode.mogo.* +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.collections.ArrayList +import kotlin.properties.Delegates interface IStrategy { @@ -22,26 +23,31 @@ class Colors { companion object { val COLOR_BLUE = Color.parseColor("#FF2ABAD9") val COLOR_BLUE_DARK = Color.parseColor("#FF074EFF") - val COLOR_RED_DARK = Color.parseColor("#FFFF5F00") - val COLOR_TRANSPARENT = Color.parseColor("#002ABAD9") + val COLOR_RED_DARK = Color.parseColor("#FFFF5F00") + val COLOR_TRANSPARENT = Color.parseColor("#002ABAD9") } } -sealed class Strategy: IStrategy +sealed class Strategy : IStrategy -class DefaultStrategy(private val colors: List? = null): Strategy() { +class DefaultStrategy(private val colors: List? = null) : Strategy() { override fun getColors(): List = colors ?: listOf(COLOR_BLUE, COLOR_TRANSPARENT) } -class ColorfulStrategy(private val colors: List = emptyList(), var isLightOn: Boolean): Strategy() { +class ColorfulStrategy(private val colors: List = emptyList(), var isLightOn: Boolean) : + Strategy() { override fun getColors(): List = colors } object RouteStrategy { - @Volatile - private var isEnable = !AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode) + private var isEnable by Delegates.observable(HmiBuildConfig.isShowRouteStrategy) { _, _, newValue -> + if (!newValue) { + strategy = null + colors.clear() + } + } private var strategy: Strategy? = null @@ -57,14 +63,6 @@ object RouteStrategy { private var hasLessThan0 = false - fun enable(enable: Boolean) { - isEnable = enable - if (!enable) { - strategy = null - colors.clear() - } - } - fun start() { if (sorted.isEmpty()) { fill() @@ -89,7 +87,7 @@ object RouteStrategy { } fun check(speed: Double, acc: Double, total: Int) { - if (!isEnable){ + if (!isEnable) { return } if (sorted.isEmpty()) { @@ -112,7 +110,11 @@ object RouteStrategy { } else { if (endEvaluator != null) { val fraction = (index - last) * 1.0f / delta - colors += endEvaluator!!.evaluate(fraction, startColor, COLOR_TRANSPARENT) as Int + colors += endEvaluator!!.evaluate( + fraction, + startColor, + COLOR_TRANSPARENT + ) as Int } } } else { @@ -156,11 +158,14 @@ object RouteStrategy { total = endValue - startValue while (current <= endValue) { val fraction = (current - startValue) / total - val colorValue = evaluator.evaluate(fraction.toFloat(), COLOR_BLUE, COLOR_BLUE_DARK) as Int + val colorValue = + evaluator.evaluate(fraction.toFloat(), COLOR_BLUE, COLOR_BLUE_DARK) as Int sorted[current] = colorValue current += step } } - fun getStrategy(): Strategy = if (isEnable) { (strategy ?: DefaultStrategy()) } else DefaultStrategy() + fun getStrategy(): Strategy = if (isEnable) { + (strategy ?: DefaultStrategy()) + } else DefaultStrategy() } \ No newline at end of file diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/HmiBuildConfig.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/HmiBuildConfig.kt index 318111a8de..01d8b51754 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/HmiBuildConfig.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/HmiBuildConfig.kt @@ -1,5 +1,7 @@ package com.mogo.eagle.core.data.config +import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils + /** * @author xiaoyuzhou * @date 2021/8/24 8:59 下午 @@ -26,6 +28,13 @@ object HmiBuildConfig { @Volatile var isShowSnBindingView = true + /** + * 是否展示 引导线动态效果 + */ + @JvmField + @Volatile + var isShowRouteStrategy = !AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode) + /** * 是否展示obu的弱势交通 */ diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/constants/MoGoFragmentPaths.java b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/constants/MoGoFragmentPaths.java index 5490f47415..fed9aaf23d 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/constants/MoGoFragmentPaths.java +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/constants/MoGoFragmentPaths.java @@ -15,9 +15,4 @@ public class MoGoFragmentPaths { @Deprecated public static final String PATH_FRAGMENT_SMP = "/smp_ui/"; - /** - * 全览模式地图 Fragment - */ - @Keep - public static final String PATH_FRAGMENT_OVERVIEW = "/overview_ui/"; } diff --git a/core/mogo-core-function-api/build.gradle b/core/mogo-core-function-api/build.gradle index d1e326c4c5..bb7c323f18 100644 --- a/core/mogo-core-function-api/build.gradle +++ b/core/mogo-core-function-api/build.gradle @@ -51,7 +51,7 @@ dependencies { if (Boolean.valueOf(USE_MAVEN_PACKAGE)) { implementation rootProject.ext.dependencies.mogo_core_data - implementation project(path: ':libraries:mogo-adas') + compileOnly project(path: ':libraries:mogo-adas') compileOnly rootProject.ext.dependencies.mogomapapi } else { implementation project(':core:mogo-core-data') 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 38480a3936..bd6fc6f58b 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 @@ -22,6 +22,8 @@ interface IDevaToolsProvider : IProvider { */ fun initBiz() + fun checkMonitorDb() + /** * 开始抓取日志,默认10min */ @@ -160,4 +162,14 @@ interface IDevaToolsProvider : IProvider { fun queryAppUpgrade() fun getEnvConfig(): EnvConfig? + + fun getEnvCityName():String + + fun getEnvNetMode():String + + fun envConfigReset() + + fun envConfigChange(cityCode: String, netMode: Int) + + fun dockerVersion(dockerVersion: String?) } \ 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 6631dd2382..753a80650d 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 @@ -28,6 +28,10 @@ object CallerDevaToolsManager { devaToolsProviderApi?.initBiz() } + fun checkMonitorDb(){ + devaToolsProviderApi?.checkMonitorDb() + } + /** * 开始抓取全量日志 */ @@ -177,6 +181,22 @@ object CallerDevaToolsManager { return devaToolsProviderApi?.getEnvConfig() } + fun getEnvCityName():String?{ + return devaToolsProviderApi?.getEnvCityName() + } + + fun getEnvNetMode():String?{ + return devaToolsProviderApi?.getEnvNetMode() + } + + fun envConfigReset(){ + devaToolsProviderApi?.envConfigReset() + } + + fun envConfigChange(cityCode: String, netMode: Int){ + devaToolsProviderApi?.envConfigChange(cityCode, netMode) + } + fun modifyCarInfo(callBack: (ModifyBindingcarInfo) -> Unit){ devaToolsProviderApi?.modifyCarInfo(callBack) } @@ -193,6 +213,10 @@ object CallerDevaToolsManager { devaToolsProviderApi?.queryContainers(padSn, dockerVersion) } + fun dockerVersion(dockerVersion: String?){ + devaToolsProviderApi?.dockerVersion(dockerVersion) + } + fun queryAppUpgrade(){ devaToolsProviderApi?.queryAppUpgrade() } diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerSmpManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerSmpManager.kt index 8a30c3b6f3..1b2f35eff9 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerSmpManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerSmpManager.kt @@ -18,10 +18,6 @@ object CallerSmpManager : CallerBase() { // get() = ARouter.getInstance().build(MoGoFragmentPaths.PATH_FRAGMENT_SMP) // .navigation() as IMogoSmallMapProvider -// private val mogoOverViewMapProvider: IMogoSmallMapProvider -// get() = ARouter.getInstance().build(MoGoFragmentPaths.PATH_FRAGMENT_OVERVIEW) -// .navigation() as IMogoSmallMapProvider - private val v2xProvider: IV2XEventProvider get() = ARouter.getInstance().build(MogoServicePaths.PATH_V2X_MODULE) .navigation() as IV2XEventProvider @@ -63,11 +59,9 @@ object CallerSmpManager : CallerBase() { if (Thread.currentThread() !== Looper.getMainLooper().thread) { UiThreadHandler.post { v2xProvider.queryWholeRoadEvents() -// mogoOverViewMapProvider.startQueryV2XEvents() } } else { v2xProvider.queryWholeRoadEvents() -// mogoOverViewMapProvider.startQueryV2XEvents() } } diff --git a/modules.txt b/modules.txt index 775878c1c2..c49fc8b512 100644 --- a/modules.txt +++ b/modules.txt @@ -24,3 +24,4 @@ :core:function-impl:mogo-core-function-v2x :core:function-impl:mogo-core-function-chat :core:function-impl:mogo-core-function-devatools +:core:function-impl:mogo-core-function-biz diff --git a/settings.gradle b/settings.gradle index ca6928c12d..db91eb860a 100644 --- a/settings.gradle +++ b/settings.gradle @@ -68,4 +68,3 @@ include ':OCH:mogo-och-taxi-passenger' include ':OCH:mogo-och-noop' include(':OCH:mogo-och-common-module') include ':OCH:mogo-och-sweeper' -include ':mogo-core-function-biz' From 2ea96f15a2e6740dfab4b4903f07110401ccb1f4 Mon Sep 17 00:00:00 2001 From: zhongchao Date: Tue, 7 Feb 2023 22:40:14 +0800 Subject: [PATCH 07/18] [2.13.0-arch-opt] fix bug of day light mode in map and battery charge --- .../hmi/ui/widget/BatteryGroupView.kt | 4 +-- .../eagle/core/function/map/MapFragment.kt | 0 .../java/com/mogo/map/AMapViewWrapper.java | 30 +++++++++---------- 3 files changed, 17 insertions(+), 17 deletions(-) delete mode 100644 core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/map/MapFragment.kt diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/BatteryGroupView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/BatteryGroupView.kt index 4bb2a24d01..894d3306fd 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/BatteryGroupView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/BatteryGroupView.kt @@ -76,8 +76,8 @@ class BatteryGroupView : LinearLayout, IMoGoSkinModeChangeListener { if (isCharging) { it.ivBatteryCharge.visibility = View.VISIBLE when(it.mSkinMode){ - 0 -> it.ivBatteryCharge.setImageResource(R.drawable.battery_charge_light) - 1 -> it.ivBatteryCharge.setImageResource(R.drawable.battery_charge_dark) + 0 -> it.ivBatteryCharge.setImageResource(R.drawable.battery_charge_dark) + 1 -> it.ivBatteryCharge.setImageResource(R.drawable.battery_charge_light) } } else { it.ivBatteryCharge.visibility = View.GONE diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/map/MapFragment.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/map/MapFragment.kt deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java b/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java index 77df0450d2..80aa628eb3 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java +++ b/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java @@ -854,21 +854,21 @@ public class AMapViewWrapper implements IMogoMapView, @Override public void stepInVrMode(boolean isDayMode) { -// try { -// int mapStyle; -// if (isDayMode) { -// mCurrentUI = EnumMapUI.MAP_STYLE_DAY_VR; -// mapStyle = MapAutoApi.MAP_STYLE_DAY_VR; -// } else { -// mCurrentUI = EnumMapUI.MAP_STYLE_NIGHT_VR; -// mapStyle = MapAutoApi.MAP_STYLE_NIGHT_VR; -// } -// if (mMapView != null && mMapView.getMapAutoViewHelper() != null) { -// mMapView.getMapAutoViewHelper().setMapStyle(mapStyle); -// } -// } catch (Exception e) { -// e.printStackTrace(); -// } + try { + int mapStyle; + if (isDayMode) { + mCurrentUI = EnumMapUI.MAP_STYLE_DAY_VR; + mapStyle = MapAutoApi.MAP_STYLE_DAY_VR; + } else { + mCurrentUI = EnumMapUI.MAP_STYLE_NIGHT_VR; + mapStyle = MapAutoApi.MAP_STYLE_NIGHT_VR; + } + if (mMapView != null && mMapView.getMapAutoViewHelper() != null) { + mMapView.getMapAutoViewHelper().setMapStyle(mapStyle); + } + } catch (Exception e) { + e.printStackTrace(); + } } @Override From a1506c731c653dce224926cfb6322e018e3cd701 Mon Sep 17 00:00:00 2001 From: donghongyu Date: Wed, 8 Feb 2023 11:34:54 +0800 Subject: [PATCH 08/18] =?UTF-8?q?[dev=5Farch=5Fopt=5F3.0]=20[Change]=20[?= =?UTF-8?q?=201=E3=80=81=E8=A7=A3=E5=86=B3=E5=9C=B0=E5=9B=BE=E5=8A=A0?= =?UTF-8?q?=E8=BD=BD=E5=BC=82=E5=B8=B8=20]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: donghongyu --- .../core/function/smp/view/SmallMapView.kt | 10 +++++-- .../java/com/mogo/map/AMapViewWrapper.java | 30 +++++++++---------- 2 files changed, 22 insertions(+), 18 deletions(-) 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 569b4c00eb..60f7bb459d 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 @@ -44,7 +44,7 @@ class SmallMapView @JvmOverloads constructor( private var mCarMarker: Marker? = null private var mStartMarker: Marker? = null private var mEndMarker: Marker? = null - private val zoomLevel = 14 + private val zoomLevel = 17 private val mCoordinatesLatLng: MutableList = ArrayList() private var mPolyline: Polyline? = null private var mCameraUpdate: CameraUpdate? = null @@ -299,8 +299,12 @@ class SmallMapView @JvmOverloads constructor( } } val cameraPosition: CameraPosition = - CameraPosition.Builder().target(mCarMarker!!.position).tilt(0f).bearing(bearing) - .zoom(zoomLevel.toFloat()).build() + CameraPosition.Builder() + .target(mCarMarker!!.position) + .tilt(0f) + .bearing(bearing) + .zoom(zoomLevel.toFloat()) + .build() mAMap?.moveCamera(CameraUpdateFactory.newCameraPosition(cameraPosition)) } diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java b/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java index 80aa628eb3..77df0450d2 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java +++ b/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java @@ -854,21 +854,21 @@ public class AMapViewWrapper implements IMogoMapView, @Override public void stepInVrMode(boolean isDayMode) { - try { - int mapStyle; - if (isDayMode) { - mCurrentUI = EnumMapUI.MAP_STYLE_DAY_VR; - mapStyle = MapAutoApi.MAP_STYLE_DAY_VR; - } else { - mCurrentUI = EnumMapUI.MAP_STYLE_NIGHT_VR; - mapStyle = MapAutoApi.MAP_STYLE_NIGHT_VR; - } - if (mMapView != null && mMapView.getMapAutoViewHelper() != null) { - mMapView.getMapAutoViewHelper().setMapStyle(mapStyle); - } - } catch (Exception e) { - e.printStackTrace(); - } +// try { +// int mapStyle; +// if (isDayMode) { +// mCurrentUI = EnumMapUI.MAP_STYLE_DAY_VR; +// mapStyle = MapAutoApi.MAP_STYLE_DAY_VR; +// } else { +// mCurrentUI = EnumMapUI.MAP_STYLE_NIGHT_VR; +// mapStyle = MapAutoApi.MAP_STYLE_NIGHT_VR; +// } +// if (mMapView != null && mMapView.getMapAutoViewHelper() != null) { +// mMapView.getMapAutoViewHelper().setMapStyle(mapStyle); +// } +// } catch (Exception e) { +// e.printStackTrace(); +// } } @Override From 14c3d97296faeffc128e122dccc9136158a6b4f0 Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Wed, 8 Feb 2023 15:10:15 +0800 Subject: [PATCH 09/18] =?UTF-8?q?[dev=5Farch=5Fopt=5F3.0]=20=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E9=AD=94=E6=96=B9=E9=95=BF=E6=8C=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../function/main/MainLauncherActivity.java | 32 ++++++++++--------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java index 9408f27d40..a7c962f6e9 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java @@ -13,7 +13,6 @@ import android.os.Handler; import android.os.Process; import android.text.TextUtils; import android.view.KeyEvent; -import android.widget.FrameLayout; import androidx.annotation.Nullable; @@ -46,8 +45,6 @@ import java.util.List; import java.util.Timer; import java.util.TimerTask; -import me.jessyan.autosize.utils.AutoSizeUtils; - /** * 针对作为Launcher的情况,做个性化操作 * @@ -78,6 +75,11 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis private long pressEDownTime = 0; private long pressEUpTime = 0; + private int clickTime = 300; //单击 + private int clickTimeInterval = 330; + private int longPressTime = 670; + private int longPressTimeInterval = 700; + @Override protected void onCreate(@Nullable Bundle savedInstanceState) { @@ -251,7 +253,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis if (event.getAction() == KeyEvent.ACTION_DOWN) { pressADownTime = System.currentTimeMillis(); CallerLogger.INSTANCE.d(M_F + "MoFangManager", "dispatchKeyEvent A down pressADownTime = " + pressADownTime + "---" + (pressADownTime - startPressTime) + "----isCombinationKey = " + isCombinationKey + "--pressBDownTime = " + pressBDownTime); - if ((pressADownTime - startPressTime) > 360 && (pressADownTime - startPressTime) < 1300 && pressBDownTime > 0) { + if ((pressADownTime - startPressTime) > clickTimeInterval && (pressADownTime - startPressTime) < longPressTime && pressBDownTime > 0) { if (isShowToast) { ToastUtils.showShort("方块 A 按AB组合 +1 "); } @@ -260,7 +262,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis } if (isCombinationKey != 3 && isCombinationKey != 1) { - if ((pressADownTime - startPressTime) > 1320) { + if ((pressADownTime - startPressTime) > longPressTimeInterval) { if (isShowToast) { ToastUtils.showShort("方块 长按A -2 "); } @@ -271,7 +273,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis } else if (event.getAction() == KeyEvent.ACTION_UP) { pressAUpTime = System.currentTimeMillis(); CallerLogger.INSTANCE.d(M_F + "MoFangManager", "dispatchKeyEvent A up pressAUpTime = " + pressAUpTime + "---" + (pressAUpTime - startPressTime) + "--pressBDownTime = " + pressBDownTime); - if ((pressAUpTime - startPressTime) < 350 && isCombinationKey != 3) { + if ((pressAUpTime - startPressTime) < clickTime && isCombinationKey != 3) { isCombinationKey = 1; if (isShowToast) { ToastUtils.showShort("方块 单击A -1 "); @@ -292,7 +294,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis if (event.getAction() == KeyEvent.ACTION_DOWN) { pressBDownTime = System.currentTimeMillis(); CallerLogger.INSTANCE.d(M_F + "MoFangManager", "dispatchKeyEvent B down pressBDownTime = " + pressBDownTime + "--差-" + (pressBDownTime - startPressTime) + "---isCombinationKey = " + isCombinationKey + "--pressADownTime = " + pressADownTime); - if ((pressBDownTime - startPressTime) > 360 && (pressBDownTime - startPressTime) < 1300 && pressADownTime > 0) { + if ((pressBDownTime - startPressTime) > clickTimeInterval && (pressBDownTime - startPressTime) < longPressTime && pressADownTime > 0) { if (isShowToast) { ToastUtils.showShort("方块 B 按AB组合 +1 "); } @@ -300,7 +302,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis isCombinationKey = 3; } if (isCombinationKey != 3 && isCombinationKey != 1) { - if ((pressBDownTime - startPressTime) > 1320) { + if ((pressBDownTime - startPressTime) > longPressTimeInterval) { if (isShowToast) { ToastUtils.showShort("方块 长按B 无操作 "); } @@ -310,7 +312,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis } else if (event.getAction() == KeyEvent.ACTION_UP) { pressBUpTime = System.currentTimeMillis(); CallerLogger.INSTANCE.d(M_F + "MoFangManager", "dispatchKeyEvent B up pressBUpTime = " + pressBUpTime + "--差-" + (pressBUpTime - startPressTime) + "--pressADownTime = " + pressADownTime); - if ((pressBUpTime - startPressTime) < 350 && isCombinationKey != 3) { + if ((pressBUpTime - startPressTime) < clickTime && isCombinationKey != 3) { if (isShowToast) { ToastUtils.showShort("方块 单击B 0 "); } @@ -332,7 +334,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis if (event.getAction() == KeyEvent.ACTION_DOWN) { pressCDownTime = System.currentTimeMillis(); CallerLogger.INSTANCE.d(M_F + "MoFangManager", "dispatchKeyEvent 方块 长按C 无操作 time dif = " + (pressCDownTime - startPressTime)); - if ((pressCDownTime - startPressTime) > 1320) { + if ((pressCDownTime - startPressTime) > longPressTimeInterval) { if (isShowToast) { ToastUtils.showShort("方块 长按C 无操作 "); } @@ -341,7 +343,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis pressCUpTime = System.currentTimeMillis(); isPressEnd = false; CallerLogger.INSTANCE.d(M_F + "MoFangManager", "dispatchKeyEvent 方块 单击C ← 向左变道 time dif = " + (pressCUpTime - startPressTime)); - if ((pressCUpTime - startPressTime) < 350) { + if ((pressCUpTime - startPressTime) < clickTime) { if (isShowToast) { ToastUtils.showShort("方块 单击C ← 向左变道 "); } @@ -353,7 +355,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis if (event.getAction() == KeyEvent.ACTION_DOWN) { pressDDownTime = System.currentTimeMillis(); CallerLogger.INSTANCE.d(M_F + "MoFangManager", "dispatchKeyEvent 方块 长按D 无操作 time dif = " + (pressDDownTime - startPressTime)); - if ((pressDDownTime - startPressTime) > 1320) { + if ((pressDDownTime - startPressTime) > longPressTimeInterval) { if (isShowToast) { ToastUtils.showShort("方块 长按D 无操作 "); } @@ -362,7 +364,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis pressDUpTime = System.currentTimeMillis(); isPressEnd = false; CallerLogger.INSTANCE.d(M_F + "MoFangManager", "dispatchKeyEvent 方块 单击D → 向右变道 time dif = " + (pressDUpTime - startPressTime)); - if ((pressDUpTime - startPressTime) < 350) { + if ((pressDUpTime - startPressTime) < clickTime) { if (isShowToast) { ToastUtils.showShort("方块 单击D → 向右变道 "); } @@ -374,7 +376,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis if (event.getAction() == KeyEvent.ACTION_DOWN) { pressEDownTime = System.currentTimeMillis(); CallerLogger.INSTANCE.d(M_F + "MoFangManager", "dispatchKeyEvent 方块 长按E 鸣笛 time dif = " + (pressEDownTime - startPressTime)); - if ((pressEDownTime - startPressTime) > 1320) { + if ((pressEDownTime - startPressTime) > longPressTimeInterval) { if (isShowToast) { ToastUtils.showShort("方块 长按E 鸣笛 "); } @@ -394,7 +396,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis pressEUpTime = System.currentTimeMillis(); isPressEnd = false; CallerLogger.INSTANCE.d(M_F + "MoFangManager", "方块 单击E 开启自动驾驶 time dif = " + (pressEUpTime - startPressTime)); - if ((pressEUpTime - startPressTime) < 350) { + if ((pressEUpTime - startPressTime) < clickTime) { if (isShowToast) { ToastUtils.showShort("方块 单击E 开启自动驾驶 "); } From bc83dd608e2b743dc1d837b8fbb1dc77aab1170c Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Wed, 8 Feb 2023 16:00:10 +0800 Subject: [PATCH 10/18] =?UTF-8?q?[dev=5Farch=5Fopt=5F3.0]=20=E5=8E=BB?= =?UTF-8?q?=E6=8E=89obu=20=E4=B8=8D=E5=9C=A8bus=E4=B9=98=E5=AE=A2=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E7=9A=84=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../function/datacenter/obu/MoGoObuProvider.kt | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/obu/MoGoObuProvider.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/obu/MoGoObuProvider.kt index 16afda3c40..cc09c18978 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/obu/MoGoObuProvider.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/obu/MoGoObuProvider.kt @@ -37,12 +37,12 @@ class MoGoObuProvider : IMoGoObuProvider { MogoObuDcCombineManager.INSTANCE.init(context) CallerLogger.d("$M_OBU$TAG", "初始化蘑菇自研OBU…… localIp = " + CommonUtils.getLocalIPAddress()) - //bus乘客版本obu功能去掉 - if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode) - && AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode) - ) { - //不处理 - } else { + //bus乘客版本obu功能去掉,大理项目需要全部车辆接收,不在限制 +// if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode) +// && AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode) +// ) { +// //不处理 +// } else { mContext = context mContext?.let { if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) { //bus 司机端 @@ -66,7 +66,7 @@ class MoGoObuProvider : IMoGoObuProvider { ) } } - } +// } } /** From 79ee956859edde3ceaf1b5a4a75c748fb894a5a8 Mon Sep 17 00:00:00 2001 From: zhongchao Date: Wed, 8 Feb 2023 17:17:23 +0800 Subject: [PATCH 11/18] [2.13.0-arch-opt] gradle fix --- .../mogo-core-function-biz/build.gradle | 1 - .../mogo-core-function-chat/build.gradle | 2 -- .../build.gradle | 3 --- .../mogo-core-function-devatools/build.gradle | 3 --- .../mogo-core-function-hmi/build.gradle | 2 -- .../mogo-core-function-map/build.gradle | 3 --- .../core/function/impl/MogoMapService.java | 2 +- .../mogo-core-function-startup/build.gradle | 18 +++----------- .../mogo-core-function-v2x/build.gradle | 6 ----- .../impl/MoGoPersonWarnPolylineManager.java | 2 +- .../manager/impl/MoGoStopPolylineManager.java | 2 +- .../manager/impl/MoGoWarnPolylineManager.java | 2 +- .../scenario/scene/airoad/AiRoadMarker.kt | 4 +--- .../scene/road/V2XAiRoadEventMarker.kt | 24 +++++++++---------- .../function/api/map/IMogoMapService.java | 3 +-- core/mogo-core-function-call/build.gradle | 5 ++-- .../call/map/CallerMapUIServiceManager.kt | 4 ++-- .../src/main/proto/message_pad.proto | 12 +++++++++- libraries/mogo-map/build.gradle | 2 -- 19 files changed, 36 insertions(+), 64 deletions(-) diff --git a/core/function-impl/mogo-core-function-biz/build.gradle b/core/function-impl/mogo-core-function-biz/build.gradle index 7ca8ee96d9..0e59185cde 100644 --- a/core/function-impl/mogo-core-function-biz/build.gradle +++ b/core/function-impl/mogo-core-function-biz/build.gradle @@ -62,7 +62,6 @@ dependencies { implementation rootProject.ext.dependencies.androidxroomktx implementation project(':foudations:mogo-commons') - implementation project(':core:mogo-core-data') implementation project(':core:mogo-core-utils') implementation project(':core:mogo-core-network') implementation project(':core:mogo-core-function-call') diff --git a/core/function-impl/mogo-core-function-chat/build.gradle b/core/function-impl/mogo-core-function-chat/build.gradle index c097863b5b..af1385fc7d 100644 --- a/core/function-impl/mogo-core-function-chat/build.gradle +++ b/core/function-impl/mogo-core-function-chat/build.gradle @@ -61,13 +61,11 @@ dependencies { implementation rootProject.ext.dependencies.androidxrecyclerview if (Boolean.valueOf(USE_MAVEN_PACKAGE)) { - implementation rootProject.ext.dependencies.mogo_core_data implementation rootProject.ext.dependencies.mogo_core_utils implementation rootProject.ext.dependencies.mogo_core_function_call implementation rootProject.ext.dependencies.mogo_core_res } else { implementation project(':foudations:mogo-commons') - implementation project(':core:mogo-core-data') implementation project(':core:mogo-core-utils') implementation project(':core:mogo-core-function-call') implementation project(':core:mogo-core-res') diff --git a/core/function-impl/mogo-core-function-datacenter/build.gradle b/core/function-impl/mogo-core-function-datacenter/build.gradle index 5c5057184b..7b49429b23 100644 --- a/core/function-impl/mogo-core-function-datacenter/build.gradle +++ b/core/function-impl/mogo-core-function-datacenter/build.gradle @@ -60,17 +60,14 @@ dependencies { implementation rootProject.ext.dependencies.amapnavi3dmap if (Boolean.valueOf(USE_MAVEN_PACKAGE)) { - implementation rootProject.ext.dependencies.mogo_core_data implementation rootProject.ext.dependencies.mogo_core_utils implementation rootProject.ext.dependencies.mogo_core_function_call implementation project(':libraries:mogo-adas') implementation rootProject.ext.dependencies.mogocommons } else { - implementation project(':core:mogo-core-data') implementation project(':core:mogo-core-utils') implementation project(':core:mogo-core-function-call') - implementation project(':libraries:mogo-adas') implementation project(':foudations:mogo-commons') } diff --git a/core/function-impl/mogo-core-function-devatools/build.gradle b/core/function-impl/mogo-core-function-devatools/build.gradle index f442af5c6f..1467c96245 100644 --- a/core/function-impl/mogo-core-function-devatools/build.gradle +++ b/core/function-impl/mogo-core-function-devatools/build.gradle @@ -88,14 +88,11 @@ dependencies { if (Boolean.valueOf(USE_MAVEN_PACKAGE)) { implementation rootProject.ext.dependencies.mogo_core_utils implementation rootProject.ext.dependencies.mogo_core_function_call - implementation rootProject.ext.dependencies.mogo_core_data implementation rootProject.ext.dependencies.mogo_core_res }else { - implementation project(':foudations:mogo-aicloud-services-sdk') implementation project(':foudations:mogo-commons') implementation project(':core:mogo-core-utils') implementation project(':core:mogo-core-function-call') - implementation project(':core:mogo-core-data') implementation project(':core:mogo-core-res') } } diff --git a/core/function-impl/mogo-core-function-hmi/build.gradle b/core/function-impl/mogo-core-function-hmi/build.gradle index 6d4c8edbba..5f9b7787b9 100644 --- a/core/function-impl/mogo-core-function-hmi/build.gradle +++ b/core/function-impl/mogo-core-function-hmi/build.gradle @@ -82,8 +82,6 @@ dependencies { compileOnly rootProject.ext.dependencies.mogocommons compileOnly rootProject.ext.dependencies.mogo_core_res compileOnly rootProject.ext.dependencies.mogo_core_utils - compileOnly rootProject.ext.dependencies.mogo_core_function_map - compileOnly rootProject.ext.dependencies.mogo_core_function_devatools compileOnly rootProject.ext.dependencies.mogo_core_function_datacenter compileOnly rootProject.ext.dependencies.mogo_core_function_call compileOnly project(':libraries:mogo-adas') diff --git a/core/function-impl/mogo-core-function-map/build.gradle b/core/function-impl/mogo-core-function-map/build.gradle index 1b1996082c..0cf7bfaf30 100644 --- a/core/function-impl/mogo-core-function-map/build.gradle +++ b/core/function-impl/mogo-core-function-map/build.gradle @@ -75,13 +75,10 @@ dependencies { implementation rootProject.ext.dependencies.mogo_core_function_call implementation rootProject.ext.dependencies.mogomap - implementation rootProject.ext.dependencies.mogomapapi } else { implementation project(':foudations:mogo-commons') implementation project(':core:mogo-core-res') - implementation project(':core:mogo-core-data') implementation project(':core:mogo-core-utils') - implementation project(':core:function-impl:mogo-core-function-datacenter') implementation project(':core:mogo-core-function-call') implementation project(":libraries:mogo-map") } diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/impl/MogoMapService.java b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/impl/MogoMapService.java index 472caaf9dd..1516eeddbc 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/impl/MogoMapService.java +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/impl/MogoMapService.java @@ -41,7 +41,7 @@ public class MogoMapService implements IMogoMapService { } @Override - public IMogoOverlayManager getOverlayManager(Context context) { + public IMogoOverlayManager getOverlayManager() { return MogoOverlayManager.getInstance(); } diff --git a/core/function-impl/mogo-core-function-startup/build.gradle b/core/function-impl/mogo-core-function-startup/build.gradle index 8dbe709e37..5c5e15f374 100644 --- a/core/function-impl/mogo-core-function-startup/build.gradle +++ b/core/function-impl/mogo-core-function-startup/build.gradle @@ -40,32 +40,20 @@ android { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation rootProject.ext.dependencies.androidxccorektx - implementation rootProject.ext.dependencies.androidxappcompat implementation rootProject.ext.dependencies.arouter - implementation project(path: ':foudations:mogo-commons') kapt rootProject.ext.dependencies.aroutercompiler + implementation rootProject.ext.dependencies.android_start_up - implementation rootProject.ext.dependencies.mogocustommap implementation rootProject.ext.dependencies.thread_opt + if (Boolean.valueOf(USE_MAVEN_PACKAGE)) { - implementation rootProject.ext.dependencies.mogo_core_res - implementation rootProject.ext.dependencies.mogo_core_data - implementation rootProject.ext.dependencies.mogo_core_utils - implementation rootProject.ext.dependencies.mogo_core_function_api implementation rootProject.ext.dependencies.mogo_core_function_call implementation rootProject.ext.dependencies.crashreport - implementation rootProject.ext.dependencies.mogomap - implementation rootProject.ext.dependencies.mogomapapi } else { - implementation project(':core:mogo-core-res') - implementation project(':core:mogo-core-data') - implementation project(':core:mogo-core-utils') - implementation project(':core:mogo-core-function-api') implementation project(':core:mogo-core-function-call') implementation project(":test:crashreport") - implementation project(':libraries:mogo-map') - implementation project(":libraries:mogo-map-api") } + implementation project(':foudations:mogo-commons') } apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString() diff --git a/core/function-impl/mogo-core-function-v2x/build.gradle b/core/function-impl/mogo-core-function-v2x/build.gradle index 299bfe9cbf..0548690b35 100644 --- a/core/function-impl/mogo-core-function-v2x/build.gradle +++ b/core/function-impl/mogo-core-function-v2x/build.gradle @@ -62,7 +62,6 @@ dependencies { implementation rootProject.ext.dependencies.localbroadcastmanager implementation rootProject.ext.dependencies.arouter implementation rootProject.ext.dependencies.rxandroid - implementation rootProject.ext.dependencies.flexbox kapt rootProject.ext.dependencies.aroutercompiler implementation rootProject.ext.dependencies.protobuf_java implementation rootProject.ext.dependencies.protobuf_java_util @@ -71,19 +70,14 @@ dependencies { if (Boolean.valueOf(USE_MAVEN_PACKAGE)) { implementation rootProject.ext.dependencies.mogocommons - implementation rootProject.ext.dependencies.mogo_core_data implementation rootProject.ext.dependencies.mogo_core_utils implementation rootProject.ext.dependencies.mogo_core_function_call implementation rootProject.ext.dependencies.mogo_core_res - compileOnly rootProject.ext.dependencies.mogomap } else { implementation project(":foudations:mogo-commons") - implementation project(':core:mogo-core-data') implementation project(':core:mogo-core-utils') implementation project(':core:mogo-core-function-call') implementation project(':core:mogo-core-res') - implementation project(':libraries:mogo-adas') - compileOnly project(':libraries:mogo-map') } } diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/manager/impl/MoGoPersonWarnPolylineManager.java b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/manager/impl/MoGoPersonWarnPolylineManager.java index a5b5aa7c52..3f73403da5 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/manager/impl/MoGoPersonWarnPolylineManager.java +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/manager/impl/MoGoPersonWarnPolylineManager.java @@ -55,7 +55,7 @@ public class MoGoPersonWarnPolylineManager implements IMoGoPersonWarnPolylineMan options.add(locations.get(i)); } // 绘制线的对象 - IMogoOverlayManager overlay = CallerMapUIServiceManager.INSTANCE.getOverlayManager(AbsMogoApplication.getApp()); + IMogoOverlayManager overlay = CallerMapUIServiceManager.INSTANCE.getOverlayManager(); if (overlay != null) { mMogoPolyline = overlay.addPolyline(options); mMogoPolyline.setTransparency(0.5f); diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/manager/impl/MoGoStopPolylineManager.java b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/manager/impl/MoGoStopPolylineManager.java index cf2525ce76..287be0c2c7 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/manager/impl/MoGoStopPolylineManager.java +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/manager/impl/MoGoStopPolylineManager.java @@ -54,7 +54,7 @@ public class MoGoStopPolylineManager implements IMoGoStopPolylineManager { options.add(locations.get(i)); } // 绘制线的对象 - IMogoOverlayManager overlay = CallerMapUIServiceManager.INSTANCE.getOverlayManager(AbsMogoApplication.getApp()); + IMogoOverlayManager overlay = CallerMapUIServiceManager.INSTANCE.getOverlayManager(); if (overlay != null) { mMogoPolyline = overlay.addPolyline(options); } diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/manager/impl/MoGoWarnPolylineManager.java b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/manager/impl/MoGoWarnPolylineManager.java index dc27540743..a5ed5eda32 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/manager/impl/MoGoWarnPolylineManager.java +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/manager/impl/MoGoWarnPolylineManager.java @@ -62,7 +62,7 @@ public class MoGoWarnPolylineManager implements IMoGoWarnPolylineManager { } // 绘制线的对象 - IMogoOverlayManager overlay = CallerMapUIServiceManager.INSTANCE.getOverlayManager(AbsMogoApplication.getApp()); + IMogoOverlayManager overlay = CallerMapUIServiceManager.INSTANCE.getOverlayManager(); if (overlay != null) { mMogoPolyline = overlay.addPolyline(options); } diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/scenario/scene/airoad/AiRoadMarker.kt b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/scenario/scene/airoad/AiRoadMarker.kt index 2568063852..1a1bc8ce6c 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/scenario/scene/airoad/AiRoadMarker.kt +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/scenario/scene/airoad/AiRoadMarker.kt @@ -39,9 +39,7 @@ class AiRoadMarker { private val marker by lazy { AtomicReference() } private val overlayManager by lazy { - CallerMapUIServiceManager.getOverlayManager( - AbsMogoApplication.getApp() - ) + CallerMapUIServiceManager.getOverlayManager() } private val START_COLOR = Color.parseColor("#002ABAD9") diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/scenario/scene/road/V2XAiRoadEventMarker.kt b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/scenario/scene/road/V2XAiRoadEventMarker.kt index e93bae7523..26dacad912 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/scenario/scene/road/V2XAiRoadEventMarker.kt +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/scenario/scene/road/V2XAiRoadEventMarker.kt @@ -1,18 +1,18 @@ package com.mogo.eagle.core.function.v2x.events.scenario.scene.road -import android.graphics.* +import android.graphics.Color import com.mogo.eagle.core.data.enums.EventTypeEnumNew -import com.mogo.eagle.core.data.map.* +import com.mogo.eagle.core.data.map.MogoLatLng +import com.mogo.eagle.core.data.map.MogoLocation import com.mogo.eagle.core.data.map.entity.V2XRoadEventEntity +import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager import com.mogo.eagle.core.function.v2x.events.bridge.BridgeApi.context import com.mogo.eagle.core.function.v2x.events.bridge.BridgeApi.v2xMarker import com.mogo.eagle.core.function.v2x.events.remove.MarkerWrapper -import com.mogo.map.* -import com.mogo.map.marker.* -import com.mogo.map.overlay.* -import java.util.concurrent.atomic.* -import kotlin.Pair -import kotlin.collections.ArrayList +import com.mogo.map.marker.IMogoMarker +import com.mogo.map.overlay.IMogoPolyline +import com.mogo.map.overlay.MogoPolylineOptions +import java.util.concurrent.atomic.AtomicReference class V2XAiRoadEventMarker { @@ -20,7 +20,7 @@ class V2XAiRoadEventMarker { private val v2xLocation = AtomicReference() - private val overlayManager by lazy { MogoOverlayManager.getInstance() } + private val overlayManager by lazy { CallerMapUIServiceManager.getOverlayManager() } fun drawMarkers(entity: V2XRoadEventEntity, wrapper: MarkerWrapper) { val extra = entity.noveltyInfo.extras["polygon"] @@ -68,9 +68,9 @@ class V2XAiRoadEventMarker { options.width(5f) options.zIndex(75000f) options.maxIndex(800000f) - val line = overlayManager.addPolyline(options) - current.set(Pair(line, wrapper.markers)) - if (line != null) { + val line = overlayManager?.addPolyline(options) + line?.let { + current.set(Pair(line, wrapper.markers)) line.isVisible = true wrapper.addLine(line) } diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/IMogoMapService.java b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/IMogoMapService.java index 6b173f6006..8c14762e36 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/IMogoMapService.java +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/IMogoMapService.java @@ -40,10 +40,9 @@ public interface IMogoMapService extends IProvider { /** * 覆盖物操作 * - * @param context * @return */ - IMogoOverlayManager getOverlayManager(Context context); + IMogoOverlayManager getOverlayManager(); /** * 获取高德定位服务 diff --git a/core/mogo-core-function-call/build.gradle b/core/mogo-core-function-call/build.gradle index 51aef62a5c..94acda38e5 100644 --- a/core/mogo-core-function-call/build.gradle +++ b/core/mogo-core-function-call/build.gradle @@ -59,11 +59,10 @@ dependencies { implementation rootProject.ext.dependencies.mogo_core_utils implementation rootProject.ext.dependencies.mogocommons } else { + implementation project(':core:mogo-core-utils') + implementation project(':foudations:mogo-commons') implementation project(':libraries:mogo-adas') api project(':libraries:mogo-map-api') - implementation project(':foudations:mogo-commons') - implementation project(':core:mogo-core-data') - implementation project(':core:mogo-core-utils') api project(':core:mogo-core-function-api') } } diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerMapUIServiceManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerMapUIServiceManager.kt index 7e015c3ec4..cb8288ae15 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerMapUIServiceManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerMapUIServiceManager.kt @@ -30,8 +30,8 @@ object CallerMapUIServiceManager { return serviceProvider?.markerService } - fun getOverlayManager(context: Context): IMogoOverlayManager?{ - return serviceProvider?.getOverlayManager(context) + fun getOverlayManager(): IMogoOverlayManager?{ + return serviceProvider?.overlayManager } fun getGDLocationServer(context: Context):IMogoGDLocationClient?{ diff --git a/libraries/mogo-adas-data/src/main/proto/message_pad.proto b/libraries/mogo-adas-data/src/main/proto/message_pad.proto index f96fe6fa96..a024bb74ee 100644 --- a/libraries/mogo-adas-data/src/main/proto/message_pad.proto +++ b/libraries/mogo-adas-data/src/main/proto/message_pad.proto @@ -90,6 +90,15 @@ message Trajectory repeated TrajectoryPoint points = 1; } +enum AdditionalAttribute +{ + ATTR_UNKNOWN = 0; + ATTR_ZOMBIE = 1; // 僵尸车 + ATTR_ROAD_CONSTRUCTION = 2; // 道路施工区域 + ATTR_STATIC = 3; // 静止障碍物 + ATTR_ACCIDENT = 4; // 事故车 +} + // message definition for MsgTypeTrackedObjects message SubSource { @@ -125,6 +134,7 @@ message TrackedObject repeated TrackedSource tracked_source = 14; repeated Location polygon = 15; geometry.Point center = 16; + AdditionalAttribute add_attribute = 17; // 事件类型 } message TrackedObjects @@ -178,7 +188,7 @@ message AutopilotState message PlanningObject { uint32 uuid = 1; - uint32 type = 2; //影响自车决策的类型, 和感知的障碍物类型不是一回事 0是leading障碍物,1是避障和择机的障碍物 + uint32 type = 2; //影响自车决策的类型, 和感知的障碍物类型不是一回事 } message PlanningObjects diff --git a/libraries/mogo-map/build.gradle b/libraries/mogo-map/build.gradle index d3adcc32cb..fb7c7dbfa8 100644 --- a/libraries/mogo-map/build.gradle +++ b/libraries/mogo-map/build.gradle @@ -63,8 +63,6 @@ dependencies { implementation project(':core:mogo-core-utils') implementation project(':libraries:mogo-map-api') implementation project(':foudations:mogo-commons') - - implementation project(':core:mogo-core-data') implementation project(':core:mogo-core-function-call') //todo 解除依赖 } } From b9a966bd41600361c39a27ef555804ae8828f232 Mon Sep 17 00:00:00 2001 From: zhongchao Date: Wed, 8 Feb 2023 18:01:04 +0800 Subject: [PATCH 12/18] [2.13.0-arch-opt] track obj open loc --- .../function/business/identify/TrackObj.java | 4 ++-- .../core/function/startup/BuildConfig.java | 18 ------------------ .../routes/ARouter$$Group$$start_up.java | 18 ------------------ ...er$$Providers$$mogocorefunctionstartup.java | 18 ------------------ ...ARouter$$Root$$mogocorefunctionstartup.java | 17 ----------------- 5 files changed, 2 insertions(+), 73 deletions(-) delete mode 100644 core/function-impl/mogo-core-function-startup/build/generated/source/buildConfig/debug/com/mogo/eagle/core/function/startup/BuildConfig.java delete mode 100644 core/function-impl/mogo-core-function-startup/build/generated/source/kapt/debug/com/alibaba/android/arouter/routes/ARouter$$Group$$start_up.java delete mode 100644 core/function-impl/mogo-core-function-startup/build/generated/source/kapt/debug/com/alibaba/android/arouter/routes/ARouter$$Providers$$mogocorefunctionstartup.java delete mode 100644 core/function-impl/mogo-core-function-startup/build/generated/source/kapt/debug/com/alibaba/android/arouter/routes/ARouter$$Root$$mogocorefunctionstartup.java diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/TrackObj.java b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/TrackObj.java index e18dc702fb..a5a74dadd5 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/TrackObj.java +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/TrackObj.java @@ -55,8 +55,8 @@ public class TrackObj { } private void correct() { -// calAverageSpeedAndType(); -// calLoc(); + calAverageSpeedAndType(); + calLoc(); // calHeading(); } diff --git a/core/function-impl/mogo-core-function-startup/build/generated/source/buildConfig/debug/com/mogo/eagle/core/function/startup/BuildConfig.java b/core/function-impl/mogo-core-function-startup/build/generated/source/buildConfig/debug/com/mogo/eagle/core/function/startup/BuildConfig.java deleted file mode 100644 index b59bae600a..0000000000 --- a/core/function-impl/mogo-core-function-startup/build/generated/source/buildConfig/debug/com/mogo/eagle/core/function/startup/BuildConfig.java +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Automatically generated file. DO NOT MODIFY - */ -package com.mogo.eagle.core.function.startup; - -public final class BuildConfig { - public static final boolean DEBUG = Boolean.parseBoolean("true"); - public static final String LIBRARY_PACKAGE_NAME = "com.mogo.eagle.core.function.startup"; - /** - * @deprecated APPLICATION_ID is misleading in libraries. For the library package name use LIBRARY_PACKAGE_NAME - */ - @Deprecated - public static final String APPLICATION_ID = "com.mogo.eagle.core.function.startup"; - public static final String BUILD_TYPE = "debug"; - public static final String FLAVOR = ""; - public static final int VERSION_CODE = 1; - public static final String VERSION_NAME = ""; -} diff --git a/core/function-impl/mogo-core-function-startup/build/generated/source/kapt/debug/com/alibaba/android/arouter/routes/ARouter$$Group$$start_up.java b/core/function-impl/mogo-core-function-startup/build/generated/source/kapt/debug/com/alibaba/android/arouter/routes/ARouter$$Group$$start_up.java deleted file mode 100644 index cd6fddf51f..0000000000 --- a/core/function-impl/mogo-core-function-startup/build/generated/source/kapt/debug/com/alibaba/android/arouter/routes/ARouter$$Group$$start_up.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.alibaba.android.arouter.routes; - -import com.alibaba.android.arouter.facade.enums.RouteType; -import com.alibaba.android.arouter.facade.model.RouteMeta; -import com.alibaba.android.arouter.facade.template.IRouteGroup; -import com.mogo.eagle.core.function.startup.MogoStartUpProvider; -import java.lang.Override; -import java.lang.String; -import java.util.Map; - -/** - * DO NOT EDIT THIS FILE!!! IT WAS GENERATED BY AROUTER. */ -public class ARouter$$Group$$start_up implements IRouteGroup { - @Override - public void loadInto(Map atlas) { - atlas.put("/start_up/api", RouteMeta.build(RouteType.PROVIDER, MogoStartUpProvider.class, "/start_up/api", "start_up", null, -1, -2147483648)); - } -} diff --git a/core/function-impl/mogo-core-function-startup/build/generated/source/kapt/debug/com/alibaba/android/arouter/routes/ARouter$$Providers$$mogocorefunctionstartup.java b/core/function-impl/mogo-core-function-startup/build/generated/source/kapt/debug/com/alibaba/android/arouter/routes/ARouter$$Providers$$mogocorefunctionstartup.java deleted file mode 100644 index d329a88112..0000000000 --- a/core/function-impl/mogo-core-function-startup/build/generated/source/kapt/debug/com/alibaba/android/arouter/routes/ARouter$$Providers$$mogocorefunctionstartup.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.alibaba.android.arouter.routes; - -import com.alibaba.android.arouter.facade.enums.RouteType; -import com.alibaba.android.arouter.facade.model.RouteMeta; -import com.alibaba.android.arouter.facade.template.IProviderGroup; -import com.mogo.eagle.core.function.startup.MogoStartUpProvider; -import java.lang.Override; -import java.lang.String; -import java.util.Map; - -/** - * DO NOT EDIT THIS FILE!!! IT WAS GENERATED BY AROUTER. */ -public class ARouter$$Providers$$mogocorefunctionstartup implements IProviderGroup { - @Override - public void loadInto(Map providers) { - providers.put("com.mogo.eagle.core.function.api.startup.IStartUpProvider", RouteMeta.build(RouteType.PROVIDER, MogoStartUpProvider.class, "/start_up/api", "start_up", null, -1, -2147483648)); - } -} diff --git a/core/function-impl/mogo-core-function-startup/build/generated/source/kapt/debug/com/alibaba/android/arouter/routes/ARouter$$Root$$mogocorefunctionstartup.java b/core/function-impl/mogo-core-function-startup/build/generated/source/kapt/debug/com/alibaba/android/arouter/routes/ARouter$$Root$$mogocorefunctionstartup.java deleted file mode 100644 index 8f02facf8d..0000000000 --- a/core/function-impl/mogo-core-function-startup/build/generated/source/kapt/debug/com/alibaba/android/arouter/routes/ARouter$$Root$$mogocorefunctionstartup.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.alibaba.android.arouter.routes; - -import com.alibaba.android.arouter.facade.template.IRouteGroup; -import com.alibaba.android.arouter.facade.template.IRouteRoot; -import java.lang.Class; -import java.lang.Override; -import java.lang.String; -import java.util.Map; - -/** - * DO NOT EDIT THIS FILE!!! IT WAS GENERATED BY AROUTER. */ -public class ARouter$$Root$$mogocorefunctionstartup implements IRouteRoot { - @Override - public void loadInto(Map> routes) { - routes.put("start_up", ARouter$$Group$$start_up.class); - } -} From 89b038054d3b543290a60ecc4e71db632c846a72 Mon Sep 17 00:00:00 2001 From: donghongyu Date: Wed, 8 Feb 2023 20:47:16 +0800 Subject: [PATCH 13/18] =?UTF-8?q?[dev=5Farch=5Fopt=5F3.0]=20[Change]=20[?= =?UTF-8?q?=201=E3=80=81=E5=85=B3=E9=97=AD=E4=B8=80=E4=BA=9B=E7=8B=82?= =?UTF-8?q?=E5=88=B7=E7=9A=84=E6=97=A5=E5=BF=97=202=E3=80=81=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0EB5=E8=8E=B7=E5=8F=96SN=E7=9A=84=E6=96=B9=E6=B3=95?= =?UTF-8?q?=EF=BC=8C=E4=BD=86=E7=B3=BB=E7=BB=9F=E6=9C=89=E9=99=90=E5=88=B6?= =?UTF-8?q?=EF=BC=8C=E9=9C=80=E8=A6=81=E5=85=88adb=20root=20;setenforce=20?= =?UTF-8?q?0=20=EF=BC=8C=E9=9C=80=E8=A6=81=E7=AD=89=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E5=8E=82=E5=95=86=E4=BF=AE=E6=94=B9=E4=B8=8B=20]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: donghongyu --- app/build.gradle | 6 +++ .../v2x/events/alarm/V2XAlarmServer.java | 14 +++---- .../core/function/v2x/internal/V2XManager.kt | 2 +- .../core/utilcode/mogo/DevicesUtils.java | 20 +++++----- .../core/utilcode/mogo/TelephoneUtil.java | 5 ++- .../eagle/core/utilcode/util/DeviceUtils.java | 2 +- .../utilcode/util/SystemPropertiesUtils.java | 35 ++++++++++++++++++ keystore/EB5/car_launcher.jks | Bin 0 -> 4583 bytes keystore/EB5/key | 28 ++++++++++++++ keystore/EB5/p12 | Bin 0 -> 2894 bytes .../java/com/mogo/map/AMapViewWrapper.java | 16 ++++---- 11 files changed, 100 insertions(+), 28 deletions(-) create mode 100644 core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/SystemPropertiesUtils.java create mode 100644 keystore/EB5/car_launcher.jks create mode 100644 keystore/EB5/key create mode 100644 keystore/EB5/p12 diff --git a/app/build.gradle b/app/build.gradle index 33ac1066ae..bd4379bfe4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -158,6 +158,12 @@ android { storePassword 'ZDauto123456' keyPassword 'ZDauto123456' } + releaseEB5 { + keyAlias = 'android_platform' + storeFile file('../keystore/EB5/car_launcher.jks') + storePassword 'ZDauto123456' + keyPassword 'ZDauto123456' + } } buildTypes { debug { diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/alarm/V2XAlarmServer.java b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/alarm/V2XAlarmServer.java index 43acb5bd68..0156f41948 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/alarm/V2XAlarmServer.java +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/alarm/V2XAlarmServer.java @@ -37,7 +37,7 @@ public class V2XAlarmServer { CopyOnWriteArrayList v2XRoadEventEntityList, MogoLocation currentLocation) { try { - Logger.d(TAG, "getDriveFrontAlarmEvent --- 1 ---" + currentLocation ); + //Logger.d(TAG, "getDriveFrontAlarmEvent --- 1 ---" + currentLocation ); if (!showedEvents.isEmpty()) { Iterator iterator = showedEvents.iterator(); while (iterator.hasNext()) { @@ -54,18 +54,18 @@ public class V2XAlarmServer { } } } - Logger.d(TAG, "getDriveFrontAlarmEvent --- 2 ---" + currentLocation); + //Logger.d(TAG, "getDriveFrontAlarmEvent --- 2 ---" + currentLocation); if (currentLocation != null && v2XRoadEventEntityList != null) { // 因为集合是按照距离排序后的所以这里检索出来第一个就发出警告 for (V2XRoadEventEntity v2XRoadEventEntity : v2XRoadEventEntityList) { // 0、道路事件必须有朝向,角度>=0; - Logger.d(TAG, "entity:" + v2XRoadEventEntity.getLocation()); + //Logger.d(TAG, "entity:" + v2XRoadEventEntity.getLocation()); if (v2XRoadEventEntity.getLocation().getAngle() >= 0) { // 计算车辆距离指定气泡的距离 MarkerLocation eventLocation = v2XRoadEventEntity.getLocation(); // 1、判断是否到达了触发距离,20 ~ 500, double distance = v2XRoadEventEntity.getDistance(); - Logger.d(TAG, "distance:" + distance); + //Logger.d(TAG, "distance:" + distance); if (distance <= 500) { if (EventTypeEnumNew.GHOST_PROBE.getPoiType().equals(v2XRoadEventEntity.getPoiType())) { if (distance > 25) { @@ -76,7 +76,7 @@ public class V2XAlarmServer { double carBearing = currentLocation.getHeading(); double eventBearing = eventLocation.getAngle(); double diffAngle = DrivingDirectionUtils.getAngleDiff(carBearing, eventBearing); - Logger.d(TAG, "car_bearing:" + carBearing + ",eventBearing:" + eventBearing + ",diffAngle:" + diffAngle); + //Logger.d(TAG, "car_bearing:" + carBearing + ",eventBearing:" + eventBearing + ",diffAngle:" + diffAngle); if (diffAngle <= 20) { // 3、计算当前车辆行驶方向与事件位置之间夹角《20度,保证道路事件在车辆前方 double eventAngle = DrivingDirectionUtils.getDegreeOfCar2Poi( @@ -87,12 +87,12 @@ public class V2XAlarmServer { (int) currentLocation.getHeading() ); - Logger.d(TAG, "eventAngle:" + eventAngle); + //Logger.d(TAG, "eventAngle:" + eventAngle); if (0 <= eventAngle && eventAngle <= 20) { if (showedEvents.contains(v2XRoadEventEntity)) { return null; } - Logger.d(TAG, "showed---"); + //Logger.d(TAG, "showed---"); showedEvents.add(v2XRoadEventEntity); return v2XRoadEventEntity; } diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/internal/V2XManager.kt b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/internal/V2XManager.kt index d40195909f..1245d6244f 100755 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/internal/V2XManager.kt +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/internal/V2XManager.kt @@ -209,7 +209,7 @@ object V2XManager { if (!started.get()) { return } - V2XLogger.d(TAG, "--- onLocationChanged --[longitude: $longitude, latitude: $latitude]") + //V2XLogger.d(TAG, "--- onLocationChanged --[longitude: $longitude, latitude: $latitude]") realLongitude.set(longitude) realLatitude.set(latitude) val oldLon = lastLongitude.get() diff --git a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/DevicesUtils.java b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/DevicesUtils.java index f4c8511ef4..a427435544 100644 --- a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/DevicesUtils.java +++ b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/DevicesUtils.java @@ -15,26 +15,26 @@ import java.lang.reflect.Method; public class DevicesUtils { private static final String PROPERTIES = "android.os.SystemProperties"; - private static final String GSM_SERIAL = "gsm.serial"; + private static final String GSM_SERIAL = "persist.device.sn"; private static final String GET = "get"; - public static String getSn(){ + public static String getSn() { return getSystemProperties(GSM_SERIAL); } - public static String getSystemProperties(String name ) { + public static String getSystemProperties(String name) { String value = ""; try { - Class< ? > c = Class.forName( PROPERTIES ); - Method get = c.getMethod( GET, String.class ); - value = (String) get.invoke( c, name ); - } catch ( ClassNotFoundException var3 ) { + Class c = Class.forName(PROPERTIES); + Method get = c.getMethod(GET, String.class); + value = (String) get.invoke(c, name); + } catch (ClassNotFoundException var3) { var3.printStackTrace(); - } catch ( NoSuchMethodException var4 ) { + } catch (NoSuchMethodException var4) { var4.printStackTrace(); - } catch ( InvocationTargetException var5 ) { + } catch (InvocationTargetException var5) { var5.printStackTrace(); - } catch ( IllegalAccessException var6 ) { + } catch (IllegalAccessException var6) { var6.printStackTrace(); } return value; diff --git a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/TelephoneUtil.java b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/TelephoneUtil.java index 246934e6bd..56b3e5f101 100644 --- a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/TelephoneUtil.java +++ b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/TelephoneUtil.java @@ -8,7 +8,6 @@ import android.os.Build; import android.telephony.TelephonyManager; import android.text.TextUtils; - import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import java.lang.reflect.Field; @@ -154,6 +153,10 @@ public class TelephoneUtil { if (TextUtils.isEmpty(serial)) { serial = (String) get.invoke(c, "ro.serialno"); } + if (TextUtils.isEmpty(serial)) { + serial = (String) get.invoke(c, "persist.device.sn"); + } + } catch (Exception e) { e.printStackTrace(); } diff --git a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/DeviceUtils.java b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/DeviceUtils.java index fbab2ccd1e..dcc8153dc9 100644 --- a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/DeviceUtils.java +++ b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/DeviceUtils.java @@ -554,7 +554,7 @@ public final class DeviceUtils { * @return 当前EB5设备SN */ public static String getEB5DevicesSN() { - ShellUtils.CommandResult result = UtilsBridge.execCmd("getprop persist.device.sn", false); + ShellUtils.CommandResult result = UtilsBridge.execCmd("adb shell getprop persist.device.sn", false); if (result.result == 0) { LogUtils.d("", result.toString()); } diff --git a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/SystemPropertiesUtils.java b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/SystemPropertiesUtils.java new file mode 100644 index 0000000000..04e0563543 --- /dev/null +++ b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/SystemPropertiesUtils.java @@ -0,0 +1,35 @@ +package com.mogo.eagle.core.utilcode.util; + +import java.lang.reflect.Method; + +/** + * Android API从21后开始,不再直接支持通过SystemProperties.get/set方式来获取/设置系统属性。 + * 通过反射方式来进行系统属性操作,代码如下: + */ +public final class SystemPropertiesUtils { + private static final String CLASS_NAME = "android.os.SystemProperties"; + + public static String getProperty(String key, String defaultValue) { + String value = defaultValue; + + try { + Class c = Class.forName(CLASS_NAME); + Method get = c.getMethod("get", String.class, String.class); + value = (String) (get.invoke(c, key, defaultValue)); + } catch (Exception e) { + e.printStackTrace(); + } finally { + return value; + } + } + + public static void setProperty(String key, String value) { + try { + Class c = Class.forName(CLASS_NAME); + Method set = c.getMethod("set", String.class, String.class); + set.invoke(c, key, value); + } catch (Exception e) { + e.printStackTrace(); + } + } +} \ No newline at end of file diff --git a/keystore/EB5/car_launcher.jks b/keystore/EB5/car_launcher.jks new file mode 100644 index 0000000000000000000000000000000000000000..69ee89a8261727676586ed67cb025eaaa072c862 GIT binary patch literal 4583 zcmd6p`8$;D+rVeW2xH4m_C1uwKC%}X%h(3lnIy(;Y*`YMeGl39eHT)e5T2sKAWMjl zogvvZ`09Cj-?#UDzkk5@hx@pX^SrO)KCb1wKIi8Qe})GD0HEIw5O5jgdLQG4zHjaB zjPiQmhH(J^fZ@5S0AsZAAaZ<9VwQB zm64G=!1bv(ivWKlf%G6WJF{eA5OqDhq934>R;7S(0rmrN2R`bSAdZ^U?E;P!Y4x+{*vk_C?rc%}Ntfj=MFV1wHl}bV zE$G-vtwzzFM`tsbGaVlee?!=HxG5JCSLn!dJ)`c1eD~#z=FS`BB+6VRVT@>~*ylbe z`i;rG48m-Lf8=3lKf}i8Y98$&lI~Io>`|5pyHVKj`1K8h+}Z;+#}ToyY~@gi=Y)p1 z%OLaDAH>OI-^e^asFY@ZRW^p)u9r5vH4AtjVi%utZ))|!PIa#q-Kd%RTo|vMiOHN= zRy;n?iv+ zT;3~vd1?Rb`S*jl39Af~y5uXcyy5-ZqsDC7^d#&xc(X;Xk5gM|ekWR-tOqQYN_PYEHz zqE+6jzG|OJ4VNmSmklcA;N1i-6jD7JQ^1s2m#|x|&g?&K69Y`na840VZ^bimd0L(# z4_p}m8Hh=aFwzb(iuz~m$K=94>^@rie+_a|5FF-iD%OY9FY`8F!zEg^%$uy+;<&7o z4dK@`mI(KJm)_L681ase_|tL~}H`fPGv^9<$6 z9`{d;#h7Yot-R?CX;@qLm{RF;`S!j*d+Rlq7)+pvf6T}8AlGh-=d^6%I9FOpPa=?Q ziJM4oO4|kheY(vYO}159;nlvaXESYxk3*pK%<7am`a@_c257A~qG-@J^#&I`B~M+g z=OX7ze}22+{G%56!Q}1KDM?Q(Bk>`6r1$ZRbpG;UM;j!u$05k#0HKnZ=9vFH_Iv|3 zyp|a35#p8VPG-~4G@!JK`jYV108AI&EB-<! z_6W_Zw$=de`95|c|5sXW{a5UaNa_Xjjh^B8K4shfC@X%FX?m)(VrD}6F4?DG1i6u% zy`N%*=B*vBmM|?)spN`Py7`vDZIvap@?49SXpc{%T~$%s@cA93f%DcrIcg58N8f@! zr5cqAx{z#zUyGDlD<2a+7I4E-Kc`LjXp{Ys|73{(P?6wkw)Y*bU1LeZe^ESYFP+wA z_9E)mfSHrE+I+c!?i&yfx9EOH)?x%55WFT_L{=U%?@qBQ5<4%rrCt)56JaBz_$G3# zLw=;;g+#ex0a`JdSh~=3vWMH_#Us0UX1Re%+BOqzTPJUPm%UYOXsvv&h;||&CzED! z%-wW5J$e+jap`@(L_2Rx>wc$-Q3LLHeGxNx%ZGN;PQzE;iZPUpLw)LEKy=U5eNtZkpUVrg2RW5aVJp9OJu^~@bE)QAP{^( z&5#r^awyp)A|vo6I*<`kj1EfkD3=0j=qM3x-mYFKv@4e} z+Rj((@&#}&@(?-_m4C?mUm5cMmm&I}3=fp+zvn;(WTg8|b>-i0QCl|`CxaVd>tqe!`Uor9>h!Kk zUj+w1%lhe(i%G}l)hWi~A{(-7nR3a}ulQFlUuc4JNea;f+%?10A2{i8#4$uJE1`s7NjlMm=bHJCnhw{w zD9K8@UgUBs--yD~Bu3q=GJ6`lW3YN7toSYxXWfD-$i)<0eAWJn)j z+N2wlBN-SY9=oV`P+o5&f&aM{)$RzN(c%)FN_kfmH`XkhL^M?^I(mm!RCldCl`iES zlu94=4L1_Dytw!T8QWanc=vB~k=vp$&M0qJTL(ML1(*Gx zgU1IJ%C)Z{-&Iungl0wTJ_U@4512#a$~RS$ve}0i!xkP`@IG_#wL?gda1LfAV?5mCn7^{cup<<>s9e;s zKU8nrK^3rDbf#Kgb#@Lgu&m^%m`e}@*vMb+<&Os5trK@pv6+4O==k(6xN??w7jhWR zRTv>ceoKx-Yvz@Mi-(EUtA%P7yeC8PxW1?l>S!^k`Q*;pI~F_cJ$iTOJM#du2$cxG zu&cDW5ijk1QIJI+p=o<1)NM%14~iwzn)R=V!Z^{2I0VX$VL;!_>~a@L?1IA?VpZ)TTl07bp<#AN~Qs`%S?W|D!`*BDr&Z$-%^C5z9z7W+s!#+dg1O)vhn%~O>VxwkX5Q&uSWbL}=+~C{~!o)xy^82r3CWz=TG2xV{ zpClHR*p-!eZ{3Njjd&n?Kxvo(Ri(k`KDz;KTgj~t7D@yxD@XI1%9u)? zek!cPnEIsqym3`s8oV~1tz%&_B2nai)LS^@BintBim6hX|V~_CW6KmdWR-75HF=Y}uFZLZeeI7eXw@!rc zairwL2QAfpVj2XhK3iUh5AIx$yrna(VwYwFt89yrU&BqN-i&joyK2X0C!WC5 z?`Ec8Le%mODq(ztUtBARL*m2LF-8){{Q-Lmi$AC89ys-@&bZibB^!X$J#Us}m&hRU zHh79lY9Mm3_@+Jk{ypG`c4ZjH&u(Fjm8bPvlsBz(w^!GO zE1U*rb$0Q)0u4^MT+L&?X|0tA2PYBd!rZZB!aO}_L<+f#w_jk=CRw*6?>Vv+O1`_taD05iu0bR51M^ujGmqF^*9$mL8Ijq{@$Qd z*(&n(+s6n0OYA`HP%NnB!Y2y;5j*fb$IsM%_7w69r=$Es>0r{oTuMw9Dl0Apm5`8t z%3QdV>%!?8e~KY#d-!%+Wn7|7oalc;Q3Dk^x0^VyOdzI+tAB3jP3wPUwA z-#8!(t$(W=QleQ8Xjt`V6=%HSgklXKq*J8qIK5tL~osuFs7OzDK;O}bzd)1 zhqN5GhXff5nzS$h#wa(=-3-~KX6e?)hYjs1-s6`P{99NJ=j^|eH+Bx3`C;#veQe^e zEPbm>ky#p6Ty`rlGCEDma(hA>&yZ;0Ptmj7zd6=VeJlNdmYn8UYm)QsCm1`o^tMGA ziAGNl?_BG5(X4AR8+OgTWG0nSHvCf=k8gm8fB;|-Hb!cg!Xc<489rkN1PAW;)NdIGHo(408R)n^#iS%P(0YEYzJ z7x)>s{c7**UcQb0Yku~7z4G@@o-KHFdYon`B#FF4U@*NpiA*@pYSt~`vA7z<2Y0H{ zrEf@@jluMTpLesxyE?giD(U*xKXndm`tih&4vVeXI^$4fhu(5}2F97zH1dujx4t*r zpSot!GtHdhtIC)h+2;K6tia`NlP*(8as%~DozU%&>p7?8m&S_$tp?;Cq7Qk>+dnfa z>w5<**B4MM3ce%A(bN*bh>L~-2K|lw$A$lg-G`ev5Fjw(A9C{ zEF7KI(+J>;FlW6wcxKVVg4<17SM}cumDZNl`PAs%Q(d)bGzm*uoZbqEq}=2aBGjsA zdtB`A`JEuj9nss}5hp5!%R8z$^sPGe$5;>2_cBZ(ldnd2f&WM}aX4t*$y`5Xz2SF& z%keDK+;Rr#m@FE@Q6IPEU=!ast#R`OF}C}z2{F`>nml?W=asg1F~FrA7IVLuR1!)K z37nFftB1n2{#596?tzd0RW;nlFOyzW_;Yyx;;8aU_ucZ3jJ}m^ii&faR@sK46x@q@ zD`Jc{99~wbUKm{CfW6!Jwu#}@jO*nJ(G6!YT@x(|doE9nG`u;%Ddr#Y-6*XN@ynur zCheS`)GGG7w%tQbm_IG})0zG=pvgR6BTl{lao4793P#aZn1F-&_qXwtp4K)M@`pzcs= zdXUpH$sx?1rxi#3Yowx}QBV9)rtRi4R{b3ZYMN*9GEh3OzAn^{{hT%-`gQY}r(d0V zNdd8T7h44=ZHlz!3Yc$iFZ*?C^+|RR&#F5!DIA`FH@-%%a;%O_T)$2ukegx_pD|j@ z$^1M%S>5R_ZA?JDoVE>scW&|c33s9=`3GRUuJly6E5I&lU;-mIwP8&E2jgmbv}|* z>^cI;F*yaWzm9xIT`LQ&?!5T9FdHT=qd9(*^VS_8#*)C9kZ_~tcTzFrZp;v z5midz%Zd@6vuzJXyhROl(2_6_8Pd?+`h5G3QMgRDVrP9=AOse<5Jx31AfGLtc~zJQ z&Bb-esN^$n(`-@{G>5*g3CTa=R~McC@eFY>Vw-vXgV$e_Pa(KrihS%7(w@lX8dtxS zZ~>=`*r?E=t(V;1`VHG3SP9S6V@*|kWg2GXSkt_o{4W3gnS`B6`~m)Ck8I4(b8g?8 z4wt1bnr95J6if(#g-Kzfcf0pfxIe+!nQR|vEPDKGego*K?)XY%-o<@0czTAFKu=o_ z>f~jtJb72m)|`-LnC3Y+Z#wsEv$G!@dj^AQBf0`@D<(4+Gvo>em?`^`Lcrrvtq0OC^u+;P)ILqk_a z^3_<=^q?6^Az@=bSa3Z5V)=7afY=kY!uN+ENwx$J0n_h|l^VP3$Skr&mh^DX+yk{M z-mA+K$g%qQkR3Qgw{$+L%(eg1#qtR)C70fv#A1UmXr}u_p;+Z&FrTa2k*a&oB%>b! z_mB>WVOh{-Ot+mMr&P|p&8)6~iw`MY$BxH21vZGfpStH&BD;=-kzYxPNiFlLZy7B` z+2%KzVjZjub>JR-K)2a(LqioM9qtvU+EI7_E0N#K>q+VlMa2r`KBn;xTos~(rog?H zU^4@(O-nV3u>-;$UnxD#s$3$`=0-myBJkcc4z+*lBvR= zmIMFT(m0Cpqv$j{aCC#SQSjM$1v8sW3(XAK*dT52Q5Uwzk$uO=D*LA9Q)uEgPqrOn zZ}%e^&u^92`P&>lKO4)q+sDjyqpS@HA|{B}4)*~jRob`A7h(jx3vC;%-FfL(gI;{3 z{*p1wmhxhE%#Zd;(4A2%%IFw^dr{22MT7)5Sv8Fwq6Cxh#R4KA&+MZE!I&8DYb=g3 zGs3c|bc(r1Y^Mk*m55+4Gv0=NrljBig;*GJbe3L&KOaU(RIlVu#F-2(5gf|TwYdwu zgbO1)mrNc!da7hUKu$4r0euwKAxG&|o2#OSy=Qn{(yi_$v3dWRTU@?VPP$IQ_*+A* zv|iyetl=cVuz`p79+xd^jRwsQOXlw6>(G8j!`Whu3uOp;bXW>va>72DHjnfoW9z&gr#CKs8uyMv$WveS^ITk(^gVO+F_F z7H7+m*Q8JMhY|gxoPzRJGi=`w#dl`VZ$W~qfopQ?da6kGRhBb}av5ftwgVM~&?tPu zqS787w&9g>R3o@TY32g{lV%}M7aA|wjMCE*Gfn;&Pw_w&wjX||^OG~Evvx5sm`9kU zPMk9?{8ru(0XGH$@WeMU#B7|z^$BIin&y6@0FE#+p0uXXyCSZxa_840q~ zB_G7d*2TC+Po7<9Qv1lMN@S&2rJ%pJAO2y)cq-N1YpNe*G-1@Ad0YJcm%=YURb0C! z!s%*UqN#+&r*BLzC>;z18+y2q0utEvE=IzLdQvM-q66QzL=OF2SAumJWPE6WA*&RA`!DjKuWB@b#Y0$9~`_S`x#XG&?Yds2aRY)GU3a?;OqL$;{er*?=*48;6()F7`hN@w43vvNw>*`kaoA z$!yzq89s1O;Xl2=z72}u)cdl)gu-g{I8jzzV_U`jYL6Sunq%@uN_Q!R509>85dd5^UZ*P zI?v#W3y`a0NDa*tW|hxpbdaGO5~;^E!I69i z+{28un=GJ3&2Ptm15779mboS*IwRPvtRSbt8PKZ)Z{A6m|2TBNlN! zUO2!C;0mw-cmmu24wu^k;0|!U%$@)qUnZUa7nC>(fuey>3NuiExF`W&7H*>m&-e6l ez?9m<`|gMP5ht!1OJHiau`3HV5BL7xto{pyOj+Cj literal 0 HcmV?d00001 diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java b/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java index 77df0450d2..cdd18809f0 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java +++ b/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java @@ -189,10 +189,10 @@ public class AMapViewWrapper implements IMogoMapView, public void onRoadIdInfo(@androidx.annotation.Nullable String roadId) { if (roadId != null && !TextUtils.isEmpty(roadId)) { - CallerLogger.INSTANCE.d(M_MAP + TAG, "onRoadIdInfo::" + roadId); + // CallerLogger.INSTANCE.d(M_MAP + TAG, "onRoadIdInfo::" + roadId); CallerMapRoadListenerManager.INSTANCE.invokeListenersOnRoadIdGet(roadId); } else { - CallerLogger.INSTANCE.d(M_MAP + TAG, "onRoadIdInfo::null"); + //CallerLogger.INSTANCE.d(M_MAP + TAG, "onRoadIdInfo::null"); } } @@ -210,27 +210,27 @@ public class AMapViewWrapper implements IMogoMapView, * } */ String provider = carLoc.getProvider(); - CallerLogger.INSTANCE.d(M_MAP + TAG, "car_loc: " + carLoc + ""); + //CallerLogger.INSTANCE.d(M_MAP + TAG, "car_loc: " + carLoc + ""); if (!MapAutoApi.GPS_FLAG.equals(provider)) { - CallerLogger.INSTANCE.d(M_MAP + TAG, "convert before: car_loc: {lon: " + carLoc.getLongitude() + ", lat: " + carLoc.getLatitude() + "}"); + //CallerLogger.INSTANCE.d(M_MAP + TAG, "convert before: car_loc: {lon: " + carLoc.getLongitude() + ", lat: " + carLoc.getLatitude() + "}"); LonLatPoint p = new LonLatPoint(carLoc.getLongitude(), carLoc.getLatitude()); p = MapTools.INSTANCE.switchLonLatWGS84(p); carLoc.setLongitude(p.longitude); carLoc.setLatitude(p.latitude); - CallerLogger.INSTANCE.d(M_MAP + TAG, "convert after: car_loc: {lon: " + carLoc.getLongitude() + ", lat: " + carLoc.getLatitude() + "}"); + //CallerLogger.INSTANCE.d(M_MAP + TAG, "convert after: car_loc: {lon: " + carLoc.getLongitude() + ", lat: " + carLoc.getLatitude() + "}"); } - CallerLogger.INSTANCE.d(M_MAP + TAG, "onStopLineInfo:stop_line" + stopLine + ", car_loc:{lon: " + carLoc.getLatitude() + ", lat: " + carLoc.getLongitude() + "}"); + //CallerLogger.INSTANCE.d(M_MAP + TAG, "onStopLineInfo:stop_line" + stopLine + ", car_loc:{lon: " + carLoc.getLatitude() + ", lat: " + carLoc.getLongitude() + "}"); MapRoadInfo.StopLine stopInfo = convert(stopLine); LonLatPoint p1 = points.get(0); LonLatPoint p2 = points.get(points.size() - 1); double distanceOfCarToStopLine = MapDataApi.INSTANCE.getNearstFromPointToSegment(carLoc.getLongitude(), carLoc.getLatitude(), p1.longitude, p1.latitude, p2.longitude, p2.latitude) * 10_0000; stopInfo.setDistanceOfCarToStopLine(distanceOfCarToStopLine); - CallerLogger.INSTANCE.d(M_MAP + TAG, "onStopLineInfo: --- distance: " + distanceOfCarToStopLine); + //CallerLogger.INSTANCE.d(M_MAP + TAG, "onStopLineInfo: --- distance: " + distanceOfCarToStopLine); CallerMapRoadListenerManager.INSTANCE.invokeListenersOnStopLineGet(stopInfo); } } else { if (carLoc != null) { - CallerLogger.INSTANCE.d(M_MAP + TAG, "onStopLineInfo::null, car_loc:{lon: " + carLoc.getLatitude() + ", lat: " + carLoc.getLongitude() + "}"); + //CallerLogger.INSTANCE.d(M_MAP + TAG, "onStopLineInfo::null, car_loc:{lon: " + carLoc.getLatitude() + ", lat: " + carLoc.getLongitude() + "}"); } } } From 8cb4374cd0f020338001f59de8e40281303961ee Mon Sep 17 00:00:00 2001 From: donghongyu Date: Thu, 9 Feb 2023 13:56:11 +0800 Subject: [PATCH 14/18] =?UTF-8?q?[dev=5Farch=5Fopt=5F3.0]=20[Change]=20[?= =?UTF-8?q?=201=E3=80=81=E5=A2=9E=E5=8A=A0=E8=AF=BB=E5=8F=96getprop?= =?UTF-8?q?=EF=BC=8C=E8=8E=B7=E5=8F=96=E8=AE=BE=E5=A4=87sn=E3=80=81?= =?UTF-8?q?=E5=9E=8B=E5=8F=B7=20]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: donghongyu --- .../location/MoGoLocationDispatcher.kt | 5 +- .../eagle/core/utilcode/util/DeviceUtils.java | 91 +++++++++++++++++-- 2 files changed, 83 insertions(+), 13 deletions(-) diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/location/MoGoLocationDispatcher.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/location/MoGoLocationDispatcher.kt index 4b5444ccb2..1f8d1db634 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/location/MoGoLocationDispatcher.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/location/MoGoLocationDispatcher.kt @@ -16,10 +16,7 @@ import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02Lis import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationWGS84ListenerManager import com.mogo.eagle.core.function.call.obu.CallerObuLocationWGS84ListenerManager import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr -import com.mogo.eagle.core.utilcode.util.CoordinateTransform -import com.mogo.eagle.core.utilcode.util.FileUtils -import com.mogo.eagle.core.utilcode.util.TimeUtils -import com.mogo.eagle.core.utilcode.util.Utils +import com.mogo.eagle.core.utilcode.util.* import com.mogo.support.obu.model.MogoObuHvBasicsData import mogo.telematics.pad.MessagePad diff --git a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/DeviceUtils.java b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/DeviceUtils.java index dcc8153dc9..8cf0c47008 100644 --- a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/DeviceUtils.java +++ b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/DeviceUtils.java @@ -17,11 +17,16 @@ import android.os.Build; import android.provider.Settings; import android.telephony.TelephonyManager; import android.text.TextUtils; +import android.util.Log; import androidx.annotation.RequiresApi; import androidx.annotation.RequiresPermission; +import java.io.BufferedReader; import java.io.File; +import java.io.IOException; +import java.io.InputStreamReader; +import java.lang.reflect.Method; import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; @@ -547,17 +552,85 @@ public final class DeviceUtils { /** - * 中科创达 EB5获取SN好的方法: - * getprop persist.device.sn - * ZTS46S10009S + * 获取设备SN的方法 * - * @return 当前EB5设备SN + * @return 通过读取 getprop 的方式 */ - public static String getEB5DevicesSN() { - ShellUtils.CommandResult result = UtilsBridge.execCmd("adb shell getprop persist.device.sn", false); - if (result.result == 0) { - LogUtils.d("", result.toString()); + public static String getSerialNumber() { + String serial = ""; + try { + Class c = Class.forName("android.os.SystemProperties"); + Method get = c.getMethod("get", String.class); + // 获取序列号,大多数机器在不root情况下获取不到 + serial = (String) get.invoke(c, "ro.serialno"); + if (TextUtils.isEmpty(serial)) { + serial = (String) get.invoke(c, "ro.boot.serialno"); + } + if (TextUtils.isEmpty(serial)) { + // 分体机 SN + serial = (String) get.invoke(c, "gsm.serial"); + } + if (TextUtils.isEmpty(serial)) { + // 中科创达 EB5获取SN + serial = (String) get.invoke(c, "persist.device.sn"); + } + if (TextUtils.isEmpty(serial)) { + // 联想PAD 获取SN + serial = (String) get.invoke(c, "ro.odm.lenovo.gsn"); + } + } catch (Exception e) { + e.printStackTrace(); } - return "02:00:00:00:00:00"; + return serial; + } + + + /** + * 获取 机器型号 + * + * @return 机器型号 + */ + public static String getProductModel() { + String productModel = "null"; + try { + Class c = Class.forName("android.os.SystemProperties"); + Method get = c.getMethod("get", String.class); + // 获取序列号,大多数机器在不root情况下获取不到 + productModel = (String) get.invoke(c, "ro.product.model"); + if (TextUtils.isEmpty(productModel)) { + productModel = (String) get.invoke(c, "ro.product.odm.model"); + } + if (TextUtils.isEmpty(productModel)) { + productModel = (String) get.invoke(c, "ro.product.vendor.model"); + } + } catch (Exception e) { + e.printStackTrace(); + } + return productModel; + } + + private static String getSerialnoNumbers() { + final String serialnoStr = "[ro.boot.serialno]"; + try { + Process p = Runtime.getRuntime().exec("getprop"); + p.waitFor(); + BufferedReader stdInput = new BufferedReader(new InputStreamReader( + p.getInputStream())); + String temp = ""; + while ((temp = stdInput.readLine()) != null) { + Log.i("getSerialnoNumbers", temp); + if (temp.contains(serialnoStr)) { + temp.replaceAll(" ", ""); + int index = temp.indexOf(serialnoStr); + temp = temp.substring(index + 20); + temp = temp.substring(1, temp.length() - 1); + Log.d("getSerialnoNumbers", temp); + return temp; + } + } + } catch (IOException | InterruptedException e) { + e.printStackTrace(); + } + return serialnoStr; } } From 9f92fdecd93f23e38d68c25d598b234b9f7792e8 Mon Sep 17 00:00:00 2001 From: donghongyu Date: Thu, 9 Feb 2023 15:20:30 +0800 Subject: [PATCH 15/18] =?UTF-8?q?[dev=5Farch=5Fopt=5F3.0]=20[Change]=20[?= =?UTF-8?q?=201=E3=80=81productFlavors=E6=B8=A0=E9=81=93=E4=B8=AD=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=8A=A8=E6=80=81=E6=8E=A7=E5=88=B6=E5=B1=8F=E5=B9=95?= =?UTF-8?q?=E6=96=B9=E5=90=91=E7=9A=84=E5=8F=82=E6=95=B0=EF=BC=8CSCREEN=5F?= =?UTF-8?q?ORIENTATION=EF=BC=9Alandscape--=E5=BC=BA=E5=88=B6=E6=A8=AA?= =?UTF-8?q?=E5=B1=8F=EF=BC=8Cportrait--=E5=BC=BA=E5=88=B6=E7=AB=96?= =?UTF-8?q?=E5=B1=8F=20]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: donghongyu --- app/productFlavors/fMultiDisplayOchBus.gradle | 9 +++++++-- app/productFlavors/fMultiDisplayOchTaxi.gradle | 16 +++++++++++++--- app/productFlavors/fPadLenovo.gradle | 15 ++++++++++++--- app/productFlavors/fPadLenovoOchBus.gradle | 16 +++++++++++++--- .../fPadLenovoOchBusPassenger.gradle | 16 +++++++++++++--- app/productFlavors/fPadLenovoOchSweeper.gradle | 16 +++++++++++++--- app/productFlavors/fPadLenovoOchTaxi.gradle | 16 +++++++++++++--- .../fPadLenovoOchTaxiPassenger.gradle | 16 +++++++++++++--- .../src/main/AndroidManifest.xml | 4 +--- 9 files changed, 98 insertions(+), 26 deletions(-) diff --git a/app/productFlavors/fMultiDisplayOchBus.gradle b/app/productFlavors/fMultiDisplayOchBus.gradle index 8b3608c211..7d6a5da0a1 100644 --- a/app/productFlavors/fMultiDisplayOchBus.gradle +++ b/app/productFlavors/fMultiDisplayOchBus.gradle @@ -4,7 +4,7 @@ project.android.productFlavors { externalNativeBuild { ndk { // 设置支持的SO库架构 - abiFilters "armeabi-v7a", "arm64-v8a" + abiFilters "armeabi-v7a", "arm64-v8a" } } minSdkVersion rootProject.ext.android.minSdkVersionPadLenovo @@ -18,7 +18,12 @@ project.android.productFlavors { // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 buildConfigField 'int', 'CAR_MACHINE_TYPE', '2' //高德地图鉴权信息 - manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.fLauncherAmapApiValue, CHANNEL_VALUE: "fPadLenovoOchBus",ACTIVITY_ROOT:true] + manifestPlaceholders = [ + AMAP_API_VALUE : rootProject.ext.android.fLauncherAmapApiValue, + CHANNEL_VALUE : "fPadLenovoOchBus", + ACTIVITY_ROOT : true, + SCREEN_ORIENTATION: "landscape" + ] // 是否需要实时上报坐标 buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'true' diff --git a/app/productFlavors/fMultiDisplayOchTaxi.gradle b/app/productFlavors/fMultiDisplayOchTaxi.gradle index a5534d3fce..6ddbeaeef7 100644 --- a/app/productFlavors/fMultiDisplayOchTaxi.gradle +++ b/app/productFlavors/fMultiDisplayOchTaxi.gradle @@ -4,7 +4,7 @@ project.android.productFlavors { externalNativeBuild { ndk { // 设置支持的SO库架构 - abiFilters "armeabi-v7a", "arm64-v8a" + abiFilters "armeabi-v7a", "arm64-v8a" } } minSdkVersion rootProject.ext.android.minSdkVersionPadLenovo @@ -17,8 +17,18 @@ project.android.productFlavors { // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 buildConfigField 'int', 'CAR_MACHINE_TYPE', '2' - //高德地图鉴权信息 - manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.fLauncherAmapApiValue, CHANNEL_VALUE: "fPadLenovoOchTaxi",ACTIVITY_ROOT:true] + + // 配置AndroidManifest.xml中用到的参数 + manifestPlaceholders = [ + // 高德地图鉴权信息 + AMAP_API_VALUE : rootProject.ext.android.fLauncherAmapApiValue, + // BUGLY_APP_CHANNEL + CHANNEL_VALUE : "fPadLenovoOchTaxi", + // 在启动的时候把Task给清空 + ACTIVITY_ROOT : true, + // Activity的朝向 + SCREEN_ORIENTATION: "landscape" + ] // 是否需要实时上报坐标 buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'true' diff --git a/app/productFlavors/fPadLenovo.gradle b/app/productFlavors/fPadLenovo.gradle index 1ad7d6b469..634a6e7150 100644 --- a/app/productFlavors/fPadLenovo.gradle +++ b/app/productFlavors/fPadLenovo.gradle @@ -4,7 +4,7 @@ project.android.productFlavors { externalNativeBuild { ndk { // 设置支持的SO库架构 - abiFilters "armeabi-v7a", "arm64-v8a" + abiFilters "armeabi-v7a", "arm64-v8a" } } minSdkVersion rootProject.ext.android.minSdkVersionPadLenovo @@ -15,8 +15,17 @@ project.android.productFlavors { // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 buildConfigField 'int', 'CAR_MACHINE_TYPE', '2' - // 高德地图鉴权信息 - manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.fLauncherAmapApiValue, CHANNEL_VALUE: "fPadLenovo",ACTIVITY_ROOT:true] + // 配置AndroidManifest.xml中用到的参数 + manifestPlaceholders = [ + // 高德地图鉴权信息 + AMAP_API_VALUE : rootProject.ext.android.fLauncherAmapApiValue, + // BUGLY_APP_CHANNEL + CHANNEL_VALUE : "fPadLenovo", + // 在启动的时候把Task给清空 + ACTIVITY_ROOT : true, + // Activity的朝向 + SCREEN_ORIENTATION: "landscape" + ] // 是否需要实时上报坐标 buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'true' diff --git a/app/productFlavors/fPadLenovoOchBus.gradle b/app/productFlavors/fPadLenovoOchBus.gradle index faade038b5..430c9e079d 100644 --- a/app/productFlavors/fPadLenovoOchBus.gradle +++ b/app/productFlavors/fPadLenovoOchBus.gradle @@ -4,7 +4,7 @@ project.android.productFlavors { externalNativeBuild { ndk { // 设置支持的SO库架构 - abiFilters "armeabi-v7a", "arm64-v8a" + abiFilters "armeabi-v7a", "arm64-v8a" } } minSdkVersion rootProject.ext.android.minSdkVersionPadLenovo @@ -17,8 +17,18 @@ project.android.productFlavors { // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 buildConfigField 'int', 'CAR_MACHINE_TYPE', '2' - //高德地图鉴权信息 - manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.fLauncherAmapApiValue, CHANNEL_VALUE: "fPadLenovoOchBus",ACTIVITY_ROOT:true] + + // 配置AndroidManifest.xml中用到的参数 + manifestPlaceholders = [ + // 高德地图鉴权信息 + AMAP_API_VALUE : rootProject.ext.android.fLauncherAmapApiValue, + // BUGLY_APP_CHANNEL + CHANNEL_VALUE : "fPadLenovoOchBus", + // 在启动的时候把Task给清空 + ACTIVITY_ROOT : true, + // Activity的朝向 + SCREEN_ORIENTATION: "landscape" + ] // 是否需要实时上报坐标 buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'true' diff --git a/app/productFlavors/fPadLenovoOchBusPassenger.gradle b/app/productFlavors/fPadLenovoOchBusPassenger.gradle index 7d3a4fb24b..b26f796ab8 100644 --- a/app/productFlavors/fPadLenovoOchBusPassenger.gradle +++ b/app/productFlavors/fPadLenovoOchBusPassenger.gradle @@ -4,7 +4,7 @@ project.android.productFlavors { externalNativeBuild { ndk { // 设置支持的SO库架构 - abiFilters "armeabi-v7a", "arm64-v8a" + abiFilters "armeabi-v7a", "arm64-v8a" } } minSdkVersion rootProject.ext.android.minSdkVersionPadLenovo @@ -15,8 +15,18 @@ project.android.productFlavors { // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 buildConfigField 'int', 'CAR_MACHINE_TYPE', '2' - //高德地图鉴权信息 - manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.fLauncherAmapApiValue, CHANNEL_VALUE: "fPadLenovoOchBusPassenger",ACTIVITY_ROOT:true] + + // 配置AndroidManifest.xml中用到的参数 + manifestPlaceholders = [ + // 高德地图鉴权信息 + AMAP_API_VALUE : rootProject.ext.android.fLauncherAmapApiValue, + // BUGLY_APP_CHANNEL + CHANNEL_VALUE : "fPadLenovoOchBusPassenger", + // 在启动的时候把Task给清空 + ACTIVITY_ROOT : true, + // Activity的朝向 + SCREEN_ORIENTATION: "landscape" + ] // 是否需要实时上报坐标 buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'true' diff --git a/app/productFlavors/fPadLenovoOchSweeper.gradle b/app/productFlavors/fPadLenovoOchSweeper.gradle index 29688ff909..14d07bddb7 100644 --- a/app/productFlavors/fPadLenovoOchSweeper.gradle +++ b/app/productFlavors/fPadLenovoOchSweeper.gradle @@ -4,7 +4,7 @@ project.android.productFlavors { externalNativeBuild { ndk { // 设置支持的SO库架构 - abiFilters "armeabi-v7a", "arm64-v8a" + abiFilters "armeabi-v7a", "arm64-v8a" } } minSdkVersion rootProject.ext.android.minSdkVersionPadLenovo @@ -17,8 +17,18 @@ project.android.productFlavors { // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 buildConfigField 'int', 'CAR_MACHINE_TYPE', '2' - //高德地图鉴权信息 - manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.fLauncherAmapApiValue, CHANNEL_VALUE: "fPadLenovoOchSweeper",ACTIVITY_ROOT:true] + + // 配置AndroidManifest.xml中用到的参数 + manifestPlaceholders = [ + // 高德地图鉴权信息 + AMAP_API_VALUE : rootProject.ext.android.fLauncherAmapApiValue, + // BUGLY_APP_CHANNEL + CHANNEL_VALUE : "fPadLenovoOchSweeper", + // 在启动的时候把Task给清空 + ACTIVITY_ROOT : true, + // Activity的朝向 + SCREEN_ORIENTATION: "landscape" + ] // 是否需要实时上报坐标 buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'true' diff --git a/app/productFlavors/fPadLenovoOchTaxi.gradle b/app/productFlavors/fPadLenovoOchTaxi.gradle index 8b03a2ae79..2fc97c5ddf 100644 --- a/app/productFlavors/fPadLenovoOchTaxi.gradle +++ b/app/productFlavors/fPadLenovoOchTaxi.gradle @@ -5,7 +5,7 @@ project.android.productFlavors { externalNativeBuild { ndk { // 设置支持的SO库架构 - abiFilters "armeabi-v7a", "arm64-v8a" + abiFilters "armeabi-v7a", "arm64-v8a" } } minSdkVersion rootProject.ext.android.minSdkVersionPadLenovo @@ -18,8 +18,18 @@ project.android.productFlavors { // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 buildConfigField 'int', 'CAR_MACHINE_TYPE', '2' - //高德地图鉴权信息 - manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.fLauncherAmapApiValue, CHANNEL_VALUE: "fPadLenovoOchTaxi",ACTIVITY_ROOT:true] + + // 配置AndroidManifest.xml中用到的参数 + manifestPlaceholders = [ + // 高德地图鉴权信息 + AMAP_API_VALUE : rootProject.ext.android.fLauncherAmapApiValue, + // BUGLY_APP_CHANNEL + CHANNEL_VALUE : "fPadLenovoOchTaxi", + // 在启动的时候把Task给清空 + ACTIVITY_ROOT : true, + // Activity的朝向 + SCREEN_ORIENTATION: "landscape" + ] // 是否需要实时上报坐标 buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'true' diff --git a/app/productFlavors/fPadLenovoOchTaxiPassenger.gradle b/app/productFlavors/fPadLenovoOchTaxiPassenger.gradle index 0ea289b89d..2b9a92c8b7 100644 --- a/app/productFlavors/fPadLenovoOchTaxiPassenger.gradle +++ b/app/productFlavors/fPadLenovoOchTaxiPassenger.gradle @@ -4,7 +4,7 @@ project.android.productFlavors { externalNativeBuild { ndk { // 设置支持的SO库架构 - abiFilters "armeabi-v7a", "arm64-v8a" + abiFilters "armeabi-v7a", "arm64-v8a" } } minSdkVersion rootProject.ext.android.minSdkVersionPadLenovo @@ -17,8 +17,18 @@ project.android.productFlavors { // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 buildConfigField 'int', 'CAR_MACHINE_TYPE', '2' - //高德地图鉴权信息 - manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.fLauncherAmapApiValue, CHANNEL_VALUE: "fPadLenovoOchTaxiPassenger",ACTIVITY_ROOT:false] + + // 配置AndroidManifest.xml中用到的参数 + manifestPlaceholders = [ + // 高德地图鉴权信息 + AMAP_API_VALUE : rootProject.ext.android.fLauncherAmapApiValue, + // BUGLY_APP_CHANNEL + CHANNEL_VALUE : "fPadLenovoOchTaxiPassenger", + // 在启动的时候把Task给清空 + ACTIVITY_ROOT : false, + // Activity的朝向 + SCREEN_ORIENTATION: "landscape" + ] // 是否需要实时上报坐标 buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'true' diff --git a/core/function-impl/mogo-core-function-hmi/src/main/AndroidManifest.xml b/core/function-impl/mogo-core-function-hmi/src/main/AndroidManifest.xml index 33c14875d8..adb96a5a4e 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/AndroidManifest.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/AndroidManifest.xml @@ -42,7 +42,7 @@ android:launchMode="singleTop" android:resizeableActivity="false" android:resumeWhilePausing="true" - android:screenOrientation="landscape" + android:screenOrientation="${SCREEN_ORIENTATION}" android:stateNotNeeded="true" android:theme="@style/Main" android:windowSoftInputMode="adjustPan|stateHidden"> @@ -67,7 +67,6 @@ Date: Thu, 9 Feb 2023 15:36:05 +0800 Subject: [PATCH 16/18] =?UTF-8?q?[dev=5Farch=5Fopt=5F3.0]=20[Change]=20[?= =?UTF-8?q?=201=E3=80=81=E5=A2=9E=E5=8A=A0=E5=89=AF=E5=B1=8F=E5=B9=95?= =?UTF-8?q?=E5=90=AF=E5=8A=A8=E9=A1=B5=E9=9D=A2=E7=9A=84=E5=B7=A5=E5=85=B7?= =?UTF-8?q?=E5=8F=8A=E8=AF=B4=E6=98=8E=E4=B9=A6=20]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: donghongyu --- core/README.md | 1 + core/README_MULT_DISPLAY.md | 16 ++++++++++++++++ .../function/main/PassengerLauncherActivity.java | 2 +- .../mogo/eagle/core/function/main/VideoAdAtc.kt | 2 +- .../core/utilcode/util/MultiDisplayUtils.kt | 5 +++-- 5 files changed, 22 insertions(+), 4 deletions(-) create mode 100644 core/README_MULT_DISPLAY.md diff --git a/core/README.md b/core/README.md index 180e9b16db..5b05f4cb24 100644 --- a/core/README.md +++ b/core/README.md @@ -24,3 +24,4 @@ - mogo-core-res:程序中涉及到的图片及布局资源,同一管理,并通过设置不同的目录指定是那个模块的资源,这里只存放公共资源,图片,布局,动画等 - mogo-core-utils:基于成熟的工具类开源框架下沉的,这里可以增添针对我们业务上的一些工具类 + - MultiDisplayUtils :多屏幕管理工具 diff --git a/core/README_MULT_DISPLAY.md b/core/README_MULT_DISPLAY.md new file mode 100644 index 0000000000..4ff2f4c49e --- /dev/null +++ b/core/README_MULT_DISPLAY.md @@ -0,0 +1,16 @@ +## 多屏幕场景 + +```java +// 在第二个屏幕启动页面 +MultiDisplayUtils.INSTANCE.startActWithSecond( + context, + VideoAdAtc.class); +``` + +```java +// 在指定屏幕启动页面 +MultiDisplayUtils.INSTANCE.startActWithProcess( + 1, + context, + VideoAdAtc.class); +``` diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/PassengerLauncherActivity.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/PassengerLauncherActivity.java index 653ab832cc..fe16ad97a7 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/PassengerLauncherActivity.java +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/PassengerLauncherActivity.java @@ -45,7 +45,7 @@ import java.util.Timer; import java.util.TimerTask; /** - * 针对作为Launcher的情况,做个性化操作 + * 针对作为Launcher的情况,做个性化操作 TODO 测试用的,可删除 * * @author tongchenfei */ diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/VideoAdAtc.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/VideoAdAtc.kt index 599e8603f9..907a96144d 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/VideoAdAtc.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/VideoAdAtc.kt @@ -7,7 +7,7 @@ import com.mogo.eagle.core.utilcode.util.BarUtils import com.mogo.eagle.core.widget.TextureVideoView /** - * 视频广告 + * 视频广告 TODO 测试用的,可删除 */ class VideoAdAtc : AppCompatActivity() { diff --git a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/MultiDisplayUtils.kt b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/MultiDisplayUtils.kt index 1a5451dc10..c24acc4a62 100644 --- a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/MultiDisplayUtils.kt +++ b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/MultiDisplayUtils.kt @@ -27,14 +27,14 @@ object MultiDisplayUtils { fun getMultiDisplay(context: Context): Array { // 多次创建副屏 则副屏的id都是增加的,所以不一定是1,这里还是获取一下 val displayManager = - context.getSystemService(AppCompatActivity.DISPLAY_SERVICE) as DisplayManager + context.getSystemService(AppCompatActivity.DISPLAY_SERVICE) as DisplayManager return displayManager.displays } /** * 在指定ID的屏幕打开Activity,当前应用的,当前进程 * @param context - * @param launchDisplayId 指定屏幕ID + * @param activity 要在第二个屏幕启动的页面 */ fun startActWithSecond(context: Context, activity: Class<*>) { val launchDisplayId: Int @@ -60,6 +60,7 @@ object MultiDisplayUtils { * 在指定ID的屏幕打开Activity,当前应用的,当前进程 * @param context * @param launchDisplayId 指定屏幕ID + * @param activity 要在副屏幕启动的页面 */ fun startActWithProcess(context: Context, launchDisplayId: Int, activity: Class<*>) { // 要加上Intent.FLAG_ACTIVITY_NEW_TASK From b4199874cf0d693a8a4f8c51379ee579a7215bcd Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Thu, 9 Feb 2023 15:48:48 +0800 Subject: [PATCH 17/18] =?UTF-8?q?[M2]=20M2=20=E5=B9=BF=E5=91=8A=E6=A8=A1?= =?UTF-8?q?=E5=9D=97opt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../och/bus/passenger/constant/URLConst.kt | 16 +-- .../bus/passenger/model/PM2DrivingModel.kt | 7 +- .../passenger/ui/video/PM2VideoFragment.kt | 68 ++++++++++-- .../ui/widget/video/AdvancePagerAdapter.kt | 100 +++++++++++++++++- .../ui/widget/video/AdvanceVideoView.kt | 83 +++++++++++++++ .../ui/widget/video/ImageAndVideoRotation.kt | 8 +- .../passenger/ui/widget/video/RotationItem.kt | 4 +- .../res/layout/p_m2_driving_info_fragment.xml | 2 +- .../src/m2/res/layout/p_m2_hpmap_fragment.xml | 34 +++--- .../src/m2/res/layout/p_m2_video_fragment.xml | 11 +- 10 files changed, 273 insertions(+), 60 deletions(-) create mode 100644 OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceVideoView.kt diff --git a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/constant/URLConst.kt b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/constant/URLConst.kt index a6a50f6c37..5e4200edc5 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/constant/URLConst.kt +++ b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/constant/URLConst.kt @@ -14,29 +14,15 @@ class URLConst { private const val Shettle_BASE_URL_OCH_QA = "https://och-driver-qa.zhidaozhixing.com" private const val Shettle_BASE_URL_OCH_RELEASE = "https://och-driver.zhidaozhixing.com" - private const val BASE_URL_OCH_DEV = "http://tech-dev.zhidaohulian.com" - private const val BASE_URL_OCH_QA = "https://tech-qa.zhidaohulian.com" - private const val BASE_URL_OCH_RELEASE = "https://tech.zhidaohulian.com" - @JvmStatic fun getBaseUrl(): String { - return if(AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)){ - when (DebugConfig.getNetMode()) { + return when (DebugConfig.getNetMode()) { DebugConfig.NET_MODE_DEV, DebugConfig.NET_MODE_DEMO -> Shettle_BASE_URL_OCH_DEV DebugConfig.NET_MODE_QA -> Shettle_BASE_URL_OCH_QA DebugConfig.NET_MODE_RELEASE -> Shettle_BASE_URL_OCH_RELEASE else -> Shettle_BASE_URL_OCH_RELEASE } - }else{ - when (DebugConfig.getNetMode()) { - DebugConfig.NET_MODE_DEV, DebugConfig.NET_MODE_DEMO -> BASE_URL_OCH_DEV - DebugConfig.NET_MODE_QA -> BASE_URL_OCH_QA - DebugConfig.NET_MODE_RELEASE -> BASE_URL_OCH_RELEASE - else -> BASE_URL_OCH_RELEASE - } - } - } } } \ No newline at end of file diff --git a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/model/PM2DrivingModel.kt b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/model/PM2DrivingModel.kt index 6ed8a78a8a..0e47a35b16 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/model/PM2DrivingModel.kt +++ b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/model/PM2DrivingModel.kt @@ -8,7 +8,7 @@ import com.mogo.eagle.core.data.map.MogoLocation import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager -import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr @@ -74,7 +74,8 @@ class PM2DrivingModel private constructor() { CallerAutoPilotStatusListenerManager.addListener(TAG, mAutoPilotStatusListener) // 定位监听 - CallerChassisLocationGCJ20ListenerManager.addListener(TAG, mMapLocationListener) + CallerChassisLocationGCJ02ListenerManager.addListener(TAG, mMapLocationListener) + CallerChassisLocationGCJ02ListenerManager.setListenerHz(TAG,5)//设置5hz, 1s返回一次 } public fun releaseListener(){ @@ -82,7 +83,7 @@ class PM2DrivingModel private constructor() { CallerAutoPilotStatusListenerManager.removeListener(TAG) // 定位监听 - CallerChassisLocationGCJ20ListenerManager.removeListener(TAG) + CallerChassisLocationGCJ02ListenerManager.removeListener(TAG) } fun setDrivingInfoCallback(drivingInfoCallback : DrivingInfoCallback?){ diff --git a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/video/PM2VideoFragment.kt b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/video/PM2VideoFragment.kt index 5dc013080d..587e839869 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/video/PM2VideoFragment.kt +++ b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/video/PM2VideoFragment.kt @@ -3,6 +3,8 @@ package com.mogo.och.bus.passenger.ui.video import com.mogo.commons.mvp.MvpFragment import com.mogo.och.bus.passenger.R import com.mogo.och.bus.passenger.presenter.PM2VideoPresenter +import com.mogo.och.bus.passenger.ui.widget.video.RotationItem +import kotlinx.android.synthetic.m2.p_m2_video_fragment.* /** * @author: wangmingjun @@ -10,21 +12,13 @@ import com.mogo.och.bus.passenger.presenter.PM2VideoPresenter */ class PM2VideoFragment : MvpFragment() { - /** - * 改变自动驾驶状态 - * - * @param status 2 - running 1 - enable 2 - disable - */ + + private var arrayListOf = mutableListOf() + override fun getLayoutId(): Int { return R.layout.p_m2_video_fragment } - override fun getTagName(): String { - return TAG - } - - override fun initViews() { - } override fun createPresenter(): PM2VideoPresenter { return PM2VideoPresenter(this) @@ -33,4 +27,56 @@ class PM2VideoFragment : companion object { private val TAG = PM2VideoFragment::class.java.simpleName } + + override fun getTagName(): String { + return TAG + } + + override fun initViews() { + initResourceData() + image_video_rotation_view.setData(arrayListOf) + } + + override fun onPause() { + super.onPause() + image_video_rotation_view.setPause() + } + + override fun onResume() { + super.onResume() + image_video_rotation_view.setResume() + } + + private fun initResourceData() { + TODO("要替换成接驳私有化的链接") + arrayListOf.clear() + arrayListOf.add( + RotationItem( + "https://img.zhidaohulian.com/fileServer/online_car_hailing/1656558672856/小宝宝.mp4", + 0, + "小宝宝" + ) + ) + arrayListOf.add( + RotationItem( + "https://img.zhidaohulian.com/fileServer/online_car_hailing/1656559367261/2.png", + 0, + "小猫" + ) + ) + arrayListOf.add( + RotationItem( + "https://img.zhidaohulian.com/fileServer/online_car_hailing/1656558730074/星空.mp4", + 1, + "星空" + ) + ) + arrayListOf.add( + RotationItem( + "https://img.zhidaohulian.com/fileServer/online_car_hailing/1656559384635/3.png", + 0, + "星空" + ) + ) + } } \ No newline at end of file diff --git a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvancePagerAdapter.kt b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvancePagerAdapter.kt index 496460d091..8e36998e78 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvancePagerAdapter.kt +++ b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvancePagerAdapter.kt @@ -1,23 +1,81 @@ package com.mogo.och.bus.passenger.ui.widget.video +import android.content.Context import android.view.View +import android.view.ViewGroup import androidx.viewpager.widget.PagerAdapter +import androidx.viewpager.widget.ViewPager /** * @author: wangmingjun * @date: 2023/2/6 */ -class AdvancePagerAdapter: PagerAdapter() { +class AdvancePagerAdapter(context: Context, viewPager: ViewPager): PagerAdapter(), + ViewPager.OnPageChangeListener { + + private val mContext: Context = context + private val mViewPager: ViewPager = viewPager + + private var dataList = mutableListOf() + private var viewList = mutableListOf() + + private var thread: Thread? = null + + private var lastPosition = -1 + + private var current = 0 + private val time = 5000 + private val pause = false + + fun setData(list: MutableList){ + if (list.isEmpty()) return + dataList.addAll(list) + + viewList.clear() + + list.forEach { + addView(it) + } + + mViewPager.addOnPageChangeListener(this) + + notifyDataSetChanged() + + } + override fun getCount(): Int { - TODO("Not yet implemented") + return dataList.size } override fun isViewFromObject(view: View, `object`: Any): Boolean { - TODO("Not yet implemented") + return view === `object` } - public fun setData(list: MutableList){ + override fun destroyItem(container: ViewGroup, position: Int, `object`: Any) { + container.removeView(viewList[position]) + } + override fun instantiateItem(container: ViewGroup, position: Int): Any { + val view: View = viewList[position] + container.addView(view) + return view + + } + + override fun getItemPosition(`object`: Any): Int { + return POSITION_NONE + } + + private fun addView(item: RotationItem) { + if (item.type.equals("1")) { // 表示视频 + var videoView = AdvanceVideoView(mContext) + videoView.setVideoImagePath(item.path) + viewList.add(videoView) + } else { // 表示图片 + var imageView = AdvanceImageView(mContext) + imageView.setImagePath(item.path) + viewList.add(imageView) + } } public fun setPause(){ @@ -27,4 +85,38 @@ class AdvancePagerAdapter: PagerAdapter() { public fun setResume(){ } + + override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) { + TODO("Not yet implemented") + } + + override fun onPageSelected(position: Int) { + TODO("Not yet implemented") + } + + override fun onPageScrollStateChanged(state: Int) { + // 由于viewpager的预加载机制onPageSelected这里面加载videoview 放的跟玩一样 等操作完成后再播放videoview就香了 很丝滑 +// if (state == 0) { +// if (viewList.size > 1) { //多于1,才会循环跳转 +// if (lastPosition != -1 && lastPosition != mViewPager.currentItem +// && viewList[lastPosition] is AdvanceVideoView) { +// var videoView: AdvanceVideoView = (AdvanceVideoView)viewList[lastPosition] +// videoView.setPause() +// } +// if (mViewPager.getCurrentItem() < 1) { //首位之前,跳转到末尾(N) +// var position = dataList.size //注意这里是mList,而不是mViews +// mViewPager.setCurrentItem(position, false) +// } else if (mViewPager.currentItem > dataList.size) { //末位之后,跳转到首位(1) +// mViewPager.setCurrentItem(1, false) //false:不显示跳转过程的动画 +// } +// current = 0;//换页重新计算时间 +// if (viewList.get(mViewPager.currentItem) instanceof AdvanceVideoView) { +// ((AdvanceVideoView) list.get(mViewPager.getCurrentItem())).setVideo(mediaPlayer -> { +// mViewPager.setCurrentItem(mViewPager.getCurrentItem() + 1, true); +// }) +// } +// lastPosition = mViewPager.currentItem +// } +// } + } } \ No newline at end of file diff --git a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceVideoView.kt b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceVideoView.kt new file mode 100644 index 0000000000..cd5f2d86cc --- /dev/null +++ b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceVideoView.kt @@ -0,0 +1,83 @@ +package com.mogo.och.bus.passenger.ui.widget.video + +import android.content.Context +import android.graphics.Color +import android.media.MediaPlayer +import android.util.AttributeSet +import android.widget.ImageView +import android.widget.RelativeLayout +import android.widget.VideoView +import com.bumptech.glide.Glide +import com.mogo.eagle.core.utilcode.util.UiThreadHandler + +/** + * @author: wangmingjun + * @date: 2023/2/8 + */ +class AdvanceVideoView @JvmOverloads constructor( + context: Context, attrs: AttributeSet? = null +) : RelativeLayout(context, attrs) { + + private var videoRelativeLayout: RelativeLayout? = null + private var videoPlayer: VideoView? = null + + private var startImage: ImageView? = null + private var path: String? = null + + init { + initView() + } + + private fun initView() { + videoRelativeLayout = RelativeLayout(context) + addView(videoRelativeLayout, LayoutParams(-1,-1)) + startImage = ImageView(context) + startImage?.scaleType = ImageView.ScaleType.FIT_XY + addView(startImage, LayoutParams(-1,-1)) + } + + fun setVideoImagePath(path: String){ + this.path = path + startImage?.let { Glide.with(context).load(path).into(it) } + } + + fun setVideo(onCompletionListener : MediaPlayer.OnCompletionListener) { + if (videoPlayer != null) { + videoRelativeLayout?.removeView(videoPlayer) + videoPlayer = null + } + videoPlayer = VideoView(context) + videoPlayer?.setVideoPath(path) + videoPlayer?.setBackgroundColor(Color.TRANSPARENT) + + var layoutParams= LayoutParams(-1,-1) + //设置videoview占满父view播放 + layoutParams.addRule(ALIGN_PARENT_LEFT) + layoutParams.addRule(ALIGN_PARENT_RIGHT) + layoutParams.addRule(ALIGN_PARENT_TOP) + layoutParams.addRule(ALIGN_PARENT_BOTTOM) + videoRelativeLayout?.addView(videoPlayer, layoutParams); + videoPlayer?.setOnCompletionListener(onCompletionListener); + videoPlayer?.start() + + videoPlayer?.setOnPreparedListener { + UiThreadHandler.postDelayed({ + startImage?.visibility = GONE + }, 400) //防止黑屏闪烁 + } + } + + fun setPause() { + if (videoPlayer != null) { + videoPlayer?.pause() + startImage?.visibility = VISIBLE + } + } + + fun setRestart() { + if (videoPlayer != null) { + videoPlayer?.start() + startImage?.visibility = GONE + } + } +} \ No newline at end of file diff --git a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/ImageAndVideoRotation.kt b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/ImageAndVideoRotation.kt index b323b4795d..31c2e308a1 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/ImageAndVideoRotation.kt +++ b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/ImageAndVideoRotation.kt @@ -23,20 +23,20 @@ class ImageAndVideoRotation @JvmOverloads constructor( private fun initView() { viewPager = ViewPager(context) - pagerAdapter = AdvancePagerAdapter() + pagerAdapter = AdvancePagerAdapter(context, viewPager!!) viewPager?.adapter = pagerAdapter addView(viewPager, LayoutParams(-1,-1)) } - public fun setData(list: MutableList){ + fun setData(list: MutableList){ pagerAdapter?.setData(list) } - public fun setPause(){ + fun setPause(){ pagerAdapter?.setPause() } - public fun setResume(){ + fun setResume(){ pagerAdapter?.setResume() } } \ No newline at end of file diff --git a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/RotationItem.kt b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/RotationItem.kt index 14479133a8..80b733636f 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/RotationItem.kt +++ b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/RotationItem.kt @@ -3,5 +3,7 @@ package com.mogo.och.bus.passenger.ui.widget.video /** * @author: wangmingjun * @date: 2023/2/6 + * type:0 图片 + * type:1 视频 */ -data class RotationItem(var path: String, var type: String) \ No newline at end of file +data class RotationItem(var path: String, var type: Int, var title: String) \ No newline at end of file diff --git a/OCH/mogo-och-bus-passenger/src/m2/res/layout/p_m2_driving_info_fragment.xml b/OCH/mogo-och-bus-passenger/src/m2/res/layout/p_m2_driving_info_fragment.xml index 8f1e26ea45..12bd19f1e0 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/res/layout/p_m2_driving_info_fragment.xml +++ b/OCH/mogo-och-bus-passenger/src/m2/res/layout/p_m2_driving_info_fragment.xml @@ -134,7 +134,7 @@ - - - + + + + + + - - - - - + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintLeft_toLeftOf="parent" /> - - - + \ No newline at end of file diff --git a/OCH/mogo-och-bus-passenger/src/m2/res/layout/p_m2_video_fragment.xml b/OCH/mogo-och-bus-passenger/src/m2/res/layout/p_m2_video_fragment.xml index 9cbde67745..72a3a97a20 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/res/layout/p_m2_video_fragment.xml +++ b/OCH/mogo-och-bus-passenger/src/m2/res/layout/p_m2_video_fragment.xml @@ -6,12 +6,9 @@ - + \ No newline at end of file From bc0f8e8ec428c7bea887db5f8315f99d43d70de1 Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Thu, 9 Feb 2023 20:59:18 +0800 Subject: [PATCH 18/18] =?UTF-8?q?[M2]=201=E3=80=81=E5=9B=BE/=E8=A7=86?= =?UTF-8?q?=E9=A2=91=E8=BD=AE=E6=92=ADopt=202=E3=80=81m2=E7=AB=96=E5=B1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/och/bus/passenger/BusPassengerM2.kt | 15 +-- .../passenger/ui/video/PM2VideoFragment.kt | 7 +- .../ui/widget/video/AdvanceImageView.kt | 5 +- .../ui/widget/video/AdvancePagerAdapter.kt | 97 +++++++++++++------ .../ui/widget/video/AdvanceVideoView.kt | 97 +++++++++++++------ .../ui/widget/video/ImageAndVideoRotation.kt | 5 +- .../passenger/ui/widget/video/RotationItem.kt | 5 +- .../src/m2/res/layout/p_m2_fragment.xml | 6 +- .../src/m2/res/layout/p_m2_hpmap_fragment.xml | 26 ++--- app/productFlavors/fOchBusPassengerM2.gradle | 7 +- 10 files changed, 174 insertions(+), 96 deletions(-) diff --git a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/BusPassengerM2.kt b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/BusPassengerM2.kt index a2c8aae031..2fdb5c96b0 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/BusPassengerM2.kt +++ b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/BusPassengerM2.kt @@ -20,7 +20,7 @@ import com.mogo.och.bus.passenger.ui.PM2BaseFragment * Created on 2022/3/29 */ @Route(path = BusPassengerConst.PATH) -class MogoOCHBusPassenger : IMogoOCH, IMogoStatusChangedListener { +class MogoOCHBusPassenger : IMogoOCH { private var mActivity: FragmentActivity? = null private var mContainerId = 0 private var mPM2Fragment: PM2BaseFragment? = null @@ -28,6 +28,7 @@ class MogoOCHBusPassenger : IMogoOCH, IMogoStatusChangedListener { override fun createCoverage(activity: FragmentActivity?, containerId: Int?): Fragment? { mActivity = activity mContainerId = containerId!! + showFragment() return null } @@ -40,18 +41,6 @@ class MogoOCHBusPassenger : IMogoOCH, IMogoStatusChangedListener { } override fun init(context: Context) { - MogoStatusManager.getInstance() - .registerStatusChangedListener("OchBus", StatusDescriptor.VR_MODE, this) - } - - override fun onStatusChanged(descriptor: StatusDescriptor, isTrue: Boolean) { - if (descriptor == StatusDescriptor.VR_MODE) { - if (isTrue) { - showFragment() - } else { - hideFragment() - } - } } /** diff --git a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/video/PM2VideoFragment.kt b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/video/PM2VideoFragment.kt index 587e839869..6d5f814176 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/video/PM2VideoFragment.kt +++ b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/video/PM2VideoFragment.kt @@ -48,12 +48,12 @@ class PM2VideoFragment : } private fun initResourceData() { - TODO("要替换成接驳私有化的链接") arrayListOf.clear() arrayListOf.add( RotationItem( "https://img.zhidaohulian.com/fileServer/online_car_hailing/1656558672856/小宝宝.mp4", 0, + "https://img.zhidaohulian.com/fileServer/online_car_hailing/1656559345882/1.png", "小宝宝" ) ) @@ -61,6 +61,7 @@ class PM2VideoFragment : RotationItem( "https://img.zhidaohulian.com/fileServer/online_car_hailing/1656559367261/2.png", 0, + "", "小猫" ) ) @@ -68,6 +69,7 @@ class PM2VideoFragment : RotationItem( "https://img.zhidaohulian.com/fileServer/online_car_hailing/1656558730074/星空.mp4", 1, + "https://img.zhidaohulian.com/fileServer/online_car_hailing/1656559406169/4.png", "星空" ) ) @@ -75,7 +77,8 @@ class PM2VideoFragment : RotationItem( "https://img.zhidaohulian.com/fileServer/online_car_hailing/1656559384635/3.png", 0, - "星空" + "", + "大海" ) ) } diff --git a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceImageView.kt b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceImageView.kt index 481fc4b080..8e56661e7c 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceImageView.kt +++ b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceImageView.kt @@ -13,6 +13,7 @@ import com.bumptech.glide.Glide class AdvanceImageView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null ) : RelativeLayout(context, attrs) { + private var imageView: ImageView? = null init { @@ -22,10 +23,10 @@ class AdvanceImageView @JvmOverloads constructor( private fun initView() { imageView = ImageView(context) imageView?.scaleType = ImageView.ScaleType.FIT_XY - addView(imageView, LayoutParams(-1,-1)) + addView(imageView, LayoutParams(-1, -1)) } - public fun setImagePath(path: String){ + fun setImagePath(path: String){ imageView?.let { Glide.with(context).load(path).into(it) } } } \ No newline at end of file diff --git a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvancePagerAdapter.kt b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvancePagerAdapter.kt index 8e36998e78..0a2c745238 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvancePagerAdapter.kt +++ b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvancePagerAdapter.kt @@ -19,13 +19,12 @@ class AdvancePagerAdapter(context: Context, viewPager: ViewPager): PagerAdapter( private var dataList = mutableListOf() private var viewList = mutableListOf() - private var thread: Thread? = null - private var lastPosition = -1 private var current = 0 private val time = 5000 private val pause = false + private var thread: Thread? = null fun setData(list: MutableList){ if (list.isEmpty()) return @@ -41,6 +40,16 @@ class AdvancePagerAdapter(context: Context, viewPager: ViewPager): PagerAdapter( notifyDataSetChanged() + mViewPager.currentItem = 0 + + if (list.size > 0) { + if (list[0].type == 1) {//有人反应第一个是视频不播放这边优化了一下 + var video = list[mViewPager.currentItem] as AdvanceVideoView + video.setVideo { + mViewPager.setCurrentItem(mViewPager.currentItem + 1, true) + } + } + } } override fun getCount(): Int { @@ -67,9 +76,10 @@ class AdvancePagerAdapter(context: Context, viewPager: ViewPager): PagerAdapter( } private fun addView(item: RotationItem) { - if (item.type.equals("1")) { // 表示视频 + if (item.type === 1) { // 表示视频 var videoView = AdvanceVideoView(mContext) - videoView.setVideoImagePath(item.path) + videoView.setCacheImageView(item.cacheImgPath) + videoView.setVideoPath(item.path) viewList.add(videoView) } else { // 表示图片 var imageView = AdvanceImageView(mContext) @@ -78,45 +88,72 @@ class AdvancePagerAdapter(context: Context, viewPager: ViewPager): PagerAdapter( } } - public fun setPause(){ + fun setPause(){ } - public fun setResume(){ + fun setResume(){ } override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) { - TODO("Not yet implemented") } override fun onPageSelected(position: Int) { - TODO("Not yet implemented") } override fun onPageScrollStateChanged(state: Int) { // 由于viewpager的预加载机制onPageSelected这里面加载videoview 放的跟玩一样 等操作完成后再播放videoview就香了 很丝滑 -// if (state == 0) { -// if (viewList.size > 1) { //多于1,才会循环跳转 -// if (lastPosition != -1 && lastPosition != mViewPager.currentItem -// && viewList[lastPosition] is AdvanceVideoView) { -// var videoView: AdvanceVideoView = (AdvanceVideoView)viewList[lastPosition] -// videoView.setPause() -// } -// if (mViewPager.getCurrentItem() < 1) { //首位之前,跳转到末尾(N) -// var position = dataList.size //注意这里是mList,而不是mViews -// mViewPager.setCurrentItem(position, false) -// } else if (mViewPager.currentItem > dataList.size) { //末位之后,跳转到首位(1) -// mViewPager.setCurrentItem(1, false) //false:不显示跳转过程的动画 -// } -// current = 0;//换页重新计算时间 -// if (viewList.get(mViewPager.currentItem) instanceof AdvanceVideoView) { -// ((AdvanceVideoView) list.get(mViewPager.getCurrentItem())).setVideo(mediaPlayer -> { -// mViewPager.setCurrentItem(mViewPager.getCurrentItem() + 1, true); -// }) -// } -// lastPosition = mViewPager.currentItem -// } -// } + if (state == 0) { //静止,什么都没做 + if (viewList.size > 1) { //多于1,才会循环跳转 + if (lastPosition != -1 && lastPosition != mViewPager.currentItem + && viewList[lastPosition] is AdvanceVideoView) { + var videoView: AdvanceVideoView = viewList[lastPosition] as AdvanceVideoView + videoView.setPause() + } + if (mViewPager.currentItem < 1) { //首位之前,跳转到末尾(N) + var position = dataList.size //注意这里是mList,而不是mViews + mViewPager.setCurrentItem(position, false) + } else if (mViewPager.currentItem > dataList.size) { //末位之后,跳转到首位(1) + mViewPager.setCurrentItem(1, false) //false:不显示跳转过程的动画 + } + current = 0//换页重新计算时间 + if (viewList[mViewPager.currentItem] is AdvanceVideoView) { + + (viewList[mViewPager.currentItem] as AdvanceVideoView).setVideo { + mViewPager.setCurrentItem(mViewPager.currentItem + 1, true) + } + + }else if (viewList[mViewPager.currentItem] is AdvanceImageView){ + startTimer() + } + lastPosition = mViewPager.currentItem + } + } + } + + private fun startTimer() { + if (null != thread && !thread?.isInterrupted!!) { + thread?.interrupt() + thread = null + } + thread = Thread{ + while (null != thread && !thread?.isInterrupted!!) { + try { + Thread.sleep(1000) + if (!pause && viewList[mViewPager.currentItem] !is AdvanceVideoView) + current += 1000 + if (current >= time) { + mViewPager.post { + mViewPager.setCurrentItem(mViewPager.currentItem + 1, true) + } + current = 0 + } + } catch (e: InterruptedException) { + e.printStackTrace(); + } + } + } + thread?.start() } } \ No newline at end of file diff --git a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceVideoView.kt b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceVideoView.kt index cd5f2d86cc..4872341d53 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceVideoView.kt +++ b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceVideoView.kt @@ -1,7 +1,9 @@ package com.mogo.och.bus.passenger.ui.widget.video import android.content.Context +import android.graphics.Bitmap import android.graphics.Color +import android.media.MediaMetadataRetriever import android.media.MediaPlayer import android.util.AttributeSet import android.widget.ImageView @@ -9,6 +11,7 @@ import android.widget.RelativeLayout import android.widget.VideoView import com.bumptech.glide.Glide import com.mogo.eagle.core.utilcode.util.UiThreadHandler +import java.lang.RuntimeException /** * @author: wangmingjun @@ -19,9 +22,8 @@ class AdvanceVideoView @JvmOverloads constructor( ) : RelativeLayout(context, attrs) { private var videoRelativeLayout: RelativeLayout? = null - private var videoPlayer: VideoView? = null - - private var startImage: ImageView? = null + private var cacheImage: ImageView? = null + private var videoView: VideoView? = null private var path: String? = null init { @@ -30,54 +32,93 @@ class AdvanceVideoView @JvmOverloads constructor( private fun initView() { videoRelativeLayout = RelativeLayout(context) - addView(videoRelativeLayout, LayoutParams(-1,-1)) - startImage = ImageView(context) - startImage?.scaleType = ImageView.ScaleType.FIT_XY - addView(startImage, LayoutParams(-1,-1)) + addView(videoRelativeLayout, LayoutParams(-1, -1)) + cacheImage = ImageView(context) + cacheImage?.scaleType = ImageView.ScaleType.FIT_XY + addView(cacheImage, LayoutParams(-1, -1)) } - fun setVideoImagePath(path: String){ + fun setVideoPath(path: String){ this.path = path - startImage?.let { Glide.with(context).load(path).into(it) } + } + + + fun setCacheImageView(imgPath: String){ + cacheImage?.visibility = VISIBLE + cacheImage?.let { Glide.with(context).load(imgPath).into(it) } } fun setVideo(onCompletionListener : MediaPlayer.OnCompletionListener) { - if (videoPlayer != null) { - videoRelativeLayout?.removeView(videoPlayer) - videoPlayer = null + if (videoView != null){ + videoRelativeLayout?.removeView(videoView) + videoView = null } - videoPlayer = VideoView(context) - videoPlayer?.setVideoPath(path) - videoPlayer?.setBackgroundColor(Color.TRANSPARENT) - var layoutParams= LayoutParams(-1,-1) + //视频播放控件 + videoView = VideoView(context) + videoView?.setVideoPath(path) + videoView?.setBackgroundColor(Color.TRANSPARENT) + + var layoutParams = LayoutParams(-1, -1) //设置videoview占满父view播放 layoutParams.addRule(ALIGN_PARENT_LEFT) layoutParams.addRule(ALIGN_PARENT_RIGHT) layoutParams.addRule(ALIGN_PARENT_TOP) layoutParams.addRule(ALIGN_PARENT_BOTTOM) - videoRelativeLayout?.addView(videoPlayer, layoutParams); - videoPlayer?.setOnCompletionListener(onCompletionListener); - videoPlayer?.start() + videoRelativeLayout?.addView(videoView, layoutParams) + videoView?.setOnCompletionListener(onCompletionListener) + videoView?.start() - videoPlayer?.setOnPreparedListener { + videoView?.setOnPreparedListener { UiThreadHandler.postDelayed({ - startImage?.visibility = GONE - }, 400) //防止黑屏闪烁 + cacheImage?.visibility = GONE + },500) } + + videoView?.setOnCompletionListener(onCompletionListener) } fun setPause() { - if (videoPlayer != null) { - videoPlayer?.pause() - startImage?.visibility = VISIBLE + if (videoView != null) { + videoView?.pause() } } fun setRestart() { - if (videoPlayer != null) { - videoPlayer?.start() - startImage?.visibility = GONE + if (videoView != null) { + videoView?.start() + } + } + + /** + * 加载首帧,作为视频缓存显示的图片 + */ + private fun loadCacheImage(){ + Thread { + var retriever = MediaMetadataRetriever() + var bitmap: Bitmap? = null + try { + if (path?.contains("http") == true){ + retriever.setDataSource(path, HashMap()) + }else{ + retriever.setDataSource(path) + } + bitmap = retriever.frameAtTime + }catch (ex: Exception){ + ex.printStackTrace() + }finally { + try { + retriever.release() + }catch (e: RuntimeException){ + e.printStackTrace() + } + } + + if (bitmap != null) { + UiThreadHandler.post { +// setCacheImageView(bitmap) + } + } } } } \ No newline at end of file diff --git a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/ImageAndVideoRotation.kt b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/ImageAndVideoRotation.kt index 31c2e308a1..0afd21993d 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/ImageAndVideoRotation.kt +++ b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/ImageAndVideoRotation.kt @@ -3,9 +3,7 @@ package com.mogo.och.bus.passenger.ui.widget.video import android.content.Context import android.util.AttributeSet import android.widget.RelativeLayout -import androidx.viewpager.widget.PagerAdapter import androidx.viewpager.widget.ViewPager - /** * @author: wangmingjun * @date: 2023/2/6 @@ -25,7 +23,8 @@ class ImageAndVideoRotation @JvmOverloads constructor( viewPager = ViewPager(context) pagerAdapter = AdvancePagerAdapter(context, viewPager!!) viewPager?.adapter = pagerAdapter - addView(viewPager, LayoutParams(-1,-1)) + + addView(viewPager, LayoutParams(-1, -1)) } fun setData(list: MutableList){ diff --git a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/RotationItem.kt b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/RotationItem.kt index 80b733636f..ed788c6179 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/RotationItem.kt +++ b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/RotationItem.kt @@ -6,4 +6,7 @@ package com.mogo.och.bus.passenger.ui.widget.video * type:0 图片 * type:1 视频 */ -data class RotationItem(var path: String, var type: Int, var title: String) \ No newline at end of file +data class RotationItem(var path: String, + var type: Int, + var cacheImgPath: String, + var title: String) \ No newline at end of file diff --git a/OCH/mogo-och-bus-passenger/src/m2/res/layout/p_m2_fragment.xml b/OCH/mogo-och-bus-passenger/src/m2/res/layout/p_m2_fragment.xml index a1869bd98d..db67764a84 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/res/layout/p_m2_fragment.xml +++ b/OCH/mogo-och-bus-passenger/src/m2/res/layout/p_m2_fragment.xml @@ -8,7 +8,7 @@ @@ -16,7 +16,7 @@ @@ -26,7 +26,7 @@ diff --git a/OCH/mogo-och-bus-passenger/src/m2/res/layout/p_m2_hpmap_fragment.xml b/OCH/mogo-och-bus-passenger/src/m2/res/layout/p_m2_hpmap_fragment.xml index fec8fd6cd4..5070519a7a 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/res/layout/p_m2_hpmap_fragment.xml +++ b/OCH/mogo-och-bus-passenger/src/m2/res/layout/p_m2_hpmap_fragment.xml @@ -13,19 +13,19 @@ - + + + + + + - + + + + + + + \ No newline at end of file diff --git a/app/productFlavors/fOchBusPassengerM2.gradle b/app/productFlavors/fOchBusPassengerM2.gradle index c65c95c257..1633111a77 100644 --- a/app/productFlavors/fOchBusPassengerM2.gradle +++ b/app/productFlavors/fOchBusPassengerM2.gradle @@ -18,7 +18,12 @@ project.android.productFlavors { // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 buildConfigField 'int', 'CAR_MACHINE_TYPE', '2' //高德地图鉴权信息 - manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.fLauncherAmapApiValue, CHANNEL_VALUE: "fOchBusPassenger",ACTIVITY_ROOT:true] + manifestPlaceholders = [ + AMAP_API_VALUE: rootProject.ext.android.fLauncherAmapApiValue, + CHANNEL_VALUE: "fOchBusPassenger", + ACTIVITY_ROOT:true, + SCREEN_ORIENTATION: "portrait" + ] // 是否需要实时上报坐标 buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'true'