diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/DataDistribution.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/DataDistribution.java index fdc5fbea1a..765e5a7761 100644 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/DataDistribution.java +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/DataDistribution.java @@ -9,6 +9,7 @@ import com.zhidao.adas.client.bean.BaseInfo; import com.zhidao.adas.client.bean.BasicInfoReq; import com.zhidao.adas.client.bean.CarConfigResp; import com.zhidao.adas.client.bean.ChassisStates; +import com.zhidao.adas.client.bean.DataShow; import com.zhidao.adas.client.bean.ErrorData; import com.zhidao.adas.client.bean.FSMFunctionStates; import com.zhidao.adas.client.bean.GlobalPathResp; @@ -102,29 +103,52 @@ public class DataDistribution { this.isCutDown = cutDown; } - private static final int LIST_SIZE = 50;//默认list最大数据量5个 - public final List listTrajectory = new ArrayList<>(); - public final List listTrackedObjects = new ArrayList<>(); - public final List listGnssInfo = new ArrayList<>(); - public final List listVehicleState = new ArrayList<>(); - public final List listAutopilotState = new ArrayList<>(); - public final List listMogoReportMessage = new ArrayList<>(); - public final List listPerceptionTrafficLight = new ArrayList<>(); - public final List listPredictionObstacleTrajectory = new ArrayList<>(); - public final List listRecordPanel = new ArrayList<>(); - public final List listGlobalPathResp = new ArrayList<>(); - public final List listWarn = new ArrayList<>(); - public final List listArrivalNotification = new ArrayList<>(); - public final List listStatusInfo = new ArrayList<>(); - public final List listRecordDataConfig = new ArrayList<>(); - public final List listErrorData = new ArrayList<>(); - public final List listOriginalPointCloud = new ArrayList<>(); - public final List listPlanningObjects = new ArrayList<>(); - public final List listPlanningDecisionState = new ArrayList<>(); - public final List listChassisStates = new ArrayList<>(); - public final List listFSMFunctionStates = new ArrayList<>(); - public final List listRoboSweeperTaskIndex = new ArrayList<>(); - public final List listBagManagerCmd = new ArrayList<>(); + private static final int LIST_SIZE = 30;//默认list最大数据量 + public final List listTrajectory = new ArrayList<>(); + public final List listTrackedObjects = new ArrayList<>(); + public final List listGnssInfo = new ArrayList<>(); + public final List listVehicleState = new ArrayList<>(); + public final List listAutopilotState = new ArrayList<>(); + public final List listMogoReportMessage = new ArrayList<>(); + public final List listPerceptionTrafficLight = new ArrayList<>(); + public final List listPredictionObstacleTrajectory = new ArrayList<>(); + public final List listRecordPanel = new ArrayList<>(); + public final List listGlobalPathResp = new ArrayList<>(); + public final List listWarn = new ArrayList<>(); + public final List listArrivalNotification = new ArrayList<>(); + public final List listStatusInfo = new ArrayList<>(); + public final List listRecordDataConfig = new ArrayList<>(); + public final List listErrorData = new ArrayList<>(); + public final List listOriginalPointCloud = new ArrayList<>(); + public final List listPlanningObjects = new ArrayList<>(); + public final List listPlanningDecisionState = new ArrayList<>(); + public final List listChassisStates = new ArrayList<>(); + public final List listFSMFunctionStates = new ArrayList<>(); + public final List listRoboSweeperTaskIndex = new ArrayList<>(); + public final List listBagManagerCmd = new ArrayList<>(); + + private long listTrajectorySize = 0; + private long listTrackedObjectsSize = 0; + private long listGnssInfoSize = 0; + private long listVehicleStateSize = 0; + private long listAutopilotStateSize = 0; + private long listMogoReportMessageSize = 0; + private long listPerceptionTrafficLightSize = 0; + private long listPredictionObstacleTrajectorySize = 0; + private long listRecordPanelSize = 0; + private long listGlobalPathRespSize = 0; + private long listWarnSize = 0; + private long listArrivalNotificationSize = 0; + private long listStatusInfoSize = 0; + private long listRecordDataConfigSize = 0; + private long listErrorDataSize = 0; + private long listOriginalPointCloudSize = 0; + private long listPlanningObjectsSize = 0; + private long listPlanningDecisionStateSize = 0; + private long listChassisStatesSize = 0; + private long listFSMFunctionStatesSize = 0; + private long listRoboSweeperTaskIndexSize = 0; + private long listBagManagerCmdSize = 0; public String cutDown(String str) { if (isCutDown && str.length() > 650) { @@ -137,7 +161,7 @@ public class DataDistribution { String temp = data.toString(); String str = cutDown(temp); if (data instanceof Trajectory) { - listTrajectory.add(0, time + str); + listTrajectory.add(0, new DataShow(listTrajectorySize++, time + str)); if (listTrajectory.size() > LIST_SIZE) { listTrajectory.remove(listTrajectory.size() - 1); } @@ -145,7 +169,7 @@ public class DataDistribution { listener.second.onRefresh(); } } else if (data instanceof TrackedObjects) { - listTrackedObjects.add(0, time + str); + listTrackedObjects.add(0, new DataShow(listTrackedObjectsSize++, time + str)); if (listTrackedObjects.size() > LIST_SIZE) { listTrackedObjects.remove(listTrackedObjects.size() - 1); } @@ -153,7 +177,7 @@ public class DataDistribution { listener.second.onRefresh(); } } else if (data instanceof OriginalPointCloudData) { - listOriginalPointCloud.add(0, time + str); + listOriginalPointCloud.add(0, new DataShow(listOriginalPointCloudSize++, time + str)); if (listOriginalPointCloud.size() > LIST_SIZE) { listOriginalPointCloud.remove(listOriginalPointCloud.size() - 1); } @@ -161,7 +185,7 @@ public class DataDistribution { listener.second.onRefresh(); } } else if (data instanceof PlanningObjects) { - listPlanningObjects.add(0, time + str); + listPlanningObjects.add(0, new DataShow(listPlanningObjectsSize++, time + str)); if (listPlanningObjects.size() > LIST_SIZE) { listPlanningObjects.remove(listPlanningObjects.size() - 1); } @@ -169,7 +193,7 @@ public class DataDistribution { listener.second.onRefresh(); } } else if (data instanceof PlanningDecisionState) { - listPlanningDecisionState.add(0, time + str); + listPlanningDecisionState.add(0, new DataShow(listPlanningDecisionStateSize++, time + str)); if (listPlanningDecisionState.size() > LIST_SIZE) { listPlanningDecisionState.remove(listPlanningDecisionState.size() - 1); } @@ -177,7 +201,7 @@ public class DataDistribution { listener.second.onRefresh(); } } else if (data instanceof GnssInfo) { - listGnssInfo.add(0, time + str); + listGnssInfo.add(0, new DataShow(listGnssInfoSize++, time + str)); if (listGnssInfo.size() > LIST_SIZE) { listGnssInfo.remove(listGnssInfo.size() - 1); } @@ -185,7 +209,7 @@ public class DataDistribution { listener.second.onRefresh(); } } else if (data instanceof VehicleState) { - listVehicleState.add(0, time + str); + listVehicleState.add(0, new DataShow(listVehicleStateSize++, time + str)); if (listVehicleState.size() > LIST_SIZE) { listVehicleState.remove(listVehicleState.size() - 1); } @@ -193,7 +217,7 @@ public class DataDistribution { listener.second.onRefresh(); } } else if (data instanceof ChassisStates) { - listChassisStates.add(0, time + str); + listChassisStates.add(0, new DataShow(listChassisStatesSize++, time + str)); if (listChassisStates.size() > LIST_SIZE) { listChassisStates.remove(listChassisStates.size() - 1); } @@ -201,7 +225,7 @@ public class DataDistribution { listener.second.onRefresh(); } } else if (data instanceof AutopilotState) { - listAutopilotState.add(0, time + str); + listAutopilotState.add(0, new DataShow(listAutopilotStateSize++, time + str)); if (listAutopilotState.size() > LIST_SIZE) { listAutopilotState.remove(listAutopilotState.size() - 1); } @@ -209,7 +233,7 @@ public class DataDistribution { listener.second.onRefresh(); } } else if (data instanceof MogoReportMessage) { - listMogoReportMessage.add(0, time + str); + listMogoReportMessage.add(0, new DataShow(listMogoReportMessageSize++, time + str)); if (listMogoReportMessage.size() > LIST_SIZE) { listMogoReportMessage.remove(listMogoReportMessage.size() - 1); } @@ -217,7 +241,7 @@ public class DataDistribution { listener.second.onRefresh(); } } else if (data instanceof PerceptionTrafficLight) { - listPerceptionTrafficLight.add(0, time + str); + listPerceptionTrafficLight.add(0, new DataShow(listPerceptionTrafficLightSize++, time + str)); if (listPerceptionTrafficLight.size() > LIST_SIZE) { listPerceptionTrafficLight.remove(listPerceptionTrafficLight.size() - 1); } @@ -225,7 +249,7 @@ public class DataDistribution { listener.second.onPerceptionTrafficLight((PerceptionTrafficLight) data); } } else if (data instanceof PredictionObstacleTrajectory) { - listPredictionObstacleTrajectory.add(0, time + str); + listPredictionObstacleTrajectory.add(0, new DataShow(listPredictionObstacleTrajectorySize++, time + str)); if (listPredictionObstacleTrajectory.size() > LIST_SIZE) { listPredictionObstacleTrajectory.remove(listPredictionObstacleTrajectory.size() - 1); } @@ -239,7 +263,7 @@ public class DataDistribution { listener.second.onRefresh(); } } else if (data instanceof RecordPanel) { - listRecordPanel.add(0, time + str); + listRecordPanel.add(0, new DataShow(listRecordPanelSize++, time + str)); if (listRecordPanel.size() > LIST_SIZE) { listRecordPanel.remove(listRecordPanel.size() - 1); } @@ -247,7 +271,7 @@ public class DataDistribution { listener.second.onRefresh(); } } else if (data instanceof BagManagerCmd) { - listBagManagerCmd.add(0, time + str); + listBagManagerCmd.add(0, new DataShow(listBagManagerCmdSize++, time + str)); if (listBagManagerCmd.size() > LIST_SIZE) { listBagManagerCmd.remove(listBagManagerCmd.size() - 1); } @@ -255,7 +279,7 @@ public class DataDistribution { listener.second.onRefresh(); } } else if (data instanceof GlobalPathResp) { - listGlobalPathResp.add(0, time + str); + listGlobalPathResp.add(0, new DataShow(listGlobalPathRespSize++, time + str)); if (listGlobalPathResp.size() > LIST_SIZE) { listGlobalPathResp.remove(listGlobalPathResp.size() - 1); } @@ -263,7 +287,7 @@ public class DataDistribution { listener.second.onRefresh(); } } else if (data instanceof Warn) { - listWarn.add(0, time + str); + listWarn.add(0, new DataShow(listWarnSize++, time + str)); if (listWarn.size() > LIST_SIZE) { listWarn.remove(listWarn.size() - 1); } @@ -271,7 +295,7 @@ public class DataDistribution { listener.second.onRefresh(); } } else if (data instanceof ArrivalNotification) { - listArrivalNotification.add(0, time + str); + listArrivalNotification.add(0, new DataShow(listArrivalNotificationSize++, time + str)); if (listArrivalNotification.size() > LIST_SIZE) { listArrivalNotification.remove(listArrivalNotification.size() - 1); } @@ -279,7 +303,7 @@ public class DataDistribution { listener.second.onRefresh(); } } else if (data instanceof StatusInfo) { - listStatusInfo.add(0, time + str); + listStatusInfo.add(0, new DataShow(listStatusInfoSize++, time + str)); if (listStatusInfo.size() > LIST_SIZE) { listStatusInfo.remove(listStatusInfo.size() - 1); } @@ -287,7 +311,7 @@ public class DataDistribution { listener.second.onRefresh(); } } else if (data instanceof RecordDataConfig) { - listRecordDataConfig.add(0, time + str); + listRecordDataConfig.add(0, new DataShow(listRecordDataConfigSize++, time + str)); if (listRecordDataConfig.size() > LIST_SIZE) { listRecordDataConfig.remove(listRecordDataConfig.size() - 1); } @@ -295,7 +319,7 @@ public class DataDistribution { listener.second.onRefresh(); } } else if (data instanceof RoboSweeperTaskIndex) { - listRoboSweeperTaskIndex.add(0, time + str); + listRoboSweeperTaskIndex.add(0, new DataShow(listRoboSweeperTaskIndexSize++, time + str)); if (listRoboSweeperTaskIndex.size() > LIST_SIZE) { listRoboSweeperTaskIndex.remove(listRoboSweeperTaskIndex.size() - 1); } @@ -303,7 +327,7 @@ public class DataDistribution { listener.second.onRefresh(); } } else if (data instanceof FSMFunctionStates) { - listFSMFunctionStates.add(0, time + str); + listFSMFunctionStates.add(0, new DataShow(listFSMFunctionStatesSize++, time + str)); if (listFSMFunctionStates.size() > LIST_SIZE) { listFSMFunctionStates.remove(listFSMFunctionStates.size() - 1); } @@ -311,7 +335,7 @@ public class DataDistribution { listener.second.onRefresh(); } } else if (data instanceof ErrorData) { - listErrorData.add(0, time + str); + listErrorData.add(0, new DataShow(listErrorDataSize++, time + str)); if (listErrorData.size() > 100) { listErrorData.remove(listErrorData.size() - 1); } diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/DataShowAdapter.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/DataShowAdapter.java index 23c3de8590..c233f55b31 100644 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/DataShowAdapter.java +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/adapter/DataShowAdapter.java @@ -10,10 +10,11 @@ import android.widget.TextView; import com.zhidao.adas.client.R; import com.zhidao.adas.client.base.BaseAdapter; import com.zhidao.adas.client.base.BaseViewHolder; +import com.zhidao.adas.client.bean.DataShow; //log所用 -public class DataShowAdapter extends BaseAdapter { +public class DataShowAdapter extends BaseAdapter { public void refreshView() { @@ -28,9 +29,9 @@ public class DataShowAdapter extends BaseAdapter listGnssInfo = DataDistribution.getInstance().listGnssInfo; + List listGnssInfo = DataDistribution.getInstance().listGnssInfo; if (!listGnssInfo.isEmpty()) { - String info = listGnssInfo.get(listGnssInfo.size() - 1); + String info = listGnssInfo.get(listGnssInfo.size() - 1).data; lon = Double.parseDouble(info.split("longitude: ")[1].split("\n")[0]); lat = Double.parseDouble(info.split("latitude: ")[1].split("\n")[0]); getHandler().sendEmptyMessage(WHAT_UPDATE_SHOW);