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 dabeba3381..99216870b5 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 @@ -17,7 +17,9 @@ app:resetDrawableMarginBottom="@dimen/dp_54" app:carDrawable = "@drawable/m2_map_car_icon" app:startPointDrawable="@drawable/m2_map_start_icon" - app:endPointDrawable="@drawable/m2_map_end_icon"/> + app:endPointDrawable="@drawable/m2_map_end_icon" + app:leftPadding="400" + /> + if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) { + return@observable + } + if (FunctionBuildConfig.isDemoMode) { + return@observable + } + if (newValue) { + ToastUtils.showLong("长链接状态恢复") + } else { + ToastUtils.showLong("长链接异常,请开启相应权限或者查看网络") + } + } - private var looperDisposable : Disposable? = null + private var looperDisposable: Disposable? = null - fun startLoopAbnormalFactors(context: Context){ - if (looperDisposable != null && !looperDisposable!!.isDisposed){ + fun startLoopAbnormalFactors(context: Context) { + if (looperDisposable != null && !looperDisposable!!.isDisposed) { return } i(TAG, "startLoopAbnormalFactors()") looperDisposable = Observable.interval(LOOP_DELAY, LOOP_TIME, TimeUnit.MILLISECONDS) - .map { aLong -> aLong+1 } + .map { aLong -> aLong + 1 } .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) - .subscribe{ aLong -> checkAbnormalFactors(context)} + .subscribe { aLong -> checkAbnormalFactors(context) } //长链接监听 - MogoStatusManager.getInstance().registerStatusChangedListener(TAG, - StatusDescriptor.CLOUD_SOCKET,this) + MogoStatusManager.getInstance().registerStatusChangedListener( + TAG, + StatusDescriptor.CLOUD_SOCKET, this + ) } private fun checkAbnormalFactors(context: Context) { @@ -54,14 +68,15 @@ object AbnormalFactorsLoopManager : IMogoStatusChangedListener { var networkStatus = false //定位权限 - locationStatusPermsStatus = !(!PermissionUtil.isLocServiceEnable(context) || !PermissionUtil.checkPermission( - context, *arrayOf( - Manifest.permission.ACCESS_FINE_LOCATION - ) - )) + locationStatusPermsStatus = + !(!PermissionUtil.isLocServiceEnable(context) || !PermissionUtil.checkPermission( + context, *arrayOf( + Manifest.permission.ACCESS_FINE_LOCATION + ) + )) //网络状态或者网络权限是否打开 - if (NetworkUtils.isConnected(context)){ + if (NetworkUtils.isConnected(context)) { networkStatus = true } //长链接状态 socketStatus @@ -70,28 +85,27 @@ object AbnormalFactorsLoopManager : IMogoStatusChangedListener { if (!locationStatusPermsStatus) toastStr += "定位服务异常 " if (!networkStatus) toastStr += " 网络异常 " - //乘客屏不显示长链接异常 - if (!socketStatus && !AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) toastStr += " 长链接异常 " - i(TAG, "abnormal_factors_Str = $toastStr") - if (!FunctionBuildConfig.isDemoMode && toastStr !== ""){ + if (!FunctionBuildConfig.isDemoMode && toastStr !== "") { ToastUtils.showLong(toastStr + "请开启相应权限或者查看网络") } } - fun stopLoopAbnormalFactors(){ + fun stopLoopAbnormalFactors() { looperDisposable!!.dispose() looperDisposable == null - MogoStatusManager.getInstance().unregisterStatusChangedListener(TAG, - StatusDescriptor.CLOUD_SOCKET,this) + MogoStatusManager.getInstance().unregisterStatusChangedListener( + TAG, + StatusDescriptor.CLOUD_SOCKET, this + ) } override fun onStatusChanged(descriptor: StatusDescriptor?, isTrue: Boolean) { //长链接监听、 - if (StatusDescriptor.CLOUD_SOCKET == descriptor){ + if (StatusDescriptor.CLOUD_SOCKET == descriptor) { socketStatus = isTrue } } diff --git a/app/productFlavors/ochPassengerM1.gradle b/app/productFlavors/ochPassengerM1.gradle index 67af2a0def..2121de231e 100644 --- a/app/productFlavors/ochPassengerM1.gradle +++ b/app/productFlavors/ochPassengerM1.gradle @@ -49,7 +49,7 @@ project.android.productFlavors { // 构建 是否支持多屏异显异交互 buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false' - //M1不能启动自驾的档位 - buildConfigField 'java.util.Set', 'UNABLE_LAUNCH_AUTOPILOT_GEAR', 'null' + //Bus不能启动自驾的档位 + buildConfigField 'java.util.Set', 'UNABLE_LAUNCH_AUTOPILOT_GEAR', 'new java.util.HashSet(){{add(chassis.Chassis.GearPosition.GEAR_N);add(chassis.Chassis.GearPosition.GEAR_R);}}' } } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/dispatch/DispatchAutoPilotManager.kt b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/dispatch/DispatchAutoPilotManager.kt index c7c48c012e..7dfd3190a9 100644 --- a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/dispatch/DispatchAutoPilotManager.kt +++ b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/dispatch/DispatchAutoPilotManager.kt @@ -41,6 +41,7 @@ class DispatchAutoPilotManager private constructor() : private const val MSG_SOCKET_TYPE = 501000 private const val MSG_TYPE_SHOW_DIALOG = 0 private const val MSG_TYPE_UPLOAD_AUTOPILOT_STATUS = 1 + private const val MSG_TYPE_UPLOAD_AUTOPILOT_ROTTING = 2 val dispatchAutoPilotManager by lazy(LazyThreadSafetyMode.SYNCHRONIZED) { DispatchAutoPilotManager() @@ -68,6 +69,16 @@ class DispatchAutoPilotManager private constructor() : getAutoPilotStatusInfo().reason ) sendEmptyMessageDelayed(MSG_TYPE_UPLOAD_AUTOPILOT_STATUS, 1000L) + } else if(msg.what == MSG_TYPE_UPLOAD_AUTOPILOT_ROTTING){ + val data = msg.obj as MessagePad.GlobalPathResp + val list: MutableList = ArrayList() + for (location in data.wayPointsList) { + val routeModels = AutopilotRouteInfo.RouteModels() + routeModels.lat = location.latitude + routeModels.lon = location.longitude + list.add(routeModels) + } + dispatchServiceModel.uploadAutopilotRoute(list) } } } @@ -165,14 +176,10 @@ class DispatchAutoPilotManager private constructor() : if (globalPathResp == null || globalPathResp.wayPointsList.isEmpty()) { return } - val list: MutableList = ArrayList() - for (location in globalPathResp.wayPointsList) { - val routeModels = AutopilotRouteInfo.RouteModels() - routeModels.lat = location.latitude - routeModels.lon = location.longitude - list.add(routeModels) - } - dispatchServiceModel.uploadAutopilotRoute(list) + val message = Message() + message.what = MSG_TYPE_UPLOAD_AUTOPILOT_ROTTING + message.obj = globalPathResp + handler.sendMessage(message) } override fun onAutopilotArriveAtStation(arrivalNotification: MessagePad.ArrivalNotification?) { diff --git a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/dispatch/network/DispatchServiceModel.kt b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/dispatch/network/DispatchServiceModel.kt index a2ffd09f4d..1f5fa404b7 100644 --- a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/dispatch/network/DispatchServiceModel.kt +++ b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/dispatch/network/DispatchServiceModel.kt @@ -76,7 +76,7 @@ class DispatchServiceModel private constructor() { fun uploadAutopilotRoute(list: List?) { val sn = MoGoAiCloudClientConfig.getInstance().sn val reportedRoute = ReportedRoute(sn, GsonUtil.jsonFromObject(list)) - val map: MutableMap = HashMap() + val map: MutableMap = HashMap() map["sn"] = sn map["data"] = GsonUtil.jsonFromObject(reportedRoute) mAdasApiService.uploadAutopilotRoute(map) diff --git a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/dispatch/network/IDispatchAdasApiService.kt b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/dispatch/network/IDispatchAdasApiService.kt index 4c018f2030..dbdc2e34c7 100644 --- a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/dispatch/network/IDispatchAdasApiService.kt +++ b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/dispatch/network/IDispatchAdasApiService.kt @@ -15,7 +15,7 @@ interface IDispatchAdasApiService { */ @FormUrlEncoded @POST("eagle-eye-dns/eagle-eye-dns/dataService/autoDriver/receiveCarPreSetPath") - fun uploadAutopilotRoute(@FieldMap parameters: Map): Observable + fun uploadAutopilotRoute(@FieldMap parameters: Map): Observable /** * 上报自动驾驶调度处理结果 服务于业务调度 diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt index 00194f2aeb..02f835979b 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt @@ -748,27 +748,29 @@ class MoGoAutopilotControlProvider : } override fun connectSpecifiedServer(ip: String) { - NSDNettyManager.getInstance().connectSpecifiedServer( - ip, - NettyTcpServer.SERVER_PORT, - MoGoAiCloudClientConfig.getInstance().sn, - object : NettyClientListener { - override fun onMessageResponseClient( - msg: MogoProtocolMsg?, - sign: String?, - channel: Channel - ) { - msgHandler.handleMsgFromServer(msg, channel) - } + ThreadUtils.getIoPool().submit { + NSDNettyManager.getInstance().connectSpecifiedServer( + ip, + NettyTcpServer.SERVER_PORT, + MoGoAiCloudClientConfig.getInstance().sn, + object : NettyClientListener { + override fun onMessageResponseClient( + msg: MogoProtocolMsg?, + sign: String?, + channel: Channel + ) { + msgHandler.handleMsgFromServer(msg, channel) + } - override fun onClientStatusConnectChanged( - statusCode: Int, - sign: String?, - channel: Channel - ) { - msgHandler.handleClientConnStatus(statusCode, sign, channel) - } - }) + override fun onClientStatusConnectChanged( + statusCode: Int, + sign: String?, + channel: Channel + ) { + msgHandler.handleClientConnStatus(statusCode, sign, channel) + } + }) + } } /** 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 a4b0d19ddb..a9c89ae9f0 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 @@ -684,12 +684,9 @@ class MogoPrivateObuNewManager private constructor() : OnUpgradeListener { when (appId) { //前向碰撞预警 MogoObuConstants.V2X_WARNING_TYPE.FCW.toString() -> { - if (FunctionBuildConfig.isObuWarningFusionUnion) { + if (FunctionBuildConfig.isObuWarningFusionUnion && level == 3) { alertContent = "前车距离过近" ttsContent = "前车距离过近" - CallerObuWarningListenerManager.invokeTrackerFusionData( - ObuManager.getInstance().obuRvToTrackedObject(info) - ) } else { alertContent = EventTypeEnumNew.getWarningContent(EventTypeEnumNew.TYPE_USECASE_ID_FCW.poiType) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/binding/BindingCarManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/binding/BindingCarManager.kt index 1c032cbf7b..a1cbd52ce6 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/binding/BindingCarManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/binding/BindingCarManager.kt @@ -172,8 +172,10 @@ class BindingCarManager : IMoGoAutopilotCarConfigListener { * obu的升级,只需要司机屏连接 */ fun queryObuUpgrade(obuVersionName: String) { - CallerLogger.d("${SceneConstant.M_OBU}${MogoObuConst.TAG_UPGRADE_OBU}","queryObuUpgrade isConnected = ${CallerObuApiManager.isConnected()} --- mAddress = $mAddress") - ObuUpgradeAppNetWorkManager.getInstance().getObuUpgradeInfo(mContext, mAddress, obuVersionName) + if (screenType == 1) { + CallerLogger.d("${SceneConstant.M_OBU}${MogoObuConst.TAG_UPGRADE_OBU}","queryObuUpgrade isConnected = ${CallerObuApiManager.isConnected()} --- mAddress = $mAddress") + ObuUpgradeAppNetWorkManager.getInstance().getObuUpgradeInfo(mContext, mAddress, obuVersionName) + } } } diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/binding/BindingCarNetWorkManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/binding/BindingCarNetWorkManager.kt index ba157a1abd..36443407ea 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/binding/BindingCarNetWorkManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/binding/BindingCarNetWorkManager.kt @@ -163,18 +163,26 @@ class BindingCarNetWorkManager private constructor() { } d(SceneConstant.M_BINDING + TAG, "updateCarVrIconRes : $brandId") when (brandId) { - "1" -> { + "1" -> { //东风 CallerMapUIServiceManager.getMapUIController()?.changeCurrentIcon(R.raw.chuzuche) HdMapBuildConfig.currentCarVrIconRes = R.raw.chuzuche } - "2" -> { + "2" -> { //红旗 CallerMapUIServiceManager.getMapUIController()?.changeCurrentIcon(R.raw.hq_h9) HdMapBuildConfig.currentCarVrIconRes = R.raw.hq_h9 } - "3" -> { + "3" -> { //金旅 CallerMapUIServiceManager.getMapUIController()?.changeCurrentIcon(R.raw.xiaobache) HdMapBuildConfig.currentCarVrIconRes = R.raw.xiaobache } + "4" -> { //开沃 + CallerMapUIServiceManager.getMapUIController()?.changeCurrentIcon(R.raw.xiaobache) + HdMapBuildConfig.currentCarVrIconRes = R.raw.xiaobache + } + "5" -> { //福田 + CallerMapUIServiceManager.getMapUIController()?.changeCurrentIcon(R.raw.huanwei) + HdMapBuildConfig.currentCarVrIconRes = R.raw.huanwei + } else -> { CallerMapUIServiceManager.getMapUIController()?.changeCurrentIcon(R.raw.chuzuche) HdMapBuildConfig.currentCarVrIconRes = R.raw.chuzuche @@ -186,6 +194,8 @@ class BindingCarNetWorkManager private constructor() { return when (HdMapBuildConfig.currentCarVrIconRes) { R.raw.chuzuche -> "1" R.raw.xiaobache -> "3" + R.raw.xiaobache -> "4" + R.raw.huanwei -> "5" else -> "1" } } 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 41e2224e3d..ab5ecaa78b 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 @@ -410,14 +410,13 @@ internal class DebugSettingView @JvmOverloads constructor( //展示OBU控制中心 obuControllerLayout.visibility = View.VISIBLE tbVehicleStateController.isChecked = true - //展示HMI控制中心 - hmiObuLayout.visibility = View.VISIBLE + } else { buttonView.setCompoundDrawables(null, null, iconRight, null) //隐藏OBU控制中心 obuControllerLayout.visibility = View.GONE tbVehicleStateController.isChecked = false - hmiObuLayout.visibility = View.GONE + } } @@ -1059,29 +1058,6 @@ internal class DebugSettingView @JvmOverloads constructor( HmiBuildConfig.isShowSnBindingView = !isChecked } - /** - * obu弱势交通控制 - */ - tbObuWeaknessTraffic.setOnCheckedChangeListener { _, isChecked -> - // 默认开启 - HmiBuildConfig.isShowObuWeaknessTrafficView = !isChecked - } - - /** - * 云端弱势交通控制 - */ - tbCloudWeaknessTraffic.setOnCheckedChangeListener { _, isChecked -> - // 默认关闭 - HmiBuildConfig.isShowObuWeaknessTrafficView = isChecked - } - - /** - * 限速数据,优先使用obu,默认打开 - */ - tbRoadLimitSpeed.setOnCheckedChangeListener { _, isChecked -> - HmiBuildConfig.isShowObuLimitSpeedView = isChecked - } - /** * 实时加速度面板控制 */ @@ -1657,6 +1633,28 @@ internal class DebugSettingView @JvmOverloads constructor( tbIsDemoMode.text = "开启美化模式" } + //obu TODO 后面会添加很多os那边需要显示的内容 + obuVersionNameTv.text = Html.fromHtml( + "OBU版本号:${ + if (AppConfigInfo.isConnectObu) { + " 1.0" + } else { + "异常" + } + }" + ) + + obuConnectStatusTv.text = Html.fromHtml( + "OBU连接状态:${ + if (AppConfigInfo.isConnectObu) { + "正常" + } else { + "异常" + } + }" + ) + + } /** 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 cbfbab04bf..bc404b047d 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 @@ -6,13 +6,11 @@ import android.util.AttributeSet import android.view.LayoutInflater import android.widget.LinearLayout 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.function.main.AppListActivity -import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.eagle.core.utilcode.util.ActivityUtils import com.mogo.eagle.core.utilcode.util.AppUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler @@ -41,11 +39,8 @@ class VersionNameView @JvmOverloads constructor( } private fun initView(){ - //版本水印只在司机端展示 - if(AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)){ - showCurrentPadVersion() - showCurrentMapVersion() - } + showCurrentPadVersion() + showCurrentMapVersion() // 调试入口,应对M1、M2没有安装Launcher的情况 setOnLongClickListener { @@ -72,7 +67,7 @@ class VersionNameView @JvmOverloads constructor( UiThreadHandler.post { tvMapVersionName?.let { if (!dockerVersion.isNullOrEmpty()) { - it.text = " ; MAP:${dockerVersion}" + it.text = "MAP:${dockerVersion}" } } } @@ -80,18 +75,12 @@ class VersionNameView @JvmOverloads constructor( override fun onAttachedToWindow() { super.onAttachedToWindow() - //版本水印只在司机端展示 - if(AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)){ - CallerAutoPilotStatusListenerManager.addListener(TAG, this) - } + CallerAutoPilotStatusListenerManager.addListener(TAG, this) } override fun onDetachedFromWindow() { super.onDetachedFromWindow() - //版本水印只在司机端展示 - if(AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)){ - CallerAutoPilotStatusListenerManager.removeListener(TAG) - } + CallerAutoPilotStatusListenerManager.removeListener(TAG) } override fun onAutopilotStatusResponse(autoPilotStatusInfo: AutopilotStatusInfo) { diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml index d5507a2fbc..0f24149d1d 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml @@ -1078,64 +1078,47 @@ android:id="@+id/tvObuInfo" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_margin="@dimen/dp_10" + android:layout_margin="@dimen/dp_5" android:minLines="4" android:text="OBU配置信息" android:textColor="#000" android:textSize="@dimen/dp_24" app:layout_constraintTop_toBottomOf="@id/obuDivider" /> - - - - + - + - + + + + + - diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_version_name.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_version_name.xml index 30319d1e89..8109c27c76 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_version_name.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_version_name.xml @@ -2,7 +2,7 @@ + android:orientation="vertical"> \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/IdentifyOriginDataDrawer.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/IdentifyOriginDataDrawer.kt index 72052c3a59..ee7b05a06f 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/IdentifyOriginDataDrawer.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/IdentifyOriginDataDrawer.kt @@ -102,7 +102,6 @@ class IdentifyOriginDataDrawer : Identify { @SuppressLint("NewApi") private fun filterTrafficData(trafficData: List): HashMap { mFilterTrafficData.clear() - trafficDataUuidList.clear() for (data in trafficData) { // 过滤掉未知感知数据 if (TrackerSourceColorHelper.filterData(data)) { @@ -110,13 +109,12 @@ class IdentifyOriginDataDrawer : Identify { } var temp: TrackedObject = data val uuid = "" + data.uuid - //首次过来的数据不添加,首次未添加的感知物在调用完绘制方法后再塞入cache map val cacheData = mMarkersCaches[uuid] if (cacheData != null) { val color = TrackerSourceColorHelper.getDefaultColor(data) temp = data.toBuilder().setColor(color).build() - mFilterTrafficData[uuid] = temp } + mFilterTrafficData[uuid] = temp mMarkersCaches[uuid] = temp trafficDataUuidList.add(uuid) } diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/MapIdentifySubscriber.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/MapIdentifySubscriber.kt index fa308abe33..247ccf5524 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/MapIdentifySubscriber.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/MapIdentifySubscriber.kt @@ -94,21 +94,6 @@ class MapIdentifySubscriber private constructor() : IMoGoIdentifyListener, IMoGo } } - override fun updateTrackerFusionData(trackObject: TrackedObject?) { - super.updateTrackerFusionData(trackObject) - try { - if (FunctionBuildConfig.isObuWarningFusionUnion) { - ThreadUtils.getSinglePool().execute { - //todo emArrow - } - } else { - - } - } catch (e: Exception) { - e.printStackTrace() - } - } - override fun updateTrackerWarningInfo(trafficData: TrafficData) { super.updateTrackerWarningInfo(trafficData) try { diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/TrackManager.java b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/TrackManager.java index b4d2daa6c6..2e33808a9b 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/TrackManager.java +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/TrackManager.java @@ -2,7 +2,6 @@ package com.mogo.eagle.core.function.business.identify; import android.annotation.SuppressLint; import android.os.Build; -import android.util.Log; import androidx.annotation.RequiresApi; 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 3578eb3ce4..5c3d4a6c13 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 @@ -101,7 +101,7 @@ class SmallMapView @JvmOverloads constructor( fun drawablePolyline() { clearPolyline() if (mAMap != null) { - if (mCoordinatesLatLng.size > 2) { + if (mCoordinatesLatLng.size >= 2) { // 设置开始结束Marker位置 mStartMarker!!.position = mCoordinatesLatLng[0] mEndMarker!!.position = mCoordinatesLatLng[mCoordinatesLatLng.size - 1] 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 7470a9932c..ba19fa3bb6 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 @@ -71,6 +71,10 @@ class OverMapView @JvmOverloads constructor( private var resetDrawableMarginRight: Int = -1 private var resetDrawableMarginBottom: Int = -1 private var isClearArrived: Boolean = false + private var leftPadding: Int = 100 + private var topPadding: Int = 100 + private var rightPadding: Int = 100 + private var bottomPadding: Int = 100 private var mMapView: TextureMapView? = null private var mAMap: AMap? = null @@ -136,6 +140,10 @@ class OverMapView @JvmOverloads constructor( AutoSizeUtils.dp2px(context, 40f) ) isClearArrived = typedArray.getBoolean(R.styleable.OverMapView_isClearArrived, false) + leftPadding = typedArray.getInt(R.styleable.OverMapView_leftPadding, 100) + topPadding = typedArray.getInt(R.styleable.OverMapView_topPadding, 100) + rightPadding = typedArray.getInt(R.styleable.OverMapView_rightPadding, 100) + bottomPadding = typedArray.getInt(R.styleable.OverMapView_bottomPadding, 100) typedArray.recycle() initView(context) } catch (e: Exception) { @@ -559,10 +567,10 @@ class OverMapView @JvmOverloads constructor( mAMap!!.moveCamera( CameraUpdateFactory.newLatLngBoundsRect( boundsBuilder.build(), - 100, - 100, - 100, - 100 + AutoSizeUtils.dp2px(context, leftPadding.toFloat()), + AutoSizeUtils.dp2px(context, rightPadding.toFloat()), + AutoSizeUtils.dp2px(context, topPadding.toFloat()), + AutoSizeUtils.dp2px(context, bottomPadding.toFloat()) ) ) mAMap!!.moveCamera(CameraUpdateFactory.newCameraPosition(cameraPosition)) diff --git a/core/function-impl/mogo-core-function-map/src/main/res/values/attrs.xml b/core/function-impl/mogo-core-function-map/src/main/res/values/attrs.xml index 0d3349fc35..15a5585362 100644 --- a/core/function-impl/mogo-core-function-map/src/main/res/values/attrs.xml +++ b/core/function-impl/mogo-core-function-map/src/main/res/values/attrs.xml @@ -24,5 +24,10 @@ + + + + + \ No newline at end of file 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 0dbc69e28d..bc1472e815 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 @@ -20,6 +20,8 @@ import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_CLOUD_CONNECT_FAIL import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_CLOUD_CONNECT_LOST import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_CLOUD_CONNECT_SUCCESS +import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_CLOUD_PASSPORT_ERROR +import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_CLOUD_PASSPORT_TOKEN import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_CLOUD_RECONNECT import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_LINK_CLOUD import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_LINK_LOG_CONNECT_STATUS @@ -166,6 +168,15 @@ class HttpDnsStartUp : AndroidStartup() { // 初始化SDK,可以设置状态回调来监听 MoGoAiCloudClient.getInstance().init(context, clientConfig).addTokenCallbacks( object : IMoGoTokenCallback { + + @ChainLog( + linkChainLog = CHAIN_LINK_LOG_CONNECT_STATUS, + linkCode = CHAIN_LINK_CLOUD, + endpoint = PAD, + nodeAliasCode = CHAIN_ALIAS_CODE_CLOUD_PASSPORT_TOKEN, + paramIndexes = [0, 1], + clientPkFileName = "sn" + ) override fun onTokenGot(token: String, sn: String) { clientConfig.token = token // 由于存在token过期问题,在更新后会回调至此处,增加二次判定 @@ -181,6 +192,14 @@ class HttpDnsStartUp : AndroidStartup() { } } + @ChainLog( + linkChainLog = CHAIN_LINK_LOG_CONNECT_STATUS, + linkCode = CHAIN_LINK_CLOUD, + endpoint = PAD, + nodeAliasCode = CHAIN_ALIAS_CODE_CLOUD_PASSPORT_ERROR, + paramIndexes = [1], + clientPkFileName = "sn" + ) override fun onError(code: Int, msg: String) { CallerLogger.d( "$M_MAIN$TAG", @@ -335,4 +354,5 @@ class HttpDnsStartUp : AndroidStartup() { HttpDnsSimpleLocation("010", 1.0, 1.0) } } + } \ No newline at end of file diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt index 556522a191..16487b5bb0 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt @@ -96,7 +96,7 @@ object FunctionBuildConfig { */ @Volatile @JvmField - var isObuWarningFusionUnion = false + var isObuWarningFusionUnion = true /** * 当前APP的身份模式 diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/chain/ChainConstant.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/chain/ChainConstant.kt index cf1fd1655e..0d44eb84ee 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/chain/ChainConstant.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/chain/ChainConstant.kt @@ -60,6 +60,8 @@ class ChainConstant { const val CHAIN_ALIAS_CODE_APP_INFO_CONFIG_UPDATE = "CHAIN_ALIAS_CODE_APP_INFO_CONFIG_UPDATE" const val CHAIN_ALIAS_CODE_FUNC_CONFIG_CHANGED = "CHAIN_ALIAS_CODE_FUNC_CONFIG_CHANGED" + const val CHAIN_ALIAS_CODE_CLOUD_PASSPORT_TOKEN = "CHAIN_ALIAS_CODE_CLOUD_PASSPORT_TOKEN" + const val CHAIN_ALIAS_CODE_CLOUD_PASSPORT_ERROR = "CHAIN_ALIAS_CODE_CLOUD_PASSPORT_ERROR" const val CHAIN_ALIAS_CODE_CLOUD_CONNECT_FAIL = "CHAIN_ALIAS_CODE_CLOUD_CONNECT_FAIL" const val CHAIN_ALIAS_CODE_CLOUD_CONNECT_SUCCESS = "CHAIN_ALIAS_CODE_CLOUD_CONNECT_SUCCESS" const val CHAIN_ALIAS_CODE_CLOUD_RECONNECT = "CHAIN_ALIAS_CODE_CLOUD_RECONNECT" diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/obu/IMoGoObuStatusListener.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/obu/IMoGoObuStatusListener.kt index 72980475f5..8361926b37 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/obu/IMoGoObuStatusListener.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/obu/IMoGoObuStatusListener.kt @@ -1,7 +1,6 @@ package com.mogo.eagle.core.function.api.obu import com.mogo.eagle.core.data.traffic.TrafficData -import mogo.telematics.pad.MessagePad /** * @author xiaoyuzhou @@ -17,13 +16,6 @@ interface IMoGoObuStatusListener { } - /** - * obu Tracker data - */ - fun updateTrackerFusionData(trackObject: MessagePad.TrackedObject?){ - - } - /** * 更新obu Tracker 预警信息 */ diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/obu/CallerObuWarningListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/obu/CallerObuWarningListenerManager.kt index 0e94a35120..04b9defdea 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/obu/CallerObuWarningListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/obu/CallerObuWarningListenerManager.kt @@ -20,13 +20,6 @@ object CallerObuWarningListenerManager : CallerBase() { } } - fun invokeTrackerFusionData(trackObject: MessagePad.TrackedObject?){ - M_LISTENERS.forEach { - val listener = it.value - listener.updateTrackerFusionData(trackObject) - } - } - fun invokeTrackerWarningInfo(trafficData: TrafficData) { M_LISTENERS.forEach { val listener = it.value diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/voice/AIAssist.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/voice/AIAssist.java index 39ed751afa..534f80f4d6 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/voice/AIAssist.java +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/voice/AIAssist.java @@ -53,11 +53,24 @@ public class AIAssist { private AIAssist(Context context) { try { // 暂时换成反射,解决死锁问题 - // TODO:("支持切换思必驰和科大讯飞") - Class clazz = Class.forName("com.mogo.tts.pad.PadTTS"); -// Class clazz = Class.forName("com.mogo.tts.iflytek.IFlyTekTts"); - mTTS = (IMogoTTS) clazz.getConstructor().newInstance(); - mTTS.init(context); + Class clazz1 = null; + Class clazz2 = null; + try { + clazz1 = Class.forName("com.mogo.tts.pad.PadTTS"); + } catch (Exception ignored) {} + + try { + clazz2 = Class.forName("com.mogo.tts.iflytek.IFlyTekTts"); + } catch (Exception ignored) {} + + if (clazz1 != null) { + mTTS = (IMogoTTS) clazz1.getConstructor().newInstance(); + } else if (clazz2 != null) { + mTTS = (IMogoTTS) clazz2.getConstructor().newInstance(); + } + if (mTTS != null) { + mTTS.init(context); + } // mTTS = (IMogoTTS) ARouter.getInstance().build(MogoTTSConstants.API_PATH).navigation(context.getApplicationContext()); } catch (Exception e) { e.printStackTrace(); @@ -104,7 +117,7 @@ public class AIAssist { */ public void speakTTSVoice(String text) { if (mTTS != null) { - mTTS.speakTTSVoice(text); + mTTS.speakTTSVoiceWithLevel(text, LEVEL0); } } diff --git a/gradle.properties b/gradle.properties index 52696920a5..69a668cff5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -66,23 +66,23 @@ SERVICE_BIZ_VERSION=1.2.4 LOGLIB_VERSION=1.5.11 ######## MogoAiCloudSDK Version ######## # 网络请求LOGLIB_VERSION -MOGO_NETWORK_VERSION=1.4.4.8 +MOGO_NETWORK_VERSION=1.4.4.9 # 鉴权 -MOGO_PASSPORT_VERSION=1.4.4.8 +MOGO_PASSPORT_VERSION=1.4.4.9 # 常链接 -MOGO_SOCKET_VERSION=1.4.4.8 +MOGO_SOCKET_VERSION=1.4.4.9 # 数据采集 -MOGO_REALTIME_VERSION=1.4.4.8 +MOGO_REALTIME_VERSION=1.4.4.9 # 探路,道路事件发布,获取 -MOGO_TANLU_VERSION=1.4.4.8 +MOGO_TANLU_VERSION=1.4.4.9 # 直播推流 -MOGO_LIVE_VERSION=1.4.4.8 +MOGO_LIVE_VERSION=1.4.4.9 # 直播拉流 -MOGO_TRAFFICLIVE_VERSION=1.4.4.8 +MOGO_TRAFFICLIVE_VERSION=1.4.4.9 # 定位服务 -MOGO_LOCATION_VERSION=1.4.4.8 +MOGO_LOCATION_VERSION=1.4.4.9 # 远程通讯模块 -MOGO_TELEMATIC_VERSION=1.4.4.8 +MOGO_TELEMATIC_VERSION=1.4.4.9 ######## MogoAiCloudSDK Version ######## # 自研地图 MAP_SDK_VERSION=2.10.0.9 diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/AMapWrapper.java b/libraries/mogo-map/src/main/java/com/mogo/map/AMapWrapper.java index a517eca07a..bdb37aee1a 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/AMapWrapper.java +++ b/libraries/mogo-map/src/main/java/com/mogo/map/AMapWrapper.java @@ -3,7 +3,6 @@ package com.mogo.map; import android.annotation.SuppressLint; import android.content.Context; import android.graphics.Point; -import android.util.Log; import android.util.Pair; import com.mogo.eagle.core.data.config.FunctionBuildConfig; @@ -126,9 +125,6 @@ public class AMapWrapper implements IMogoMap { MarkerSimpleData markerOptions = ObjectUtils.fromTrafficData(trackedObject); if (markerOptions != null) { markerOptionsArrayList.add(markerOptions); - if(markerOptions.id == 65061){ - Log.i("emArrow","time :" + markerOptions.time + " , lat : " + markerOptions.lat + " , lon : " + markerOptions.lon); - } } }); long time = markerOptionsArrayList.get(0).getTime(); diff --git a/tts/tts-iflytek/src/main/java/com/mogo/tts/iflytek/IFlyTekTts.kt b/tts/tts-iflytek/src/main/java/com/mogo/tts/iflytek/IFlyTekTts.kt index 56f891b3c1..f0752af30c 100644 --- a/tts/tts-iflytek/src/main/java/com/mogo/tts/iflytek/IFlyTekTts.kt +++ b/tts/tts-iflytek/src/main/java/com/mogo/tts/iflytek/IFlyTekTts.kt @@ -86,9 +86,12 @@ class IFlyTekTts : IMogoTTS, InitListener { } override fun speakTTSVoiceWithLevel(tts: String?, level: Int) { + speakTTSVoiceWithLevel(tts, level, null) } override fun speakTTSVoiceWithLevel(tts: String?, level: Int, callBack: IMogoTTSCallback?) { + if (tts.isNullOrEmpty()) return + speakMultiLangTTSWithLevel(MultiLangTtsEntity(listOf(LangTtsEntity(tts, LanguageType.CHINESE))), level, callBack) } override fun speakMultiLangTTSWithLevel(