public static String dumpHexString(byte[] array) { if (array == null) return "<null>"; return dumpHexString(array, 0, array.length); }
public static String dumpHexString(byte[] array) { if (array == null) return "<null>"; return dumpHexString(array, 0, array.length); }
public static String dumpHexString(byte[] array) { if (array == null) return "<null>"; return dumpHexString(array, 0, array.length); }
private void HebrewAppendDisplayData() { // Do the append for the hebrew language String original_text = notificationText.getText().toString(); Log.d(TAG, "original_text = " + HexDump.dumpHexString(original_text.getBytes())); if (original_text.length() >= 1 && original_text.charAt(0) == 0x0a) { Log.d(TAG, "removing first and appending " + display_delta); notificationText.setText(display_delta + " " + original_text.substring(1)); } else { notificationText.setText(display_delta + " " + original_text); } }
private void HebrewAppendDisplayData() { // Do the append for the hebrew language String original_text = notificationText.getText().toString(); Log.d(TAG, "original_text = " + HexDump.dumpHexString(original_text.getBytes())); if (original_text.length() >= 1 && original_text.charAt(0) == 0x0a) { Log.d(TAG, "removing first and appending " + display_delta); notificationText.setText(display_delta + " " + original_text.substring(1)); } else { notificationText.setText(display_delta + " " + original_text); } }
public String toHexDump() { return HexDump.dumpHexString(getBytes()); }
public String toHexDump() { return HexDump.dumpHexString(getBytes()); }
static public void SendData(byte[] fullData, long timestamp) { if(fullData == null) { Log.e(TAG, "SendData called with null data"); return; } if(fullData.length < 344) { Log.e(TAG, "SendData called with data size too small. " + fullData.length); return; } Log.i(TAG, "Sending full data to OOP Algorithm data-len = " + fullData.length); fullData = java.util.Arrays.copyOfRange(fullData, 0, 0x158); Log.i(TAG, "Data that will be sent is " + HexDump.dumpHexString(fullData)); Intent intent = new Intent(Intents.XDRIP_PLUS_LIBRE_DATA); Bundle bundle = new Bundle(); bundle.putByteArray(Intents.LIBRE_DATA_BUFFER, fullData); bundle.putLong(Intents.LIBRE_DATA_TIMESTAMP, timestamp); bundle.putString(Intents.LIBRE_SN, PersistentStore.getString("LibreSN")); intent.putExtras(bundle); intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES); xdrip.getAppContext().sendBroadcast(intent); }
static public void SendData(byte[] fullData, long timestamp) { if(fullData == null) { Log.e(TAG, "SendData called with null data"); return; } if(fullData.length < 344) { Log.e(TAG, "SendData called with data size too small. " + fullData.length); return; } Log.i(TAG, "Sending full data to OOP Algorithm data-len = " + fullData.length); fullData = java.util.Arrays.copyOfRange(fullData, 0, 0x158); Log.i(TAG, "Data that will be sent is " + HexDump.dumpHexString(fullData)); Intent intent = new Intent(Intents.XDRIP_PLUS_LIBRE_DATA); Bundle bundle = new Bundle(); bundle.putByteArray(Intents.LIBRE_DATA_BUFFER, fullData); bundle.putLong(Intents.LIBRE_DATA_TIMESTAMP, timestamp); bundle.putString(Intents.LIBRE_SN, PersistentStore.getString("LibreSN")); intent.putExtras(bundle); intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES); xdrip.getAppContext().sendBroadcast(intent); }
static public void SendData(byte[] fullData, long timestamp) { if(fullData == null) { Log.e(TAG, "SendData called with null data"); return; } if(fullData.length < 344) { Log.e(TAG, "SendData called with data size too small. " + fullData.length); return; } Log.i(TAG, "Sending full data to OOP Algorithm data-len = " + fullData.length); fullData = java.util.Arrays.copyOfRange(fullData, 0, 0x158); Log.i(TAG, "Data that will be sent is " + HexDump.dumpHexString(fullData)); Intent intent = new Intent(Intents.XDRIP_PLUS_LIBRE_DATA); Bundle bundle = new Bundle(); bundle.putByteArray(Intents.LIBRE_DATA_BUFFER, fullData); bundle.putLong(Intents.LIBRE_DATA_TIMESTAMP, timestamp); bundle.putString(Intents.LIBRE_SN, PersistentStore.getString("LibreSN")); intent.putExtras(bundle); intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES); xdrip.getAppContext().sendBroadcast(intent); }
static void AreWeDone() { if(s_recviedEnoughData) { // This reading already ended return; } if(s_acumulatedSize < 344 + TOMATO_HEADER_LENGTH + 1) { return; } byte[] data = Arrays.copyOfRange(s_full_data, TOMATO_HEADER_LENGTH, TOMATO_HEADER_LENGTH+344); s_recviedEnoughData = true; long now = JoH.tsl(); // Important note, the actual serial number is 8 bytes long and starts at addresses 5. String SensorSn = LibreUtils.decodeSerialNumberKey(Arrays.copyOfRange(s_full_data, 5, 13)); boolean checksum_ok = NFCReaderX.HandleGoodReading(SensorSn, data, now, true); Log.e(TAG, "We have all the data that we need " + s_acumulatedSize + " checksum_ok = " + checksum_ok + HexDump.dumpHexString(data)); if(!checksum_ok) { throw new RuntimeException(CHECKSUM_FAILED); } PersistentStore.setString("Tomatobattery", Integer.toString(s_full_data[13])); Pref.setInt("bridge_battery", s_full_data[13]); PersistentStore.setString("TomatoHArdware",HexDump.toHexString(s_full_data,16,2)); PersistentStore.setString("TomatoFirmware",HexDump.toHexString(s_full_data,14,2)); PersistentStore.setString("LibreSN", SensorSn); }
static void AreWeDone() { if(s_recviedEnoughData) { // This reading already ended return; } if(s_acumulatedSize < 344 + TOMATO_HEADER_LENGTH + 1) { return; } byte[] data = Arrays.copyOfRange(s_full_data, TOMATO_HEADER_LENGTH, TOMATO_HEADER_LENGTH+344); s_recviedEnoughData = true; long now = JoH.tsl(); // Important note, the actual serial number is 8 bytes long and starts at addresses 5. String SensorSn = LibreUtils.decodeSerialNumberKey(Arrays.copyOfRange(s_full_data, 5, 13)); boolean checksum_ok = NFCReaderX.HandleGoodReading(SensorSn, data, now, true); Log.e(TAG, "We have all the data that we need " + s_acumulatedSize + " checksum_ok = " + checksum_ok + HexDump.dumpHexString(data)); if(!checksum_ok) { throw new RuntimeException(CHECKSUM_FAILED); } PersistentStore.setString("Tomatobattery", Integer.toString(s_full_data[13])); Pref.setInt("bridge_battery", s_full_data[13]); PersistentStore.setString("TomatoHArdware",HexDump.toHexString(s_full_data,16,2)); PersistentStore.setString("TomatoFirmware",HexDump.toHexString(s_full_data,14,2)); PersistentStore.setString("LibreSN", SensorSn); }
static void AreWeDone() { if(s_recviedEnoughData) { // This reading already ended return; } if(s_acumulatedSize < 344 + TOMATO_HEADER_LENGTH + 1) { return; } byte[] data = Arrays.copyOfRange(s_full_data, TOMATO_HEADER_LENGTH, TOMATO_HEADER_LENGTH+344); s_recviedEnoughData = true; long now = JoH.tsl(); // Important note, the actual serial number is 8 bytes long and starts at addresses 5. String SensorSn = LibreUtils.decodeSerialNumberKey(Arrays.copyOfRange(s_full_data, 5, 13)); boolean checksum_ok = NFCReaderX.HandleGoodReading(SensorSn, data, now, true); Log.e(TAG, "We have all the data that we need " + s_acumulatedSize + " checksum_ok = " + checksum_ok + HexDump.dumpHexString(data)); if(!checksum_ok) { throw new RuntimeException(CHECKSUM_FAILED); } PersistentStore.setString("Tomatobattery", Integer.toString(s_full_data[13])); Pref.setInt("bridge_battery", s_full_data[13]); PersistentStore.setString("TomatoHArdware",HexDump.toHexString(s_full_data,16,2)); PersistentStore.setString("TomatoFirmware",HexDump.toHexString(s_full_data,14,2)); PersistentStore.setString("LibreSN", SensorSn); }
public static void processReadingDataTransferObject(ReadingData.TransferObject object, long CaptureDateTime, String tagid, boolean allowUpload) { Log.i(TAG, "Data that was recieved from librealarm is " + HexDump.dumpHexString(object.data.raw_data)); // Save raw block record (we start from block 0) LibreBlock.createAndSave(tagid, CaptureDateTime, object.data.raw_data, 0, allowUpload); if(Pref.getBooleanDefaultFalse("external_blukon_algorithm")) { if(object.data.raw_data == null) { Log.e(TAG, "Please update LibreAlarm to use OOP algorithm"); JoH.static_toast_long("Please update LibreAlarm to use OOP algorithm"); return; } LibreOOPAlgorithm.SendData(object.data.raw_data, CaptureDateTime); return; } CalculateFromDataTransferObject(object, use_raw_); }
public static void processReadingDataTransferObject(ReadingData.TransferObject object, long CaptureDateTime, String tagid, boolean allowUpload) { Log.i(TAG, "Data that was recieved from librealarm is " + HexDump.dumpHexString(object.data.raw_data)); // Save raw block record (we start from block 0) LibreBlock.createAndSave(tagid, CaptureDateTime, object.data.raw_data, 0, allowUpload); if(Pref.getBooleanDefaultFalse("external_blukon_algorithm")) { if(object.data.raw_data == null) { Log.e(TAG, "Please update LibreAlarm to use OOP algorithm"); JoH.static_toast_long("Please update LibreAlarm to use OOP algorithm"); return; } LibreOOPAlgorithm.SendData(object.data.raw_data, CaptureDateTime); return; } CalculateFromDataTransferObject(object, use_raw_); }
public static void processReadingDataTransferObject(ReadingData.TransferObject object, long CaptureDateTime, String tagid, boolean allowUpload) { Log.i(TAG, "Data that was recieved from librealarm is " + HexDump.dumpHexString(object.data.raw_data)); // Save raw block record (we start from block 0) LibreBlock.createAndSave(tagid, CaptureDateTime, object.data.raw_data, 0, allowUpload); if(Pref.getBooleanDefaultFalse("external_blukon_algorithm")) { if(object.data.raw_data == null) { Log.e(TAG, "Please update LibreAlarm to use OOP algorithm"); JoH.static_toast_long("Please update LibreAlarm to use OOP algorithm"); return; } LibreOOPAlgorithm.SendData(object.data.raw_data, CaptureDateTime); return; } CalculateFromDataTransferObject(object, use_raw_); }
@Override public void onCharacteristicChanged(BluetoothGatt gatt, final BluetoothGattCharacteristic characteristic) { final PowerManager.WakeLock wakeLock1 = JoH.getWakeLock("DexCollectionService", 60000); try { final byte[] data = characteristic.getValue(); if (data != null && data.length > 0) { setSerialDataToTransmitterRawData(data, data.length); final String hexdump = HexDump.dumpHexString(data); //if (!hexdump.contains("0x00000000 00 ")) { if (data.length > 1 || data[0] != 0x00) { static_last_hexdump = hexdump; } if (d) Log.i(TAG, "onCharacteristicChanged entered " + hexdump); } lastdata = data; Inevitable.task("dex-set-failover", 1000, () -> { setFailoverTimer(); // restart the countdown // intentionally left hanging wakelock for 5 seconds after we receive something final PowerManager.WakeLock wakeLock2 = JoH.getWakeLock("DexCollectionLinger", 5000); }); } finally { /* if (Pref.getBoolean("bluetooth_frequent_reset", false)) { Log.e(TAG, "Resetting bluetooth due to constant reset option being set!"); JoH.restartBluetooth(getApplicationContext(), 5000); }*/ JoH.releaseWakeLock(wakeLock1); } }
@Override public void onCharacteristicChanged(BluetoothGatt gatt, final BluetoothGattCharacteristic characteristic) { final PowerManager.WakeLock wakeLock1 = JoH.getWakeLock("DexCollectionService", 60000); try { final byte[] data = characteristic.getValue(); if (data != null && data.length > 0) { setSerialDataToTransmitterRawData(data, data.length); final String hexdump = HexDump.dumpHexString(data); //if (!hexdump.contains("0x00000000 00 ")) { if (data.length > 1 || data[0] != 0x00) { static_last_hexdump = hexdump; } if (d) Log.i(TAG, "onCharacteristicChanged entered " + hexdump); } lastdata = data; Inevitable.task("dex-set-failover", 1000, () -> { setFailoverTimer(); // restart the countdown // intentionally left hanging wakelock for 5 seconds after we receive something final PowerManager.WakeLock wakeLock2 = JoH.getWakeLock("DexCollectionLinger", 5000); }); } finally { /* if (Pref.getBoolean("bluetooth_frequent_reset", false)) { Log.e(TAG, "Resetting bluetooth due to constant reset option being set!"); JoH.restartBluetooth(getApplicationContext(), 5000); }*/ JoH.releaseWakeLock(wakeLock1); } }
private void validResponse(String subroute, WebResponse response) { assertWithMessage(subroute + " instance null data response") .that(response) .isNotNull(); log("\n\n" + subroute + " Result code: " + response.resultCode); log(HexDump.dumpHexString(response.bytes)); assertWithMessage(subroute + " result code") .that(response.resultCode) .isEqualTo(200); assertWithMessage(subroute + " instance data length") .that(response.bytes.length) .isAtLeast(1); } }
private void validResponse(String subroute, WebResponse response) { assertWithMessage(subroute + " instance null data response") .that(response) .isNotNull(); log("\n\n" + subroute + " Result code: " + response.resultCode); log(HexDump.dumpHexString(response.bytes)); assertWithMessage(subroute + " result code") .that(response.resultCode) .isEqualTo(200); assertWithMessage(subroute + " instance data length") .that(response.bytes.length) .isAtLeast(1); } }