From 7f38537912e93f33b78ac94d2bbcd4a2b4468c7e Mon Sep 17 00:00:00 2001 From: xinfengkun Date: Tue, 1 Nov 2022 16:26:42 +0800 Subject: [PATCH 1/9] =?UTF-8?q?[change]=20=E8=B0=83=E8=AF=95=E7=A8=8B?= =?UTF-8?q?=E5=BA=8Fbug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/zhidao/adas/client/ui/MainActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 5d5984277a..fb15c5051a 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 @@ -403,7 +403,7 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas //初始化fragment manager = getSupportFragmentManager(); - + cb_print.setChecked(CupidLogUtils.isEnableLog()); cb_print.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { From 773e8e57a62a5245778a045edd3f8477e492950f Mon Sep 17 00:00:00 2001 From: xinfengkun Date: Mon, 7 Nov 2022 14:56:52 +0800 Subject: [PATCH 2/9] =?UTF-8?q?[change]=20=E6=B7=BB=E5=8A=A0=E5=90=AF?= =?UTF-8?q?=E5=8A=A8=E8=87=AA=E5=8A=A8=E9=A9=BE=E9=A9=B6=E5=A4=B1=E8=B4=A5?= =?UTF-8?q?=E5=9B=9E=E8=B0=83=EF=BC=8C=E4=BB=A5=E5=8F=8A=E5=90=AF=E5=8A=A8?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E9=A9=BE=E9=A9=B6=E7=BB=9F=E8=AE=A1=E5=9B=9E?= =?UTF-8?q?=E8=B0=83=EF=BC=8C=E5=90=AF=E5=8A=A8=E8=87=AA=E5=8A=A8=E9=A9=BE?= =?UTF-8?q?=E9=A9=B6=E7=BB=9F=E8=AE=A1=E5=9B=9E=E8=B0=83=E6=B3=A8=E5=86=8C?= =?UTF-8?q?=E5=BD=A2=E5=BC=8F=E5=88=86=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adas/client/ui/AutoPilotModeDialog.java | 8 ++ .../zhidao/adas/client/ui/MainActivity.java | 14 ++- .../main/res/layout/dialog_autopilot_mode.xml | 15 ++- .../zhidao/adas/magic/ui/MainActivity.java | 11 ++ .../autopilot/adapter/MoGoAdasListenerImpl.kt | 37 +++++- .../IMoGoStartAutopilotFailedListener.kt | 18 +++ ...llerStartAutopilotFailedListenerManager.kt | 63 ++++++++++ .../zhidao/support/adas/high/AdasChannel.java | 22 +++- .../support/adas/high/OnAdasListener.java | 35 ++++-- .../adas/high/bean/AutopilotStatistics.java | 46 +++++++ .../adas/high/common/AutopilotReview.java | 117 ++++++++++++++++++ .../support/adas/high/common/Constants.java | 22 ++++ .../support/adas/high/common/Define.java | 8 ++ .../support/adas/high/common/MogoReport.java | 28 ++--- .../adas/high/msg/AutopilotStateMessage.java | 9 ++ .../adas/high/msg/MyMessageFactory.java | 10 +- .../support/adas/high/msg/ReportMessage.java | 23 +++- 17 files changed, 455 insertions(+), 31 deletions(-) create mode 100644 core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoStartAutopilotFailedListener.kt create mode 100644 core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerStartAutopilotFailedListenerManager.kt create mode 100644 libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/bean/AutopilotStatistics.java create mode 100644 libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/AutopilotReview.java diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/AutoPilotModeDialog.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/AutoPilotModeDialog.java index 3ebdd3292f..74e5eb6eaa 100644 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/AutoPilotModeDialog.java +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/AutoPilotModeDialog.java @@ -129,6 +129,14 @@ public class AutoPilotModeDialog extends Dialog { getContext().startActivity(new Intent(getContext(), AutopilotConfigActivity.class)); } }); + findViewById(R.id.cancel).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + MessagePad.RouteInfo.Builder builder = MessagePad.RouteInfo.newBuilder(); + AdasManager.getInstance().sendAutoPilotModeReq(0, 0, builder.build()); + AutoPilotModeDialog.this.dismiss(); + } + }); } 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 fb15c5051a..dc83ac33f2 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 @@ -42,6 +42,7 @@ import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.SimpleItemAnimator; +import com.google.protobuf.TextFormat; import com.mogo.telematic.MogoProtocolMsg; import com.mogo.telematic.NSDNettyManager; import com.mogo.telematic.client.listener.NettyClientListener; @@ -85,6 +86,7 @@ import com.zhidao.support.adas.high.OnAdasConnectStatusListener; import com.zhidao.support.adas.high.OnAdasListener; import com.zhidao.support.adas.high.OnMultiDeviceListener; import com.zhidao.support.adas.high.bean.AutopilotAbility; +import com.zhidao.support.adas.high.bean.AutopilotStatistics; import com.zhidao.support.adas.high.bean.VersionCompatibility; import com.zhidao.support.adas.high.common.ByteUtil; import com.zhidao.support.adas.high.common.Constants.IPC_CONNECTION_STATUS; @@ -839,13 +841,23 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas for (SystemStatusInfo.HealthInfo healthInfo : ability.statusInfo.getHealthInfoList()) { if (healthInfo.getState() == SystemStatusInfo.HealthState.FAULT) { isAutopilotAbility = false; - autopilotAbilityReason = healthInfo.getName() + " Topic异常"; + autopilotAbilityReason = healthInfo.getName() + " 节点异常"; break; } } Log.i(TAG, "是否可以启动自动驾驶=" + isAutopilotAbility + " 原因=" + autopilotAbilityReason); } + @Override + public void onStartAutopilotFailed(MogoReportMsg.MogoReportMessage message) { + + } + + @Override + public void onAutopilotStatistics(AutopilotStatistics statistics) { + Log.i(TAG, "启动自动驾驶状态=" + statistics.status + " 用时=" + statistics.usedTime + " SetAutopilotModeReq=" + TextFormat.printer().escapingNonAscii(false).printToString(statistics.req) + " failedMessage=" + (statistics.failedMessage == null ? null : TextFormat.printer().escapingNonAscii(false).printToString(statistics.failedMessage))); + } + @Override public void onTrajectory(MessagePad.Header header, MessagePad.Trajectory trajectory) { Trajectory base = new Trajectory(header, trajectory, sdf); diff --git a/app_ipc_monitoring/src/main/res/layout/dialog_autopilot_mode.xml b/app_ipc_monitoring/src/main/res/layout/dialog_autopilot_mode.xml index f1829fc2dc..554e402df0 100644 --- a/app_ipc_monitoring/src/main/res/layout/dialog_autopilot_mode.xml +++ b/app_ipc_monitoring/src/main/res/layout/dialog_autopilot_mode.xml @@ -4,7 +4,20 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/bg_adas_dialog"> - + = + ConcurrentHashMap() + + /** + * 添加监听 + * @param tag 标记,用来注销监听使用 + * @param listener 监听回调 + */ + fun addListener( + @Nullable tag: String, + @Nullable listener: IMoGoStartAutopilotFailedListener + ) { + if (M_START_AUTOPILOT_FAILED_LISTENER.containsKey(tag)) { + return + } + M_START_AUTOPILOT_FAILED_LISTENER[tag] = listener + } + + /** + * 删除监听 + * @param tag 标记,用来注销监听使用 + */ + fun removeListener(@Nullable tag: String) { + if (!M_START_AUTOPILOT_FAILED_LISTENER.containsKey(tag)) { + return + } + M_START_AUTOPILOT_FAILED_LISTENER.remove(tag) + } + + /** + * 删除监听 + * @param listener 要删除的监听对象 + */ + fun removeListener(@Nullable listener: IMoGoStartAutopilotFailedListener) { + M_START_AUTOPILOT_FAILED_LISTENER.forEach { + if (it.value == listener) { + M_START_AUTOPILOT_FAILED_LISTENER.remove(it.key) + } + } + } + + @Synchronized + fun invokeStartAutopilotFailed(message: MogoReportMsg.MogoReportMessage?) { + M_START_AUTOPILOT_FAILED_LISTENER.forEach { + val listener = it.value + listener.onStartAutopilotFailed(message) + } + } +} \ No newline at end of file diff --git a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasChannel.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasChannel.java index e30c0fa60a..9eaad29ddb 100644 --- a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasChannel.java +++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasChannel.java @@ -19,8 +19,10 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import com.google.protobuf.InvalidProtocolBufferException; +import com.zhidao.support.adas.high.bean.AutopilotStatistics; import com.zhidao.support.adas.high.bean.VersionCompatibility; import com.zhidao.support.adas.high.common.AutopilotAbilityManager; +import com.zhidao.support.adas.high.common.AutopilotReview; import com.zhidao.support.adas.high.common.ByteUtil; import com.zhidao.support.adas.high.common.Constants; import com.zhidao.support.adas.high.common.CupidLogUtils; @@ -92,6 +94,10 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec * 消息工厂 */ private MyMessageFactory myMessageFactory; + /** + * 自动驾驶统计 + */ + private AutopilotReview autopilotReview; /** * 工控机连接配置 */ @@ -164,13 +170,26 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec //原始数据解析类 rawUnpack = new RawUnpack(); rawPack = new RawPack(); + autopilotReview = new AutopilotReview(onAutopilotReviewListener); //消息工厂 - myMessageFactory = new MyMessageFactory(); + myMessageFactory = new MyMessageFactory(autopilotReview); //启用线程分发 defaultDispatchHandler = new DispatchHandler(MessagePad.MessageType.MsgTypeDefault, this);//默认分发线程 不要添加到Map中 initOtherDispatchHandler(); } + /** + * 启动自动驾驶状态统计回调 + */ + private final AutopilotReview.OnAutopilotReviewListener onAutopilotReviewListener = new AutopilotReview.OnAutopilotReviewListener() { + @Override + public void onReview(AutopilotStatistics statistics) { + if (mAdasListener != null) { + mAdasListener.onAutopilotStatistics(statistics); + } + } + }; + /** * 初始化其他分发线程 */ @@ -757,6 +776,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec if (routeInfo != null) builder.setRouteInfo(routeInfo); MessagePad.SetAutopilotModeReq req = builder.build(); + if (autopilotReview != null) autopilotReview.onAutopilotCommandTrigger(req); return sendPBMessage(MessageType.TYPE_SEND_SET_AUTOPILOT_MODE_REQ.typeCode, req.toByteArray()); } diff --git a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/OnAdasListener.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/OnAdasListener.java index 6f9d7f09ba..649cbf48d7 100644 --- a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/OnAdasListener.java +++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/OnAdasListener.java @@ -1,6 +1,7 @@ package com.zhidao.support.adas.high; import com.zhidao.support.adas.high.bean.AutopilotAbility; +import com.zhidao.support.adas.high.bean.AutopilotStatistics; import com.zhidao.support.adas.high.common.ProtocolStatus; import chassis.VehicleStateOuterClass; @@ -179,13 +180,6 @@ public interface OnAdasListener { */ void onPlanningActionMsg(MessagePad.Header header, MessagePad.PlanningActionMsg planningActionMsg); - /** - * 数据错误 - * - * @param status 错误原因 - * @param bytes 原始数据 - */ - void onError(ProtocolStatus status, byte[] bytes); /** * 是否有能力启动自动驾驶 @@ -193,4 +187,31 @@ public interface OnAdasListener { * @param ability 是否可以启动自动驾驶 */ void onAutopilotAbility(AutopilotAbility ability); + + /** + * 启动自动驾驶失败回调 + * 根据MAP 系统监控状态返回过滤 + * message.getMsg() 获取详细错误说明 + * message.getCode() 可用于判断属于什么类型 + * + * @param message 数据 + */ + void onStartAutopilotFailed(MogoReportMsg.MogoReportMessage message); + + /** + * 启动自动驾驶状态统计 + * 触发机制:下发启动自动驾驶命令,根据MAP返回状态判断成功或失败 + * 统计四种状态:成功 失败 取消 超时 + * + * @param statistics 统计数据 + */ + void onAutopilotStatistics(AutopilotStatistics statistics); + + /** + * 数据错误 + * + * @param status 错误原因 + * @param bytes 原始数据 + */ + void onError(ProtocolStatus status, byte[] bytes); } diff --git a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/bean/AutopilotStatistics.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/bean/AutopilotStatistics.java new file mode 100644 index 0000000000..c6acda417b --- /dev/null +++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/bean/AutopilotStatistics.java @@ -0,0 +1,46 @@ +package com.zhidao.support.adas.high.bean; + +import com.zhidao.support.adas.high.common.Define; + +import mogo.telematics.pad.MessagePad; +import mogo_msg.MogoReportMsg; + +/** + * 自动驾驶启动统计 + */ +public class AutopilotStatistics { + + /** + * 启动自动驾驶后状态 + * 0 成功 + * 1 失败 + * 2 取消 + * 3 超时 + * {@link com.zhidao.support.adas.high.common.Constants.AUTOPILOT_START_STATUS} + */ + @Define.AutopilotStartStatus + public final int status; + + /** + * 用时 + * 单位:ms + */ + public final long usedTime; + + /** + * 下发的启动自动驾驶命令 + */ + public final MessagePad.SetAutopilotModeReq req; + + /** + * 失败的消息 + */ + public final MogoReportMsg.MogoReportMessage failedMessage; + + public AutopilotStatistics(@Define.AutopilotStartStatus int status, long usedTime, MessagePad.SetAutopilotModeReq req, MogoReportMsg.MogoReportMessage failedMessage) { + this.status = status; + this.usedTime = usedTime; + this.req = req; + this.failedMessage = failedMessage; + } +} diff --git a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/AutopilotReview.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/AutopilotReview.java new file mode 100644 index 0000000000..3449c5ae8f --- /dev/null +++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/AutopilotReview.java @@ -0,0 +1,117 @@ +package com.zhidao.support.adas.high.common; + +import android.os.SystemClock; + +import androidx.annotation.NonNull; + +import com.zhidao.support.adas.high.bean.AutopilotStatistics; + +import java.util.Timer; +import java.util.TimerTask; + +import mogo.telematics.pad.MessagePad; +import mogo_msg.MogoReportMsg; + +/** + * 自动驾驶状态检查/统计 + */ +public class AutopilotReview { + /** + * 默认启动自驾超时时间 + */ + private static final long DEFAULT_TIMEOUT = 30 * 1000L; + + + private Timer timer; + /** + * 下发的启动自动驾驶命令 + */ + public MessagePad.SetAutopilotModeReq startReq; + private long startTime;//自动驾驶命令下发启动时间 + + /** + * 失败的消息 + */ + public MogoReportMsg.MogoReportMessage failedMessage; + + private final OnAutopilotReviewListener listener; + + public AutopilotReview(@NonNull OnAutopilotReviewListener listener) { + this.listener = listener; + } + + public interface OnAutopilotReviewListener { + void onReview(AutopilotStatistics statistics); + } + + private void onCallback(@Define.AutopilotStartStatus int status) { + stopTimer(); + long usedTime = SystemClock.elapsedRealtime() - startTime; + if (listener != null) { + listener.onReview(new AutopilotStatistics(status, usedTime, startReq, failedMessage)); + } + startTime = 0; + startReq = null; + failedMessage = null; + } + + + private void startTimer() { + if (timer == null) { + timer = new Timer(); + timer.schedule(new TimerTask() { + @Override + public void run() { + //超时 + onCallback(Constants.AUTOPILOT_START_STATUS.TIMEOUT); + } + }, DEFAULT_TIMEOUT); + } + } + + private void stopTimer() { + if (timer != null) { + timer.cancel(); + timer = null; + } + } + + /** + * 自动驾命令 + * + * @param req 启动或停止 + */ + public void onAutopilotCommandTrigger(MessagePad.SetAutopilotModeReq req) { + if (req.getMode() == 1) { + //启动自动驾驶 + startReq = req; + startTime = SystemClock.elapsedRealtime(); + startTimer(); + } else { + onCallback(Constants.AUTOPILOT_START_STATUS.CANCEL); + } + } + + /** + * 监控报告状态 目前只用于自动驾驶失败结果 + * + * @param message + */ + public void onReportResult(MogoReportMsg.MogoReportMessage message) { + if (startReq != null && message != null) { + failedMessage = message; + onCallback(Constants.AUTOPILOT_START_STATUS.FAILED); + } + } + + /** + * 自动驾驶状态 目前只用于自动驾驶成功结果 + * + * @param state + */ + public void onAutopilotResult(MessagePad.AutopilotState state) { + if (startReq != null && state != null && state.getState() == 2) { + onCallback(Constants.AUTOPILOT_START_STATUS.SUCCESSFUL); + } + } +} diff --git a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/Constants.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/Constants.java index e251ac7ec4..55b42ed75a 100644 --- a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/Constants.java +++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/Constants.java @@ -110,4 +110,26 @@ public class Constants { } + /** + * 启动自动驾驶后的状态 + */ + public interface AUTOPILOT_START_STATUS { + /** + * 成功 + */ + int SUCCESSFUL = 0; + /** + * 失败 + */ + int FAILED = 1; + /** + * 取消 + */ + int CANCEL = 2; + /** + * 超时 + */ + int TIMEOUT = 3; + } + } diff --git a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/Define.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/Define.java index a3d4bbc2ff..4ea9eec593 100644 --- a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/Define.java +++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/Define.java @@ -46,4 +46,12 @@ public final class Define { @Retention(RetentionPolicy.SOURCE) public @interface SubscribeType { } + + @IntDef(flag = true, value = {Constants.AUTOPILOT_START_STATUS.SUCCESSFUL, + Constants.AUTOPILOT_START_STATUS.FAILED, + Constants.AUTOPILOT_START_STATUS.CANCEL, + Constants.AUTOPILOT_START_STATUS.TIMEOUT}) + @Retention(RetentionPolicy.SOURCE) + public @interface AutopilotStartStatus { + } } diff --git a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/MogoReport.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/MogoReport.java index d518abcd07..4e5ade9c83 100644 --- a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/MogoReport.java +++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/MogoReport.java @@ -5,12 +5,12 @@ package com.zhidao.support.adas.high.common; * 根据290消息定义编写 */ public class MogoReport { - private static final String RESULT_AUTOPILOT_SYSTEM_UNSTARTED = "RESULT_AUTOPILOT_SYSTEM_UNSTARTED"; - private static final String RESULT_AUTOPILOT_DISABLE = "RESULT_AUTOPILOT_DISABLE"; - private static final String RESULT_AUTOPILOT_INFERIOR = "RESULT_AUTOPILOT_INFERIOR"; - private static final String RESULT_REMOTEPILOT_DISABLE = "RESULT_REMOTEPILOT_DISABLE"; - private static final String RESULT_REMOTEPILOT_INFERIOR = "RESULT_REMOTEPILOT_INFERIOR"; - private static final String RESULT_SHOW_WARNING = "RESULT_SHOW_WARNING"; + public static final String RESULT_AUTOPILOT_SYSTEM_UNSTARTED = "RESULT_AUTOPILOT_SYSTEM_UNSTARTED"; + public static final String RESULT_AUTOPILOT_DISABLE = "RESULT_AUTOPILOT_DISABLE"; + public static final String RESULT_AUTOPILOT_INFERIOR = "RESULT_AUTOPILOT_INFERIOR"; + public static final String RESULT_REMOTEPILOT_DISABLE = "RESULT_REMOTEPILOT_DISABLE"; + public static final String RESULT_REMOTEPILOT_INFERIOR = "RESULT_REMOTEPILOT_INFERIOR"; + public static final String RESULT_SHOW_WARNING = "RESULT_SHOW_WARNING"; // private static final String RESULT_DISCONNECTED_WITH_PAD = "RESULT_DISCONNECTED_WITH_PAD"; // private static final String RESULT_PAD_CANNOT_CONNECT_TELEMATICS = "RESULT_PAD_CANNOT_CONNECT_TELEMATICS"; @@ -96,14 +96,14 @@ public class MogoReport { } - private static final String ACTION_CONTACT_TECH_SUPPORT = "ACTION_CONTACT_TECH_SUPPORT"; - private static final String ACTION_CONTACT_MAINTENANCE = "ACTION_CONTACT_MAINTENANCE"; - private static final String ACTION_CONTACT_HARDWARE_ENGINEER = "ACTION_CONTACT_HARDWARE_ENGINEER"; - private static final String ACTION_REBOOT_PAD = "ACTION_REBOOT_PAD"; - private static final String ACTION_REBOOT_VEHICLE = "ACTION_REBOOT_VEHICLE"; - private static final String ACTION_CHECK_GEAR = "ACTION_CHECK_GEAR"; - private static final String ACTION_CHECK_NETWORK = "ACTION_CHECK_NETWORK"; - private static final String ACTION_TRY_AGAIN_LATER = "ACTION_TRY_AGAIN_LATER"; + public static final String ACTION_CONTACT_TECH_SUPPORT = "ACTION_CONTACT_TECH_SUPPORT"; + public static final String ACTION_CONTACT_MAINTENANCE = "ACTION_CONTACT_MAINTENANCE"; + public static final String ACTION_CONTACT_HARDWARE_ENGINEER = "ACTION_CONTACT_HARDWARE_ENGINEER"; + public static final String ACTION_REBOOT_PAD = "ACTION_REBOOT_PAD"; + public static final String ACTION_REBOOT_VEHICLE = "ACTION_REBOOT_VEHICLE"; + public static final String ACTION_CHECK_GEAR = "ACTION_CHECK_GEAR"; + public static final String ACTION_CHECK_NETWORK = "ACTION_CHECK_NETWORK"; + public static final String ACTION_TRY_AGAIN_LATER = "ACTION_TRY_AGAIN_LATER"; public enum Action { diff --git a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/msg/AutopilotStateMessage.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/msg/AutopilotStateMessage.java index 7a2b13a28c..e35bbb8071 100644 --- a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/msg/AutopilotStateMessage.java +++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/msg/AutopilotStateMessage.java @@ -5,6 +5,7 @@ import android.os.SystemClock; import com.google.protobuf.InvalidProtocolBufferException; import com.zhidao.support.adas.high.AdasChannel; import com.zhidao.support.adas.high.OnAdasListener; +import com.zhidao.support.adas.high.common.AutopilotReview; import com.zhidao.support.adas.high.common.CupidLogUtils; import com.zhidao.support.adas.high.protocol.RawData; @@ -14,6 +15,11 @@ import mogo.telematics.pad.MessagePad; * 自动驾驶状态 */ public class AutopilotStateMessage extends MyAbstractMessageHandler { + private final AutopilotReview autopilotReview; + + public AutopilotStateMessage(AutopilotReview autopilotReview) { + this.autopilotReview = autopilotReview; + } @Override public void handlerMsg(RawData raw, OnAdasListener adasListener) throws InvalidProtocolBufferException { @@ -25,6 +31,9 @@ public class AutopilotStateMessage extends MyAbstractMessageHandler { if (adasListener != null) { adasListener.onAutopilotState(raw.getHeader(), autopilotState); } + if (autopilotReview != null) { + autopilotReview.onAutopilotResult(autopilotState); + } AdasChannel.calculateTimeConsumingBusiness("自动驾驶状态", nowTime); // CupidLogUtils.e("自动驾驶状态--->" + autopilotState.toString()); } diff --git a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/msg/MyMessageFactory.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/msg/MyMessageFactory.java index 97f7de500e..5786c0803b 100644 --- a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/msg/MyMessageFactory.java +++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/msg/MyMessageFactory.java @@ -1,5 +1,6 @@ package com.zhidao.support.adas.high.msg; +import com.zhidao.support.adas.high.common.AutopilotReview; import com.zhidao.support.adas.high.common.MessageType; import mogo.telematics.pad.MessagePad; @@ -31,6 +32,11 @@ public class MyMessageFactory implements IMyMessageFactory { private IMsg recordDataConfigRespMessage;//数据采集配置应答 private IMsg planningDecisionStateMessage;//planning决策状态 + private final AutopilotReview autopilotReview; + + public MyMessageFactory(AutopilotReview autopilotReview) { + this.autopilotReview = autopilotReview; + } @Override public IMsg createMessage(MessagePad.MessageType messageType) { @@ -61,13 +67,13 @@ public class MyMessageFactory implements IMyMessageFactory { } else if (messageType == MessageType.TYPE_RECEIVE_AUTOPILOT_STATE.typeCode) { //自动驾驶状态 if (autopilotStateMessage == null) { - autopilotStateMessage = new AutopilotStateMessage(); + autopilotStateMessage = new AutopilotStateMessage(autopilotReview); } return autopilotStateMessage; } else if (messageType == MessageType.TYPE_RECEIVE_REPORT_MESSAGE.typeCode) { //监控事件报告 if (reportMessage == null) { - reportMessage = new ReportMessage(); + reportMessage = new ReportMessage(autopilotReview); } return reportMessage; } else if (messageType == MessageType.TYPE_RECEIVE_PERCEPTION_TRAFFIC_LIGHT.typeCode) { diff --git a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/msg/ReportMessage.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/msg/ReportMessage.java index 171deba19d..7baa2838cd 100644 --- a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/msg/ReportMessage.java +++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/msg/ReportMessage.java @@ -5,15 +5,24 @@ import android.os.SystemClock; import com.google.protobuf.InvalidProtocolBufferException; import com.zhidao.support.adas.high.AdasChannel; import com.zhidao.support.adas.high.OnAdasListener; +import com.zhidao.support.adas.high.common.AutopilotReview; import com.zhidao.support.adas.high.common.CupidLogUtils; +import com.zhidao.support.adas.high.common.MogoReport; import com.zhidao.support.adas.high.protocol.RawData; +import java.util.List; + import mogo_msg.MogoReportMsg; /** - * 监控事件报告 + * 监控事件报告回调 */ public class ReportMessage extends MyAbstractMessageHandler { + private final AutopilotReview autopilotReview; + + public ReportMessage(AutopilotReview autopilotReview) { + this.autopilotReview = autopilotReview; + } @Override public void handlerMsg(RawData raw, OnAdasListener adasListener) throws InvalidProtocolBufferException { @@ -23,8 +32,18 @@ public class ReportMessage extends MyAbstractMessageHandler { if (CupidLogUtils.isEnableLog()) nowTime = SystemClock.elapsedRealtime(); if (adasListener != null) { - adasListener.onReportMessage(raw.getHeader(), mogoReportMessage); + adasListener.onReportMessage(raw.getHeader(), mogoReportMessage);//监控报告回调 } AdasChannel.calculateTimeConsumingBusiness("监控事件报告", nowTime); + //分发自动驾驶启动失败相关回调 + List results = mogoReportMessage.getResultList(); + if (!results.isEmpty() && results.contains(MogoReport.RESULT_AUTOPILOT_DISABLE)) { + if (adasListener != null) { + adasListener.onStartAutopilotFailed(mogoReportMessage);//启动自动驾驶失败回调 + } + if (autopilotReview != null) { + autopilotReview.onReportResult(mogoReportMessage);//统计启动自动驾驶失败原因 + } + } } } From 60306d66bab0aa5679b5bdf0520a13ae9899bc60 Mon Sep 17 00:00:00 2001 From: xinfengkun Date: Tue, 8 Nov 2022 11:11:23 +0800 Subject: [PATCH 3/9] =?UTF-8?q?[change]=20=E4=BF=AE=E6=94=B9=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E8=87=AA=E5=8A=A8=E9=A9=BE=E9=A9=B6=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E8=B6=85=E6=97=B6=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/zhidao/support/adas/high/common/AutopilotReview.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/AutopilotReview.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/AutopilotReview.java index 3449c5ae8f..c1825605ab 100644 --- a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/AutopilotReview.java +++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/AutopilotReview.java @@ -19,7 +19,7 @@ public class AutopilotReview { /** * 默认启动自驾超时时间 */ - private static final long DEFAULT_TIMEOUT = 30 * 1000L; + private static final long DEFAULT_TIMEOUT = 15 * 1000L; private Timer timer; From 633212a9fec77a1b50020655c8d4d0e93c99ce0d Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Tue, 8 Nov 2022 14:30:58 +0800 Subject: [PATCH 4/9] =?UTF-8?q?[2.12.0]=20taxi=E5=8F=B8=E6=9C=BA=E7=AB=AF?= =?UTF-8?q?=E5=89=8D=E5=BE=80=E7=9B=AE=E7=9A=84=E5=9C=B0=E8=BD=A8=E8=BF=B9?= =?UTF-8?q?=E9=87=8C=E9=87=8C=E7=A8=8B=E6=92=AD=E6=8A=A5=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mogo/och/taxi/model/TaxiModel.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java index 59fb2c2462..eff7f1e255 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java @@ -31,6 +31,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr; import com.mogo.eagle.core.utilcode.util.NetworkUtils; import com.mogo.eagle.core.utilcode.util.ToastUtils; +import com.mogo.eagle.core.utilcode.util.UiThreadHandler; import com.mogo.map.navi.IMogoCarLocationChangedListener2; import com.mogo.module.common.MogoApisHandler; import com.mogo.och.common.module.biz.constant.LoginStatusManager; @@ -1585,10 +1586,15 @@ public class TaxiModel { if (mOrderStatusCallback != null){ mOrderStatusCallback.onNaviToEnd(false,isVoicePlay); } - }else {//使用高德导航 - if (mOrderStatusCallback != null){ - mOrderStatusCallback.onNaviToEnd(true,isVoicePlay); - } + }else {//2s后若无轨迹数据使用高德导航 + UiThreadHandler.postDelayed(new Runnable() { + @Override + public void run() { + if (mRoutePoints.size() == 0 && mOrderStatusCallback != null){ + mOrderStatusCallback.onNaviToEnd(true,isVoicePlay); + } + } + },2000l); } } } From 620d1f8c3c1952d66d68b14a263ed7f4959d861e Mon Sep 17 00:00:00 2001 From: lianglihui Date: Tue, 8 Nov 2022 16:41:11 +0800 Subject: [PATCH 5/9] =?UTF-8?q?2.12.0=20fix=20ADCU=20=E5=85=A8=E5=B1=80?= =?UTF-8?q?=E8=B7=AF=E5=BE=84=E6=95=B0=E6=8D=AE=E5=92=8C=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E9=A9=BE=E9=A9=B6=E7=8A=B6=E6=80=81=E4=B8=8D=E4=B8=80=E8=87=B4?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E7=9A=84=20=E5=B0=8F=E5=9C=B0=E5=9B=BE?= =?UTF-8?q?=E8=BD=A8=E8=BF=B9=E8=A2=AB=E6=B8=85=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eagle/core/function/smp/SmallMapFragment.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/SmallMapFragment.java b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/SmallMapFragment.java index 17227329ec..cdc563718e 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/SmallMapFragment.java +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/SmallMapFragment.java @@ -15,7 +15,10 @@ import com.mogo.eagle.core.data.map.MogoLatLng; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotPlanningListener; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; import com.mogo.eagle.core.function.api.map.smp.IMogoSmallMapProvider; +import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotManager; +import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager; import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotPlanningListenerManager; +import com.mogo.eagle.core.function.call.map.CallerMapLocationListenerManager; import com.mogo.eagle.core.function.map.R; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; @@ -38,6 +41,7 @@ public class SmallMapFragment extends BaseFragment IMoGoAutopilotStatusListener { private final String TAG = "SmallMapFragment"; protected SmallMapDirectionView mSmallMapDirectionView; + private int autoPilotStatus = 0; @Override public void onAttach(Context context) { @@ -139,8 +143,11 @@ public class SmallMapFragment extends BaseFragment @Override public void onAutopilotStatusResponse(@NotNull AutopilotStatusInfo autoPilotStatusInfo) { - if (autoPilotStatusInfo.getPilotmode() != 1) { + autoPilotStatus = autoPilotStatusInfo.getPilotmode(); + if (autoPilotStatus != 1) { clearPolyline(); + }else if (autoPilotStatus == 1){ + CallerAutoPilotManager.INSTANCE.getGlobalPath(); } } @@ -172,7 +179,7 @@ public class SmallMapFragment extends BaseFragment for (MessagePad.Location routeModel : globalPathResp.getWayPointsList()) { latLngList.add(new MogoLatLng(routeModel.getLatitude(), routeModel.getLongitude())); } - if (latLngList.size() > 0) { + if (latLngList.size() > 0 && autoPilotStatus ==1) { drawablePolyline(latLngList); } else { clearPolyline(); From 594859bf019a7491e2e69c091edf94694306bb4b Mon Sep 17 00:00:00 2001 From: lianglihui Date: Tue, 8 Nov 2022 16:41:32 +0800 Subject: [PATCH 6/9] =?UTF-8?q?2.12.0=20fix=20ADCU=20=E5=85=A8=E5=B1=80?= =?UTF-8?q?=E8=B7=AF=E5=BE=84=E6=95=B0=E6=8D=AE=E5=92=8C=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E9=A9=BE=E9=A9=B6=E7=8A=B6=E6=80=81=E4=B8=8D=E4=B8=80=E8=87=B4?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E7=9A=84=20=E5=B0=8F=E5=9C=B0=E5=9B=BE?= =?UTF-8?q?=E8=BD=A8=E8=BF=B9=E8=A2=AB=E6=B8=85=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mogo/eagle/core/function/smp/SmallMapFragment.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/SmallMapFragment.java b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/SmallMapFragment.java index cdc563718e..03c81f5bc1 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/SmallMapFragment.java +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/SmallMapFragment.java @@ -16,9 +16,7 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotPlanningListener import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; import com.mogo.eagle.core.function.api.map.smp.IMogoSmallMapProvider; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotManager; -import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager; import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotPlanningListenerManager; -import com.mogo.eagle.core.function.call.map.CallerMapLocationListenerManager; import com.mogo.eagle.core.function.map.R; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; From d4b800e89ea76daef5dfc526ce5fdc660800df2c Mon Sep 17 00:00:00 2001 From: lianglihui Date: Tue, 8 Nov 2022 16:55:18 +0800 Subject: [PATCH 7/9] =?UTF-8?q?2.12.0=20fix=20ADCU=20=E5=85=A8=E5=B1=80?= =?UTF-8?q?=E8=B7=AF=E5=BE=84=E6=95=B0=E6=8D=AE=E5=92=8C=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E9=A9=BE=E9=A9=B6=E7=8A=B6=E6=80=81=E4=B8=8D=E4=B8=80=E8=87=B4?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E7=9A=84=20=E5=B0=8F=E5=9C=B0=E5=9B=BE?= =?UTF-8?q?=E8=BD=A8=E8=BF=B9=E8=A2=AB=E6=B8=85=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/eagle/core/function/smp/SmallMapFragment.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/SmallMapFragment.java b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/SmallMapFragment.java index 03c81f5bc1..bb8ff56c04 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/SmallMapFragment.java +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/SmallMapFragment.java @@ -141,12 +141,13 @@ public class SmallMapFragment extends BaseFragment @Override public void onAutopilotStatusResponse(@NotNull AutopilotStatusInfo autoPilotStatusInfo) { - autoPilotStatus = autoPilotStatusInfo.getPilotmode(); - if (autoPilotStatus != 1) { + int tempStatus = autoPilotStatusInfo.getPilotmode(); + if (tempStatus != 1) { clearPolyline(); - }else if (autoPilotStatus == 1){ + }else if (tempStatus == 0 && autoPilotStatus == 1){ CallerAutoPilotManager.INSTANCE.getGlobalPath(); } + autoPilotStatus = tempStatus; } @Override From 2225fed83aca2b35d61211a708457ea674cfa876 Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Tue, 8 Nov 2022 17:57:18 +0800 Subject: [PATCH 8/9] =?UTF-8?q?[2.12.0]=20taxi=E9=A2=84=E7=BA=A6=E5=8D=95?= =?UTF-8?q?=E5=85=B3=E9=97=AD=E6=97=B6=E5=80=99=E4=B8=AD=E6=96=AD=E8=AF=AD?= =?UTF-8?q?=E9=9F=B3=E6=92=AD=E6=8A=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/och/common/module/voice/VoiceNotice.kt | 10 ++++++++++ .../com/mogo/och/taxi/ui/TaxiGrabOrderFragment.java | 1 + 2 files changed, 11 insertions(+) diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/voice/VoiceNotice.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/voice/VoiceNotice.kt index f57f4c3648..43ef0ffb30 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/voice/VoiceNotice.kt +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/voice/VoiceNotice.kt @@ -36,4 +36,14 @@ object VoiceNotice { } } } + + /** + * 中断当前在播语音 + */ + @JvmStatic + fun stopCurrentTts(){ + UiThreadHandler.post { + AIAssist.getInstance(AbsMogoApplication.getApp()).stopTts() + } + } } \ No newline at end of file diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiGrabOrderFragment.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiGrabOrderFragment.java index 46b36f9bd9..4ddc217b6a 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiGrabOrderFragment.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiGrabOrderFragment.java @@ -78,6 +78,7 @@ public class TaxiGrabOrderFragment extends BaseTaxiUIFragment implements View.On if (null != countDownTimer){ countDownTimer.cancel(); } + VoiceNotice.stopCurrentTts();//中断当前在播语音 getOchTaxiFragment().cancelNewBookingOrder(); }else if (v.getId() == R.id.grab_order_tv){ if (!mOrderGrabBt.getText().toString().equals("抢单中...")){ From 6cb5ff049a095e1dd8a70b218f7f2ac32a48afa8 Mon Sep 17 00:00:00 2001 From: chenfufeng Date: Tue, 8 Nov 2022 18:23:23 +0800 Subject: [PATCH 9/9] =?UTF-8?q?[Fix]=E8=A7=A3=E5=86=B3=E9=AB=98=E7=B2=BE?= =?UTF-8?q?=E5=9C=B0=E5=9B=BE=E5=9C=A8NUC=E8=AE=BE=E5=A4=87=E4=B8=8A?= =?UTF-8?q?=E5=B4=A9=E6=BA=83=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 46e3e34c1b..3d4b65f124 100644 --- a/gradle.properties +++ b/gradle.properties @@ -85,7 +85,7 @@ MOGO_LOCATION_VERSION=1.4.3.26 MOGO_TELEMATIC_VERSION=1.4.3.26 ######## MogoAiCloudSDK Version ######## # 自研地图 -MAP_SDK_VERSION=2.7.0.9 +MAP_SDK_VERSION=2.7.0.10 MAP_SDK_OPERATION_VERSION=1.1.3.5 # websocket WEBSOCKET_VERSION=1.1.7