[工控机监控] 修改工控机监控ID显示

This commit is contained in:
xinfengkun
2023-01-16 17:58:24 +08:00
parent 4c30b63dfc
commit 55492abea1
4 changed files with 88 additions and 51 deletions

View File

@@ -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<String> listTrajectory = new ArrayList<>();
public final List<String> listTrackedObjects = new ArrayList<>();
public final List<String> listGnssInfo = new ArrayList<>();
public final List<String> listVehicleState = new ArrayList<>();
public final List<String> listAutopilotState = new ArrayList<>();
public final List<String> listMogoReportMessage = new ArrayList<>();
public final List<String> listPerceptionTrafficLight = new ArrayList<>();
public final List<String> listPredictionObstacleTrajectory = new ArrayList<>();
public final List<String> listRecordPanel = new ArrayList<>();
public final List<String> listGlobalPathResp = new ArrayList<>();
public final List<String> listWarn = new ArrayList<>();
public final List<String> listArrivalNotification = new ArrayList<>();
public final List<String> listStatusInfo = new ArrayList<>();
public final List<String> listRecordDataConfig = new ArrayList<>();
public final List<String> listErrorData = new ArrayList<>();
public final List<String> listOriginalPointCloud = new ArrayList<>();
public final List<String> listPlanningObjects = new ArrayList<>();
public final List<String> listPlanningDecisionState = new ArrayList<>();
public final List<String> listChassisStates = new ArrayList<>();
public final List<String> listFSMFunctionStates = new ArrayList<>();
public final List<String> listRoboSweeperTaskIndex = new ArrayList<>();
public final List<String> listBagManagerCmd = new ArrayList<>();
private static final int LIST_SIZE = 30;//默认list最大数据量
public final List<DataShow> listTrajectory = new ArrayList<>();
public final List<DataShow> listTrackedObjects = new ArrayList<>();
public final List<DataShow> listGnssInfo = new ArrayList<>();
public final List<DataShow> listVehicleState = new ArrayList<>();
public final List<DataShow> listAutopilotState = new ArrayList<>();
public final List<DataShow> listMogoReportMessage = new ArrayList<>();
public final List<DataShow> listPerceptionTrafficLight = new ArrayList<>();
public final List<DataShow> listPredictionObstacleTrajectory = new ArrayList<>();
public final List<DataShow> listRecordPanel = new ArrayList<>();
public final List<DataShow> listGlobalPathResp = new ArrayList<>();
public final List<DataShow> listWarn = new ArrayList<>();
public final List<DataShow> listArrivalNotification = new ArrayList<>();
public final List<DataShow> listStatusInfo = new ArrayList<>();
public final List<DataShow> listRecordDataConfig = new ArrayList<>();
public final List<DataShow> listErrorData = new ArrayList<>();
public final List<DataShow> listOriginalPointCloud = new ArrayList<>();
public final List<DataShow> listPlanningObjects = new ArrayList<>();
public final List<DataShow> listPlanningDecisionState = new ArrayList<>();
public final List<DataShow> listChassisStates = new ArrayList<>();
public final List<DataShow> listFSMFunctionStates = new ArrayList<>();
public final List<DataShow> listRoboSweeperTaskIndex = new ArrayList<>();
public final List<DataShow> 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);
}

View File

@@ -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<String, DataShowAdapter.ViewHolder> {
public class DataShowAdapter extends BaseAdapter<DataShow, DataShowAdapter.ViewHolder> {
public void refreshView() {
@@ -28,9 +29,9 @@ public class DataShowAdapter extends BaseAdapter<String, DataShowAdapter.ViewHol
@SuppressLint("SetTextI18n")
@Override
protected void onBindDataToItem(ViewHolder viewHolder, String data, int position) {
viewHolder.id.setText((getItemCount() - position) + ". ");
viewHolder.editText.setText(data);
protected void onBindDataToItem(ViewHolder viewHolder, DataShow data, int position) {
viewHolder.id.setText(data.position + ". ");
viewHolder.editText.setText(data.data);
}

View File

@@ -0,0 +1,11 @@
package com.zhidao.adas.client.bean;
public class DataShow {
public final long position;
public final String data;
public DataShow(long position, String data) {
this.position = position;
this.data = data;
}
}

View File

@@ -27,6 +27,7 @@ import com.zhidao.adas.client.R;
import com.zhidao.adas.client.adapter.AutopilotConfigAdapter;
import com.zhidao.adas.client.base.BaseActivity;
import com.zhidao.adas.client.bean.AutoPilotMode;
import com.zhidao.adas.client.bean.DataShow;
import com.zhidao.adas.client.bean.UpdateDataEvent;
import com.zhidao.adas.client.utils.Constants;
import com.zhidao.support.adas.high.common.ThreadPoolManager;
@@ -263,9 +264,9 @@ public class AutopilotConfigActivity extends BaseActivity {
private OnAdasClientListener listener = new OnAdasClientListener() {
@Override
public void onRefresh() {
List<String> listGnssInfo = DataDistribution.getInstance().listGnssInfo;
List<DataShow> 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);