package com.openxc.enabler; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import com.openxc.messages.DiagnosticResponse; import com.openxc.messages.formatters.ByteAdapter; import com.openxcplatform.enabler.R; public class DiagnosticResponseAdapter extends VehicleMessageAdapter { private Context mContext; public DiagnosticResponseAdapter(Context context) { super(); mContext = context; } @Override public DiagnosticResponse getItem(int position) { return mValues.get(position).asDiagnosticResponse(); } @Override public View getView(int position, View convertView, ViewGroup parent) { if(convertView == null) { convertView = LayoutInflater.from(mContext) .inflate(R.layout.diagnostic_request_list_item, parent, false); } DiagnosticResponse message = getItem(position); TextView timestampView = (TextView) convertView.findViewById(R.id.timestamp); timestampView.setText(formatTimestamp(message)); TextView busView = (TextView) convertView.findViewById(R.id.bus); busView.setText("" + message.getBusId()); TextView idView = (TextView) convertView.findViewById(R.id.id); idView.setText("0x" + Integer.toHexString(message.getId())); TextView modeView = (TextView) convertView.findViewById(R.id.mode); modeView.setText("0x" + Integer.toHexString(message.getMode())); TextView pidView = (TextView) convertView.findViewById(R.id.pid); if(message.hasPid()) { pidView.setText("0x" + Integer.toHexString(message.getPid())); } else { pidView.setText("None"); } TextView payloadView = (TextView) convertView.findViewById(R.id.payload); if(message.hasPayload()) { payloadView.setText("0x" + ByteAdapter.byteArrayToHexString( message.getPayload())); } else if(message.hasValue()) { payloadView.setText("Value: " + message.getValue()); } else { payloadView.setText("None"); } return convertView; } }