in amazonfreertossdk/src/main/java/software/amazon/freertos/amazonfreertossdk/AmazonFreeRTOSDevice.java [346:387]
private void processIncomingQueue() {
try {
mIncomingMutex.acquire();
while (mIncomingQueue.size() != 0) {
BleCommand bleCommand = mIncomingQueue.poll();
Log.d(TAG, "Processing incoming queue. size: " + mIncomingQueue.size());
byte[] responseBytes = bleCommand.getData();
String cUuid = bleCommand.getCharacteristicUuid();
switch (cUuid) {
case UUID_MQTT_PROXY_TX:
handleMqttTxMessage(responseBytes);
break;
case UUID_MQTT_PROXY_TXLARGE:
try {
mTxLargeObject.write(responseBytes);
sendBleCommand(new BleCommand(READ_CHARACTERISTIC,
UUID_MQTT_PROXY_TXLARGE, UUID_MQTT_PROXY_SERVICE));
} catch (IOException e) {
Log.e(TAG, "Failed to concatenate byte array.", e);
}
break;
case UUID_NETWORK_TX:
handleNwTxMessage(responseBytes);
break;
case UUID_NETWORK_TXLARGE:
try {
mTxLargeNw.write(responseBytes);
sendBleCommand(new BleCommand(READ_CHARACTERISTIC,
UUID_NETWORK_TXLARGE, UUID_NETWORK_SERVICE));
} catch (IOException e) {
Log.e(TAG, "Failed to concatenate byte array.", e);
}
break;
default:
Log.e(TAG, "Unknown characteristic " + cUuid);
}
}
mIncomingMutex.release();
} catch (InterruptedException e) {
Log.e(TAG, "Incoming mutex error, ", e);
}
}