From ded5a700e13a5faaa8d1a54808f34b2459e3fe1d Mon Sep 17 00:00:00 2001 From: xinfengkun Date: Tue, 18 Oct 2022 21:42:53 +0800 Subject: [PATCH] =?UTF-8?q?[change]=20=E6=9B=B4=E6=96=B0=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E9=87=87=E9=9B=86=E9=85=8D=E7=BD=AE=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zhidao/adas/client/ui/MainActivity.java | 48 +++++++++- .../layout/dialog_record_data_config_resp.xml | 93 +++++++++++++++++++ .../autopilot/MoGoAutopilotProvider.kt | 2 +- .../zhidao/support/adas/high/AdasChannel.java | 14 ++- .../zhidao/support/adas/high/AdasManager.java | 7 +- .../support/adas/high/IAdasNetCommApi.java | 6 +- 6 files changed, 159 insertions(+), 11 deletions(-) create mode 100644 app_ipc_monitoring/src/main/res/layout/dialog_record_data_config_resp.xml 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 eb77663d3c..12ac54c427 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 @@ -101,6 +101,7 @@ import java.net.NetworkInterface; import java.net.SocketException; import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Arrays; import java.util.Date; import java.util.Enumeration; import java.util.List; @@ -1345,12 +1346,55 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas AdasManager.getInstance().sendRainModeReq(0); break; case Constants.TITLE.SEND_RECORD_DATA_CONFIG_RESP: - //关闭雨天模式 - AdasManager.getInstance().sendRecordDataConfigReq(); + showRecordDataConfigRespDialog(); break; } } + private void showRecordDataConfigRespDialog() { + AlertDialog.Builder builder = new AlertDialog.Builder(this); + builder.setTitle(Constants.TITLE.SEND_RECORD_DATA_CONFIG_RESP); + View view = getLayoutInflater().inflate(R.layout.dialog_record_data_config_resp, null); + final EditText reqTypeView = view.findViewById(R.id.reqType); + final EditText recordTypeView = view.findViewById(R.id.recordType); + final EditText topicsNeedToCacheView = view.findViewById(R.id.topicsNeedToCache); + builder.setView(view);// + builder.setCancelable(false);// + builder.setPositiveButton("发送", null); + //设置反面按钮,并做事件处理 + builder.setNegativeButton("取消", null); + AlertDialog alertDialog = builder.show();//显示Dialog对话框 + alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Editable editable = reqTypeView.getText(); + if (TextUtils.isEmpty(editable)) { + // 条件不成立不能关闭 AlertDialog 窗口 + Toast.makeText(MainActivity.this, "请输入ReqType", Toast.LENGTH_SHORT).show(); + return; + } + int reqType = Integer.parseInt(editable.toString().trim()); + editable = recordTypeView.getText(); + if (TextUtils.isEmpty(editable)) { + Toast.makeText(MainActivity.this, "请输入RecordType", Toast.LENGTH_SHORT).show(); + return; + } + int recordType = Integer.parseInt(editable.toString().trim()); + List topicsNeedToCache = null; + editable = topicsNeedToCacheView.getText(); + if (!TextUtils.isEmpty(editable)) { + String cache = editable.toString().trim(); + cache = cache.replace(",", " ").replace(",", " "); + String[] caches = cache.split(" "); + topicsNeedToCache = Arrays.asList(caches); + } + AdasManager.getInstance().sendRecordDataConfigReq(reqType, recordType, topicsNeedToCache); + alertDialog.dismiss(); + } + }); + + } + @Override protected void handleMessage(Message msg) { diff --git a/app_ipc_monitoring/src/main/res/layout/dialog_record_data_config_resp.xml b/app_ipc_monitoring/src/main/res/layout/dialog_record_data_config_resp.xml new file mode 100644 index 0000000000..c71fb1bec7 --- /dev/null +++ b/app_ipc_monitoring/src/main/res/layout/dialog_record_data_config_resp.xml @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutopilotProvider.kt b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutopilotProvider.kt index dec5498cd8..1368eae5ec 100644 --- a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutopilotProvider.kt +++ b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutopilotProvider.kt @@ -500,7 +500,7 @@ class MoGoAutopilotProvider : * 获取数据采集录制模式配置列表 */ override fun getBadCaseConfig() { - AdasManager.getInstance().sendRecordDataConfigReq() +// AdasManager.getInstance().sendRecordDataConfigReq() TODO 需要传参 } /** 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 d514fd243d..2e660ed49e 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 @@ -1054,14 +1054,20 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec /** * 数据采集配置查询 * + * @param reqType 0: all, 1:获取当前所有topic列表, 2:配置需要预加载的topic组合 + * @param recordType 0:不需要修改内置类型的topic组合, 1:需要修改内置类型的topic组合 + * @param topicsNeedToCache * @return boolean */ @Override - public boolean sendRecordDataConfigReq() { - MessagePad.RecordDataConfigReq req = MessagePad.RecordDataConfigReq + public boolean sendRecordDataConfigReq(int reqType, int recordType, List topicsNeedToCache) { + MessagePad.RecordDataConfigReq.Builder builder = MessagePad.RecordDataConfigReq .newBuilder() - .setReqType(0) - .build(); + .setReqType(reqType) + .setRecordType(recordType); + if (topicsNeedToCache != null && !topicsNeedToCache.isEmpty()) + builder.addAllTopicsNeedToCache(topicsNeedToCache); + MessagePad.RecordDataConfigReq req = builder.build(); return sendPBMessage(MessageType.TYPE_SEND_RECORD_DATA_CONFIG_REQ.typeCode, req.toByteArray()); } diff --git a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasManager.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasManager.java index 5250674d7d..4d7de6c654 100644 --- a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasManager.java +++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasManager.java @@ -515,11 +515,14 @@ public class AdasManager implements IAdasNetCommApi { /** * 数据采集配置查询 * + * @param reqType 0: all, 1:获取当前所有topic列表, 2:配置需要预加载的topic组合 + * @param recordType 0:不需要修改内置类型的topic组合, 1:需要修改内置类型的topic组合 + * @param topicsNeedToCache * @return boolean */ @Override - public boolean sendRecordDataConfigReq() { - return mChannel != null && mChannel.sendRecordDataConfigReq(); + public boolean sendRecordDataConfigReq(int reqType, int recordType, List topicsNeedToCache) { + return mChannel != null && mChannel.sendRecordDataConfigReq(reqType, recordType, topicsNeedToCache); } /** diff --git a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/IAdasNetCommApi.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/IAdasNetCommApi.java index 43125d6093..f2bed1cec8 100644 --- a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/IAdasNetCommApi.java +++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/IAdasNetCommApi.java @@ -256,11 +256,13 @@ public interface IAdasNetCommApi { /** * 数据采集配置查询 - * 0: all, 其他保留 * + * @param reqType 0: all, 1:获取当前所有topic列表, 2:配置需要预加载的topic组合 + * @param recordType 0:不需要修改内置类型的topic组合, 1:需要修改内置类型的topic组合 + * @param topicsNeedToCache * @return 加入WS发送消息队列是否成功 */ - boolean sendRecordDataConfigReq(); + boolean sendRecordDataConfigReq(int reqType, int recordType, List topicsNeedToCache); /** * 获取已注册接口