diff --git a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/PM2BaseFragment.kt b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/PM2BaseFragment.kt index d6107cd423..a90221bd15 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/PM2BaseFragment.kt +++ b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/PM2BaseFragment.kt @@ -28,21 +28,21 @@ class PM2BaseFragment : override fun initViews() { //横竖屏 - setScreenDirection() +// setScreenDirection() //隐藏小地图 initFragment() } - private fun setScreenDirection() { - var ro = Settings.System.getInt(context?.contentResolver, - Settings.System.USER_ROTATION,Surface.ROTATION_270) - if (ro != Surface.ROTATION_270){ - ro = Surface.ROTATION_270 - } - Settings.System.putInt(context?.contentResolver, - Settings.System.USER_ROTATION,ro) - } +// private fun setScreenDirection() { +// var ro = Settings.System.getInt(context?.contentResolver, +// Settings.System.USER_ROTATION,Surface.ROTATION_270) +// if (ro != Surface.ROTATION_270){ +// ro = Surface.ROTATION_270 +// } +// Settings.System.putInt(context?.contentResolver, +// Settings.System.USER_ROTATION,ro) +// } /** * 初始化行程信息,高静地图,宣传 三个fragment 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 393619a920..d3e4753941 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 @@ -105,7 +105,7 @@ class AdvancePagerAdapter(context: Context, viewPager: ViewPager) : PagerAdapter pause = false if (viewList.size > 0 && viewList[mViewPager.currentItem] is AdvanceVideoView) { val videoView = viewList[mViewPager.currentItem] as AdvanceVideoView - videoView.setRestart() + videoView.setResume() } } 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 78d562a7c9..d28037cc68 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 @@ -184,9 +184,9 @@ class AdvanceVideoView @JvmOverloads constructor( } } - fun setRestart() { + fun setResume() { if (videoViewPlayer !== null) { - videoViewPlayer?.startPlayLogic() + videoViewPlayer?.onVideoResume() } } 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 849ecb1e0f..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" + /> - @@ -171,13 +176,17 @@ app:layout_constraintLeft_toLeftOf="@+id/speed_tv" android:textColor="@color/m2_no_line_tv_color"/> - diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/AbnormalFactorsLoopManager.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/AbnormalFactorsLoopManager.kt index 9724ef2eee..3ac45bea20 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/AbnormalFactorsLoopManager.kt +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/AbnormalFactorsLoopManager.kt @@ -2,7 +2,6 @@ package com.mogo.och.common.module.manager import android.Manifest import android.content.Context -import com.mogo.commons.debug.DebugConfig import com.mogo.commons.module.status.IMogoStatusChangedListener import com.mogo.commons.module.status.MogoStatusManager import com.mogo.commons.module.status.StatusDescriptor @@ -17,6 +16,7 @@ import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.disposables.Disposable import io.reactivex.schedulers.Schedulers import java.util.concurrent.TimeUnit +import kotlin.properties.Delegates /** * @author: wangmingjun @@ -26,26 +26,40 @@ object AbnormalFactorsLoopManager : IMogoStatusChangedListener { const val TAG = "AbnormalFactorsLoopManager" - private const val LOOP_TIME = 10 *1000L + private const val LOOP_TIME = 10 * 1000L private const val LOOP_DELAY = 5 * 1000L - private var socketStatus: Boolean = false + private var socketStatus by Delegates.observable(false) { _, _, newValue -> + 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/build.gradle b/app/build.gradle index a96699d62f..fa7610ae23 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -474,22 +474,24 @@ Object readFileToJson(env){ return null } + def variantName() { if(gradle.startParameter.taskNames.size()>0) { - def taskName = gradle.startParameter.taskNames[0] - taskName = taskName.replace("Debug","") - taskName = taskName.replace("Release","") - if (taskName.endsWith("Qa")) { - return "qa" - } else if (taskName.endsWith("Online")) { - return "online" - } else if (taskName.endsWith("Demo")) { - return "demo" - } else { - return "qa" + for (String taskName : gradle.startParameter.taskNames) { + if (taskName.startsWith("assemble")) { + taskName = taskName.replace("Debug","") + taskName = taskName.replace("Release","") + if (taskName.endsWith("Qa")) { + return "qa" + } else if (taskName.endsWith("Online")) { + return "online" + } else if (taskName.endsWith("Demo")) { + return "demo" + } + } } - }else { - return "qa" } + return "qa" + } diff --git a/app/productFlavors/fOchBus.gradle b/app/productFlavors/fOchBus.gradle index f96331027e..2128701cb6 100644 --- a/app/productFlavors/fOchBus.gradle +++ b/app/productFlavors/fOchBus.gradle @@ -50,6 +50,6 @@ project.android.productFlavors { buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false' //Bus不能启动自驾的档位 - buildConfigField 'java.util.Set', 'UNABLE_LAUNCH_AUTOPILOT_GEAR_BUS', 'new java.util.HashSet(){{add(chassis.Chassis.GearPosition.GEAR_N);add(chassis.Chassis.GearPosition.GEAR_R);}}' + 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/app/productFlavors/fOchBusPassenger.gradle b/app/productFlavors/fOchBusPassenger.gradle index 962f544f6e..0255f8615d 100644 --- a/app/productFlavors/fOchBusPassenger.gradle +++ b/app/productFlavors/fOchBusPassenger.gradle @@ -46,6 +46,6 @@ project.android.productFlavors { buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false' //Bus不能启动自驾的档位 - buildConfigField 'java.util.Set', 'UNABLE_LAUNCH_AUTOPILOT_GEAR_BUS', 'new java.util.HashSet(){{add(chassis.Chassis.GearPosition.GEAR_N);add(chassis.Chassis.GearPosition.GEAR_R);}}' + 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/app/productFlavors/fOchShuttle.gradle b/app/productFlavors/fOchShuttle.gradle index c359ba42a1..b3290c6685 100644 --- a/app/productFlavors/fOchShuttle.gradle +++ b/app/productFlavors/fOchShuttle.gradle @@ -48,6 +48,6 @@ project.android.productFlavors { buildConfigField 'boolean', 'IS_MULTI_DISPLAY', 'false' //Bus不能启动自驾的档位 - buildConfigField 'java.util.Set', 'UNABLE_LAUNCH_AUTOPILOT_GEAR_BUS', 'new java.util.HashSet(){{add(chassis.Chassis.GearPosition.GEAR_N);add(chassis.Chassis.GearPosition.GEAR_R);}}' + 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/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/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/MainActivity.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/MainActivity.java index 45b6b6c46d..6e2cd0d297 100644 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/MainActivity.java +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/MainActivity.java @@ -1129,6 +1129,7 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas } }, "1234567");*/ } + options.setUnableLaunchAutopilotGear(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_TAXI); AdasManager.getInstance().create(options, this); AdasManager.getInstance().setOnAdasListener(this); /*两端数据转发 注释掉 diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/VersionFragment.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/VersionFragment.java index 733e70d9ae..6bbb4b3825 100644 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/VersionFragment.java +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/VersionFragment.java @@ -13,6 +13,8 @@ import android.widget.Button; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.EditText; +import android.widget.RadioButton; +import android.widget.RadioGroup; import android.widget.Spinner; import android.widget.TextView; import android.widget.Toast; @@ -41,6 +43,7 @@ import com.zhidao.support.adas.high.common.autopilot.ability.AutopilotAbilityMan import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Arrays; import java.util.Date; import java.util.HashSet; import java.util.List; @@ -64,11 +67,16 @@ public class VersionFragment extends BaseFragment { private CheckBox unregistered_check_all; private TextView hint_registered; private TextView hint_unregistered; + private TextView can; + private TextView gear_influence; + private TextView gear; + private TextView title_gear; + private RadioButton rb_taxi; + private RadioGroup rg; private ConfigAdapter adapter; private InterfaceAdapter unregisteredAdapter; private InterfaceAdapter registeredAdapter; - private Set[] unableGears; private int role = Constants.TERMINAL_ROLE.DEBUG;//角色 默认调试屏 @@ -134,6 +142,12 @@ public class VersionFragment extends BaseFragment { Button btn2 = view.findViewById(R.id.btn2); ipsView = view.findViewById(R.id.ips_view); recyclerView = view.findViewById(R.id.config_list); + rb_taxi = view.findViewById(R.id.rb_taxi); + can = view.findViewById(R.id.can); + gear_influence = view.findViewById(R.id.gear_influence); + gear = view.findViewById(R.id.gear); + title_gear = view.findViewById(R.id.title_gear); + rg = view.findViewById(R.id.rg); initFragmentRecyclerView(); CupidLogUtils.w("InfoFragment===>" + title); tvTitle.setText(title); @@ -176,7 +190,36 @@ public class VersionFragment extends BaseFragment { view.findViewById(R.id.line1).setVisibility(View.GONE); tvTitle.setText("版本"); } + rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(RadioGroup group, int checkedId) { + if (checkedId == R.id.rb_taxi) { + AutopilotAbilityManager.getInstance().setUnableLaunchAutopilotGear(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_TAXI); + gear("TAXI", Arrays.toString(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_TAXI.toArray())); + } else if (checkedId == R.id.rb_bus) { + AutopilotAbilityManager.getInstance().setUnableLaunchAutopilotGear(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_BUS); + gear("BUS", Arrays.toString(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_BUS.toArray())); + } else if (checkedId == R.id.rb_sweeper) { + AutopilotAbilityManager.getInstance().setUnableLaunchAutopilotGear(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_SWEEPER); + gear("SWEEPER", Arrays.toString(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_SWEEPER.toArray())); + } else if (checkedId == R.id.rb_m1) { + AutopilotAbilityManager.getInstance().setUnableLaunchAutopilotGear(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_M1); + gear("M1", "无限制"); + } else if (checkedId == R.id.rb_m2) { + AutopilotAbilityManager.getInstance().setUnableLaunchAutopilotGear(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_M2); + gear("M1", Arrays.toString(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_M2.toArray())); + } else if (checkedId == R.id.rb_van) { + AutopilotAbilityManager.getInstance().setUnableLaunchAutopilotGear(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_VAN); + gear("VAN", "无限制"); + } + } + }); + gear("TAXI", Arrays.toString(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_TAXI.toArray())); + } + private void gear(String car, String gear) { + title_gear.setText(car + "不能启动自动驾驶的档位:"); + this.gear.setText(gear); } //根据连接状态更新数据 @@ -218,59 +261,37 @@ public class VersionFragment extends BaseFragment { list.add(new Config("ADAS LIB版本:", AdasManager.getInstance().getAdasVersion())); list.add(new Config("APP构建时间:", BuildConfig.BUILD_TIME)); - list.add(getAutopilotAbilityConfig("")); - list.add(gear()); adapter.setData(list); } - private Config gear() { + private String gear() { StringBuilder builder = new StringBuilder(); Chassis.GearPosition gear = App.INSTANCE.gear; if (gear != null) { - if (unableGears == null) { - unableGears = new Set[6]; - unableGears[0] = BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_BUS; - unableGears[1] = BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_M1; - unableGears[2] = BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_M2; - unableGears[3] = BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_SWEEPER; - unableGears[4] = BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_TAXI; - unableGears[5] = BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_VAN; - } - for (int j = 0; j < unableGears.length; j++) { - String type = ""; - if (j == 0) { - type = "BUS"; - } else if (j == 1) { - type = "M1"; - } else if (j == 2) { - type = "M2"; - } else if (j == 3) { - type = "SWEEPER"; - } else if (j == 4) { - type = "TAXI"; - } else if (j == 5) { - type = "VAN"; - } - AutopilotAbilityManager.getInstance().setUnableLaunchAutopilotGear(unableGears[j]); - boolean b = AutopilotAbilityManager.getInstance().isLaunchAutopilot(gear); - builder.append("车型:").append(type); - builder.append(" 当前档位:").append(gear.name()); - builder.append(" 是否可以启动自驾:").append(b).append('\n'); - } + boolean b = AutopilotAbilityManager.getInstance().isLaunchAutopilot(gear); + builder.append(" 当前档位:").append(gear.name()); + builder.append(" 是否可以启动自驾:").append(b); } - return new Config("档位影响:", builder.toString()); + return builder.toString(); } - private Config getAutopilotAbilityConfig(String value) { - return new Config("能否启动自动驾驶:", value); + private String getAutopilotAbilityConfig(String value) { + return value; } public void autopilotAbility(boolean isAutopilotAbility, String unableAutopilotReason) { - List list = adapter.getData(); - if (list != null) { - updateRefreshConfig(list, getAutopilotAbilityConfig(isAutopilotAbility + ",原因:" + unableAutopilotReason)); - updateRefreshConfig(list, gear()); - } + if (getActivity() != null) + getActivity().runOnUiThread(new Runnable() { + @Override + public void run() { + can.setTextColor(getResources().getColor(RandomColor.randomColor())); + can.setText(getAutopilotAbilityConfig(isAutopilotAbility + ",原因:" + unableAutopilotReason)); + gear_influence.setTextColor(getResources().getColor(RandomColor.randomColor())); + gear_influence.setText(gear()); + } + }); + + } private void updateRefreshConfig(List list, Config temp) { diff --git a/app_ipc_monitoring/src/main/res/layout/fragment_version.xml b/app_ipc_monitoring/src/main/res/layout/fragment_version.xml index 0b6016f93b..2f68eb3f7d 100644 --- a/app_ipc_monitoring/src/main/res/layout/fragment_version.xml +++ b/app_ipc_monitoring/src/main/res/layout/fragment_version.xml @@ -33,12 +33,155 @@ android:layout_margin="20dp" android:orientation="horizontal"> - - + android:layout_weight="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + = 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/autopilot/CallerChassisLocationGCJ02ListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationGCJ02ListenerManager.kt index 0c20a62a84..f567eb2b19 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 @@ -1,5 +1,6 @@ package com.mogo.eagle.core.function.call.autopilot +import com.mogo.commons.debug.DebugConfig 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 @@ -99,7 +100,13 @@ object CallerChassisLocationGCJ02ListenerManager : 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 e8b6b7921c..f514503336 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-adas/src/main/java/com/zhidao/support/adas/high/common/autopilot/ability/AutopilotAbilityManager.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/autopilot/ability/AutopilotAbilityManager.java index 429e08162f..5ba1d3d65b 100644 --- a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/autopilot/ability/AutopilotAbilityManager.java +++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/autopilot/ability/AutopilotAbilityManager.java @@ -3,7 +3,6 @@ package com.zhidao.support.adas.high.common.autopilot.ability; import android.os.Handler; import android.os.Message; import android.text.TextUtils; -import android.util.Log; import com.zhidao.support.adas.high.AdasManager; import com.zhidao.support.adas.high.OnAdasListener; @@ -88,7 +87,7 @@ public class AutopilotAbilityManager { if (version != -1) { stopTimer(); dockerVersion = version; - Log.i("dddd", "工控机版本=" + dockerVersion); + CupidLogUtils.i(TAG, "工控机版本=" + dockerVersion); initAutopilotAbility(); } } 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(