diff --git a/config.gradle b/config.gradle index fd0958357f..858fcd1c53 100644 --- a/config.gradle +++ b/config.gradle @@ -114,7 +114,7 @@ ext { obusdk : "com.zhidao.enterprise.smartv2x:smartv2x:1.0.0.3", mogoobu : 'com.zhidao.support.obu:mogoobu:1.0.0.19', mogoami : 'com.zhidao.support.obu.ami:mogoami:1.0.0.10', - adasHigh : 'com.zhidao.support.adas:high:1.2.1.2_bate21', + adasHigh : 'com.zhidao.support.adas:high:1.2.1.2_bate25', // google googlezxing : "com.google.zxing:core:3.3.3", diff --git a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutopilotProvider.kt b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutopilotProvider.kt index fc67de4c1f..320f7a2b24 100644 --- a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutopilotProvider.kt +++ b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutopilotProvider.kt @@ -21,6 +21,7 @@ import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr import com.mogo.eagle.core.utilcode.util.GsonUtils import com.mogo.eagle.core.utilcode.util.ThreadUtils import com.zhidao.support.adas.high.AdasManager +import com.zhidao.support.adas.high.AdasOptions import com.zhidao.support.adas.high.bean.IPCUpgradeInfo import com.zhidao.support.adas.high.common.CupidLogUtils import java.util.concurrent.TimeUnit @@ -51,17 +52,33 @@ class MoGoAutopilotProvider : 0x00 -> // 司机 { CallerMapDataCollectorManager.registerOnMapCollectTaskListener(this) - AdasManager.getInstance().create(context, FunctionBuildConfig.adasConnectIP) + // "192.168.1.102" + val options = AdasOptions.Builder() + .setIPCIp(FunctionBuildConfig.adasConnectIP) + .setClient(false) + .build() + AdasManager.getInstance().create(context, options) } 0x01 -> // 乘客 { // 乘客端默认接收绘制全局路径+引导线 //FunctionBuildConfig.isDemoMode = true //FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData = true - AdasManager.getInstance().create(context, FunctionBuildConfig.adasConnectIP) + // "192.168.1.103" + val options = AdasOptions.Builder() + .setIPCIp(FunctionBuildConfig.adasConnectIP) + .setClient(false) + .build() + AdasManager.getInstance().create(context, options) } else -> // 默认采用UDP寻址方式 - AdasManager.getInstance().create(context) + { + val options = AdasOptions.Builder() + .setIPCIp(FunctionBuildConfig.adasConnectIP) + .setClient(false) + .build() + AdasManager.getInstance().create(context, options) + } } //////////////////////////////////注意先后顺序,AdasManager.getInstance().create后才可以设置监听///////////////////////////////////////////// // 监听 adas 连接状态 diff --git a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoAdasListenerImpl.java b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoAdasListenerImpl.java index a2b9997f1f..09ac36f488 100644 --- a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoAdasListenerImpl.java +++ b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoAdasListenerImpl.java @@ -180,7 +180,7 @@ public class MoGoAdasListenerImpl implements OnAdasListener { @Override public void autopilotArrive(AutopilotWayArrive autopilotWayArrive) { if (HdMapBuildConfig.isMapLoaded) { - Logger.d(TAG, "autopilotArrive : " + autopilotWayArrive); +// Logger.d(TAG, "autopilotArrive : " + autopilotWayArrive); if (autopilotWayArrive != null) { AutopilotWayArrive.ResultBean result = autopilotWayArrive.getResult(); if (result != null) { @@ -198,7 +198,7 @@ public class MoGoAdasListenerImpl implements OnAdasListener { @Override public void onAutopilotRoute(AutopilotRoute route) { if (HdMapBuildConfig.isMapLoaded) { - Logger.d(TAG, "onAutopilotRoute : " + route.toString()); +// Logger.d(TAG, "onAutopilotRoute : " + route.toString()); AutopilotRouteInfo autopilotRoute = AdasObjectConvertUtils.INSTANCE.fromAdasAutopilotRoute(route); CallerAutopilotPlanningListenerManager.INSTANCE.invokeAutopilotRotting(autopilotRoute); } @@ -207,7 +207,7 @@ public class MoGoAdasListenerImpl implements OnAdasListener { @Override public void onAutopilotTrajectory(List trajectoryList) { if (HdMapBuildConfig.isMapLoaded) { - Logger.d(TAG, "onAutopilotTrajectory : " + trajectoryList); +// Logger.d(TAG, "onAutopilotTrajectory : " + trajectoryList); ArrayList trajectoryInfoArrayList = new ArrayList<>(); if (trajectoryList != null && trajectoryList.size() > 0) { for (TrajectoryInfo trajectory : trajectoryList) { @@ -223,7 +223,7 @@ public class MoGoAdasListenerImpl implements OnAdasListener { adasTrajectoryInfo.setTheta(trajectory.getTheta()); trajectoryInfoArrayList.add(adasTrajectoryInfo); } - Log.e(TAG, "time:" + System.currentTimeMillis() + "trajectoryInfoArrayList:" + trajectoryInfoArrayList); +// Log.e(TAG, "time:" + System.currentTimeMillis() + "trajectoryInfoArrayList:" + trajectoryInfoArrayList); } CallerAutopilotPlanningListenerManager.INSTANCE.invokeAutopilotTrajectory(trajectoryInfoArrayList); } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt index 1effe80b77..077b88887f 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt @@ -29,6 +29,7 @@ import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWarningStatusListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotManager import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotIdentifyListenerManager import com.mogo.eagle.core.function.call.check.CallerCheckManager +import com.mogo.eagle.core.function.call.map.CallerMapDataCollectorManager import com.mogo.eagle.core.function.call.monitor.CallerMonitorManager import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.function.hmi.WaringConst @@ -279,6 +280,9 @@ class MoGoHmiFragment : MvpFragment } } } + if (record.type == 2 && (record.stat == 101 || record.stat == 100)) { + CallerMapDataCollectorManager.finish(record.id, record.stat, "", record.fileName ?: "", record.note ?: "") + } } override fun onDestroyView() { 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 5be0c6cfe7..124e75efbc 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 @@ -64,12 +64,14 @@ class SpeedPanelView @JvmOverloads constructor( private val timerTask = object : TimerTask() { override fun run() { if (mLatLng != null) { - mSpeedLimmit = mMogoServiceApis.mapServiceApi.mapUIController.getSpeedLimmit(mLatLng!!.longitude, mLatLng!!.latitude, mLatLng!!.bearing) - UiThreadHandler.post { - val speed = (mLatLng!!.speed * 3.6f).toInt() - mSpeedChartView.setArcColor(Color.parseColor(if (speed > mSpeedLimmit) "#DB3137" else "#3E77F6")) - mSpeedChartView.setValues(speed) - setBackgroundResource(if (speed > mSpeedLimmit) R.drawable.yi_biao_pan_bg_speeding else R.drawable.yi_biao_pan_bg_nor) + if (mMogoServiceApis.mapServiceApi != null && mMogoServiceApis.mapServiceApi.mapUIController != null) { + mSpeedLimmit = mMogoServiceApis.mapServiceApi.mapUIController.getSpeedLimmit(mLatLng!!.longitude, mLatLng!!.latitude, mLatLng!!.bearing) + UiThreadHandler.post { + val speed = (mLatLng!!.speed * 3.6f).toInt() + mSpeedChartView.setArcColor(Color.parseColor(if (speed > mSpeedLimmit) "#DB3137" else "#3E77F6")) + mSpeedChartView.setValues(speed) + setBackgroundResource(if (speed > mSpeedLimmit) R.drawable.yi_biao_pan_bg_speeding else R.drawable.yi_biao_pan_bg_nor) + } } } } diff --git a/core/function-impl/mogo-core-function-main/src/main/java/com/mogo/eagle/core/function/main/MainMoGoApplication.java b/core/function-impl/mogo-core-function-main/src/main/java/com/mogo/eagle/core/function/main/MainMoGoApplication.java index e00bbd4713..a56f5b701f 100644 --- a/core/function-impl/mogo-core-function-main/src/main/java/com/mogo/eagle/core/function/main/MainMoGoApplication.java +++ b/core/function-impl/mogo-core-function-main/src/main/java/com/mogo/eagle/core/function/main/MainMoGoApplication.java @@ -249,7 +249,7 @@ public abstract class MainMoGoApplication extends AbsMogoApplication { */ private void connectAmiIp() { String ipAddress = SharedPrefsMgr.getInstance(AbsMogoApplication.getApp().getBaseContext()).getString(MoGoConfig.OBU_IP, "192.168.1.199"); - Logger.d("OnAdasListenerAdapter", "application --ipAddress = " + ipAddress); + //Logger.d("OnAdasListenerAdapter", "application --ipAddress = " + ipAddress); AmiClientManager.getInstance().setObuIp(ipAddress); } diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/impl/collect/MoGoMapDataCollectProvider.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/impl/collect/MoGoMapDataCollectProvider.kt index 6d1604610a..522ef2a40c 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/impl/collect/MoGoMapDataCollectProvider.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/impl/collect/MoGoMapDataCollectProvider.kt @@ -6,14 +6,17 @@ import com.alibaba.android.arouter.facade.annotation.Route import com.mogo.cloud.passport.IMoGoTokenCallback import com.mogo.cloud.passport.MoGoAiCloudClient import com.mogo.cloud.passport.MoGoAiCloudClientConfig +import com.mogo.commons.debug.DebugConfig import com.mogo.eagle.core.data.constants.MogoServicePaths import com.mogo.eagle.core.data.map.MogoLocation import com.mogo.eagle.core.function.api.map.collect.IMoGoMapDataCollectProvider import com.mogo.eagle.core.function.api.map.listener.IMoGoMapLocationListener import com.mogo.eagle.core.function.call.map.CallerMapLocationListenerManager import com.mogo.eagle.core.utilcode.mogo.logger.Logger -import com.zhidaoauto.map.operational.MapCollectionTaskRecive -import com.zhidaoauto.map.operational.abs.OnTaskListener +import com.zhidaoauto.map.operational.open.GatherApi +import com.zhidaoauto.map.operational.open.GatherParams +import com.zhidaoauto.map.operational.open.GatherParams.Companion +import com.zhidaoauto.map.operational.open.abs.OnTaskListener import java.util.concurrent.ConcurrentHashMap import java.util.concurrent.CopyOnWriteArrayList import java.util.concurrent.atomic.AtomicReference @@ -26,7 +29,7 @@ class MoGoMapDataCollectProvider : IMoGoMapDataCollectProvider, OnTaskListener, } private val executor by lazy { - AtomicReference(null) + AtomicReference(null) } private val listeners by lazy { @@ -39,9 +42,18 @@ class MoGoMapDataCollectProvider : IMoGoMapDataCollectProvider, OnTaskListener, override val functionName: String = TAG + @Volatile + private var hasInit = false + override fun init(context: Context?) { CallerMapLocationListenerManager.addListener(functionName, this) - executor.set(context?.let { MapCollectionTaskRecive(it) }) + executor.set(context?.let { + GatherApi.also { itx -> + itx.init(it, + GatherParams.init() + .setDebugMode(DebugConfig.isDebug()) + .setCoordinateType(GatherParams.COORDINATETYPE_GCJ02)) + } }) executor.get()?.setOnTaskListener(this) val carSn = MoGoAiCloudClientConfig.getInstance().sn if (!TextUtils.isEmpty(carSn)) { @@ -55,10 +67,7 @@ class MoGoMapDataCollectProvider : IMoGoMapDataCollectProvider, OnTaskListener, override fun onDestroy() { CallerMapLocationListenerManager.removeListener(TAG) Logger.d(TAG, "--------- onDestroy --------") - executor.get()?.let { - it.setOnTaskListener(null) - it.destory() - } + executor.get()?.setOnTaskListener(null) listeners.clear() map.clear() } @@ -129,10 +138,19 @@ class MoGoMapDataCollectProvider : IMoGoMapDataCollectProvider, OnTaskListener, map[id] = Status.START } + override fun setIsInit() { + if (!hasInit) { + executor.get()?.also { + hasInit = true + Logger.d(TAG, "告之地图sdk,定义数据可以用了") + it.setIsInit() + } + } + } override fun onLocationChanged(location: MogoLocation?) { location ?: return - executor.get()?.onMapChange( + executor.get()?.updateLocation( location.longitude, location.latitude, location.bearing, diff --git a/core/function-impl/mogo-core-function-smp/src/main/java/com/mogo/eagle/core/function/smp/SmallMapFragment.java b/core/function-impl/mogo-core-function-smp/src/main/java/com/mogo/eagle/core/function/smp/SmallMapFragment.java index aaf81a9329..0d21bb9335 100644 --- a/core/function-impl/mogo-core-function-smp/src/main/java/com/mogo/eagle/core/function/smp/SmallMapFragment.java +++ b/core/function-impl/mogo-core-function-smp/src/main/java/com/mogo/eagle/core/function/smp/SmallMapFragment.java @@ -67,12 +67,16 @@ public class SmallMapFragment extends BaseFragment @Override public void showPanel() { - mSmallMapDirectionView.setVisibility(View.VISIBLE); + if (mSmallMapDirectionView != null) { + mSmallMapDirectionView.setVisibility(View.VISIBLE); + } } @Override public void hidePanel() { - mSmallMapDirectionView.setVisibility(View.GONE); + if (mSmallMapDirectionView != null) { + mSmallMapDirectionView.setVisibility(View.GONE); + } } @Override @@ -103,20 +107,26 @@ public class SmallMapFragment extends BaseFragment @Override public void onResume() { super.onResume(); - mSmallMapDirectionView.onResume(); + if (mSmallMapDirectionView != null) { + mSmallMapDirectionView.onResume(); + } } @Override public void onPause() { super.onPause(); - mSmallMapDirectionView.onPause(); + if (mSmallMapDirectionView != null) { + mSmallMapDirectionView.onPause(); + } } @Override public void onDestroy() { super.onDestroy(); - mSmallMapDirectionView.onDestroy(); + if (mSmallMapDirectionView != null) { + mSmallMapDirectionView.onDestroy(); + } CallerAutopilotPlanningListenerManager.INSTANCE.removeListener(TAG); } diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/speedlimit/SpeedLimitDataManager.java b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/speedlimit/SpeedLimitDataManager.java index ae9e1df56d..b7d1635cdb 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/speedlimit/SpeedLimitDataManager.java +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/speedlimit/SpeedLimitDataManager.java @@ -32,15 +32,17 @@ public class SpeedLimitDataManager implements IMogoCarLocationChangedListener2 { @Override public void run() { if (mLocation != null){ - int speedLimmit = MogoApisHandler.getInstance().getApis().getMapServiceApi().getMapUIController().getSpeedLimmit(mLocation.getLongitude(),mLocation.getLatitude(),mLocation.getBearing()); - UiThreadHandler.post(new Runnable() { - @Override - public void run() { - if (speedLimmit > 0){ - CallerHmiManager.INSTANCE.showLimitingVelocity(speedLimmit); + if (MogoApisHandler.getInstance().getApis().getMapServiceApi() != null && MogoApisHandler.getInstance().getApis().getMapServiceApi().getMapUIController() != null) { + int speedLimmit = MogoApisHandler.getInstance().getApis().getMapServiceApi().getMapUIController().getSpeedLimmit(mLocation.getLongitude(), mLocation.getLatitude(), mLocation.getBearing()); + UiThreadHandler.post(new Runnable() { + @Override + public void run() { + if (speedLimmit > 0) { + CallerHmiManager.INSTANCE.showLimitingVelocity(speedLimmit); + } } - } - }); + }); + } } } }; diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/collect/IMoGoMapDataCollectProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/collect/IMoGoMapDataCollectProvider.kt index 8172294b0c..383597fb1c 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/collect/IMoGoMapDataCollectProvider.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/collect/IMoGoMapDataCollectProvider.kt @@ -19,6 +19,11 @@ interface IMoGoMapDataCollectProvider: IMoGoFunctionServerProvider { */ fun unRegisterOnMapCollectTaskListener(listener: OnMapCollectCmdListener?) + /** + * 此接口用于定位准确的时候回调 + */ + fun setIsInit() + /** * 此接口是自动驾驶模块使用,用于把自动驾驶模块收集的数据给地图组 */ diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerMapDataCollectorManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerMapDataCollectorManager.kt index 86cb4dc777..c8eb9f5721 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerMapDataCollectorManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerMapDataCollectorManager.kt @@ -26,4 +26,8 @@ object CallerMapDataCollectorManager { fun finish(id: Int, state: Int, gpsPath: String, videoPath: String, reason: String) { provider?.finish(id, state, gpsPath, videoPath, reason) } + + fun setIsInit() { + provider?.setIsInit() + } } \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 3ba92872d8..df290325bc 100644 --- a/gradle.properties +++ b/gradle.properties @@ -81,7 +81,7 @@ MOGO_LOCATION_VERSION=1.3.18 ######## MogoAiCloudSDK Version ######## # 自研地图 MAP_SDK_VERSION=2.0.5.1 -MAP_SDK_OPERATION_VERSION=1.0.11 +MAP_SDK_OPERATION_VERSION=1.0.12 # websocket WEBSOCKET_VERSION=1.1.7 ## 产品库必备配置,产品库自动对versionCode和versionName版本进行升级 diff --git a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapViewWrapper.java b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapViewWrapper.java index 1f747a7c0d..760195fb3e 100644 --- a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapViewWrapper.java +++ b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapViewWrapper.java @@ -21,6 +21,7 @@ import com.mogo.eagle.core.data.config.HdMapBuildConfig; import com.mogo.eagle.core.data.map.MogoLatLng; import com.mogo.eagle.core.data.map.MogoLocation; import com.mogo.eagle.core.function.call.map.CallerLocationUpdaterManager; +import com.mogo.eagle.core.function.call.map.CallerMapDataCollectorManager; import com.mogo.eagle.core.function.call.map.CallerMapLocationListenerManager; import com.mogo.eagle.core.function.call.map.CallerMapStyleListenerManager; import com.mogo.eagle.core.utilcode.mogo.logger.Logger; @@ -920,6 +921,7 @@ public class AMapViewWrapper implements IMogoMapView, // 使用外部定位数据修改自车位置 mMapView.getLocationClient().updateRTKAutoPilotLocation(bean); CallerLocationUpdaterManager.INSTANCE.updateLocation(bean); + CallerMapDataCollectorManager.INSTANCE.setIsInit(); } } 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 1259d5830b..795024249e 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 @@ -355,12 +355,18 @@ public class MogoMapUIController implements IMogoMapUIController { @Override public long getTileId(double lon, double lat) { - return mDelegate.getTileId(lon, lat); + if (mDelegate != null) { + return mDelegate.getTileId(lon, lat); + } + return 0; } @Override public int getSpeedLimmit(double lon, double lat, float angle) { - return mDelegate.getSpeedLimmit(lon,lat,angle); + if (mDelegate != null) { + return mDelegate.getSpeedLimmit(lon,lat,angle); + } + return 0; } @Override diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java index 1e119e105c..cb1d311f83 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java @@ -422,18 +422,20 @@ public class TopViewAnimHelper { public void removeAllViewExceptVrNav() { Logger.d(TAG, "remove all view except vr nav"); isTopViewOut = true; - int lastCount = topContainer.getChildCount(); - for (int i = 0; i < lastCount; i++) { - View child = topContainer.getChildAt(i); - viewCaches.remove(child); - IMogoTopViewStatusListener listener = statusListenerMap.remove(child); - if (listener != null) { - listener.beforeViewRemoveAnim(child); - listener.onViewRemoved(child); + if(topContainer != null) { + int lastCount = topContainer.getChildCount(); + for (int i = 0; i < lastCount; i++) { + View child = topContainer.getChildAt(i); + viewCaches.remove(child); + IMogoTopViewStatusListener listener = statusListenerMap.remove(child); + if (listener != null) { + listener.beforeViewRemoveAnim(child); + listener.onViewRemoved(child); + } } + topContainer.setTranslationY(0); + topContainer.removeAllViews(); } - topContainer.setTranslationY(0); - topContainer.removeAllViews(); hideNaviView(); } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/MogoRouteOverlayManager.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/MogoRouteOverlayManager.java index 11fa9763e0..3cd2ddf2a9 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/MogoRouteOverlayManager.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/MogoRouteOverlayManager.java @@ -83,11 +83,14 @@ public class MogoRouteOverlayManager implements // Log.d(TAG, "trajectoryInfos:" + adasTrajectoryInfo.getLat()+":"+adasTrajectoryInfo.getLon()); // Log.d(TAG, "temp:"+temp+" location:" + lat+":"+lon); List mogoLatLngs = new ArrayList<>(); - for (ADASTrajectoryInfo a : trajectoryInfos) { -// Log.d(TAG, "temp:"+temp+" trajectoryInfos:" + a.getLat()+":"+a.getLon()); - builder.append(a.getLon()).append(","); - builder.append(a.getLat()).append(","); - mogoLatLngs.add(new MogoLatLng(a.getLat(), a.getLon())); + for (int i = 0; i < trajectoryInfos.size(); i++) { + // 临时解决车尾拖线问题,丢弃距离车最近的几个经纬度,原因是惯性导航的中心靠近车尾,会导致经纬度靠近尾部,且两个数据不同频 + if (i > 5) { + ADASTrajectoryInfo a = trajectoryInfos.get(i); + builder.append(a.getLon()).append(","); + builder.append(a.getLat()).append(","); + mogoLatLngs.add(new MogoLatLng(a.getLat(), a.getLon())); + } } if (FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData || STATUS_AUTOPILOT == 1){ RouteOverlayDrawer.getInstance(mContext).drawTrajectoryList(mogoLatLngs); diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/RouteOverlayDrawer.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/RouteOverlayDrawer.java index 0419d5d39a..c7a023eebb 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/RouteOverlayDrawer.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/RouteOverlayDrawer.java @@ -124,7 +124,7 @@ public class RouteOverlayDrawer { long start = System.currentTimeMillis(); List list = new ArrayList<>(); // list = ColorUtils.gradientAlpha("#FF2AAFFD", "#002965ED", mPolylinePointList.size()); - int[] startColor = ColorUtils.hexToArgb("#FF64C3EA"); + int[] startColor = ColorUtils.hexToArgb("#CC64C3EA"); int[] endColor = ColorUtils.hexToArgb("#0064C3EA"); list.add(Color.argb(startColor[0],startColor[1],startColor[2],startColor[3])); list.add(Color.argb(endColor[0],endColor[1],endColor[2],endColor[3])); diff --git a/tts/tts-pad/src/main/java/com/mogo/tts/pad/PadTTS.java b/tts/tts-pad/src/main/java/com/mogo/tts/pad/PadTTS.java index 01c0aa531d..c875a538ad 100644 --- a/tts/tts-pad/src/main/java/com/mogo/tts/pad/PadTTS.java +++ b/tts/tts-pad/src/main/java/com/mogo/tts/pad/PadTTS.java @@ -74,6 +74,7 @@ public class PadTTS implements IMogoTTS, VoiceClient.VoiceCmdCallBack, OnTtsList mVoiceClient.release(); if (mEngine != null) { mEngine.destroy(); + mEngine = null; } mHasAuth = false; mSpeakVoiceMap.clear(); @@ -95,11 +96,11 @@ public class PadTTS implements IMogoTTS, VoiceClient.VoiceCmdCallBack, OnTtsList private static final String TTS_BACK_RES_ZHILING = "zhilingf_common_back_ce_local.v2.1.0.bin"; private int audioRecorderType = DUILiteConfig.TYPE_COMMON_MIC; //echo module res - private static final String ECHO_RES = "echo/sspe_aec_ch2_mic1_ref1_asr_v2.0.0.95.bin"; + private static final String ECHO_RES = "echo/AEC_ch4-2-ch2_2ref_chezai_v2_outgain1_20200407_dw_gain_0.1.bin"; //local tts module res private static final String TTS_DICT_RES = "aitts_sent_dict_local.db"; private static final String TTS_FRONT_RES = "local_front.bin"; - public static final String TTS_BACK_RES_GUODGM = "tts/guodgm_common_back_ce_local.v2.1.0.bin"; + public static final String TTS_BACK_RES_GUODGM = "guodgm_common_back_ce_local.v2.1.0.bin"; private AILocalTTSEngine mEngine; private AILocalTTSIntent mAILocalTTSIntent; private String[] mBackResBinArray = new String[]{TTS_BACK_RES_ZHILING, TTS_BACK_RES_GUODGM}; @@ -123,9 +124,9 @@ public class PadTTS implements IMogoTTS, VoiceClient.VoiceCmdCallBack, OnTtsList //echo 配置 EchoConfig echoConfig = new EchoConfig.Builder() .setAecResource(ECHO_RES)// 2mic AEC资源 - .setChannels(2)//设置音频通道数 - .setMicNumber(1)//设置mic数 - .setSavedDirPath("/sdcard/aispeech/aecPcmFile/")//设置echo前后音频保存路径 + .setChannels(4)//设置音频通道数 + .setMicNumber(2)//设置mic数 + .setSavedDirPath("/sdcard/aispeech/echo")//设置echo前后音频保存路径 .create(); if (BuildConfig.DEBUG) {