private void recreateDataView() { if (mIsTimestampDisplayMode) { mBufferListAdapter.clear(); final int bufferSize = mDataBuffer.size(); for (int i = 0; i < bufferSize; i++) { final UartDataChunk dataChunk = mDataBuffer.get(i); final boolean isRX = dataChunk.getMode() == UartDataChunk.TRANSFERMODE_RX; final String data = dataChunk.getData(); final String formattedData = mShowDataInHexFormat ? asciiToHex(data) : data; final String currentDateTimeString = DateFormat.getTimeInstance().format(new Date(dataChunk.getTimestamp())); mBufferListAdapter.add( new TimestampData( "[" + currentDateTimeString + "] " + (isRX ? "RX" : "TX") + ": " + formattedData, isRX ? mRxColor : mTxColor)); // mBufferListAdapter.add("[" + currentDateTimeString + "] " + (isRX ? "RX" : // "TX") + ": " + formattedData); } mBufferListView.setSelection(mBufferListAdapter.getCount()); } else { mDataBufferLastSize = 0; mTextSpanBuffer.clear(); mBufferTextView.setText(""); } }
public void onClickClear(View view) { mTextSpanBuffer.clear(); mDataBufferLastSize = 0; mBufferListAdapter.clear(); mBufferTextView.setText(""); mDataBuffer.clear(); mSentBytes = 0; mReceivedBytes = 0; updateUI(); }
private void uartSendData(String data, boolean wasReceivedFromMqtt) { // MQTT publish to TX MqttSettings settings = MqttSettings.getInstance(UartActivity.this); if (!wasReceivedFromMqtt) { if (settings.isPublishEnabled()) { String topic = settings.getPublishTopic(MqttUartSettingsActivity.kPublishFeed_TX); final int qos = settings.getPublishQos(MqttUartSettingsActivity.kPublishFeed_TX); mMqttManager.publish(topic, data, qos); } } // Add eol if (mIsEolEnabled) { // Add newline character if checked data += "\n"; } // Send to uart if (!wasReceivedFromMqtt || settings.getSubscribeBehaviour() == MqttSettings.kSubscribeBehaviour_Transmit) { sendData(data); mSentBytes += data.length(); } // Add to current buffer UartDataChunk dataChunk = new UartDataChunk(System.currentTimeMillis(), UartDataChunk.TRANSFERMODE_TX, data); mDataBuffer.add(dataChunk); final String formattedData = mShowDataInHexFormat ? asciiToHex(data) : data; if (mIsTimestampDisplayMode) { final String currentDateTimeString = DateFormat.getTimeInstance().format(new Date(dataChunk.getTimestamp())); mBufferListAdapter.add( new TimestampData("[" + currentDateTimeString + "] TX: " + formattedData, mTxColor)); mBufferListView.setSelection(mBufferListAdapter.getCount()); } // Update UI updateUI(); }