From 0f51ca9aa6aee3d032da5dfa23707088afbcf7e6 Mon Sep 17 00:00:00 2001 From: Volker Richert <v.richert@addmore.de> Date: Sun, 1 Jan 2017 22:14:11 +0100 Subject: [PATCH] show log for last line in every case. was missing with 16 char in last line --- .../medtronic/message/EHSMMessage.java | 6 ++++- .../nightscout/android/utils/HexDump.java | 22 +++++++++---------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/info/nightscout/android/medtronic/message/EHSMMessage.java b/app/src/main/java/info/nightscout/android/medtronic/message/EHSMMessage.java index 1242361..d930a59 100644 --- a/app/src/main/java/info/nightscout/android/medtronic/message/EHSMMessage.java +++ b/app/src/main/java/info/nightscout/android/medtronic/message/EHSMMessage.java @@ -7,6 +7,7 @@ import info.nightscout.android.USB.UsbHidDriver; import info.nightscout.android.medtronic.MedtronicCnlSession; import info.nightscout.android.medtronic.exception.ChecksumException; import info.nightscout.android.medtronic.exception.EncryptionException; +import info.nightscout.android.medtronic.exception.UnexpectedMessageException; /** * Created by volker on 22.12.2016. @@ -18,7 +19,7 @@ public class EHSMMessage extends MedtronicSendMessageRequestMessage<ContourNext } @Override - public ContourNextLinkResponseMessage send(UsbHidDriver mDevice, int millis) throws IOException, TimeoutException { + public ContourNextLinkResponseMessage send(UsbHidDriver mDevice, int millis) throws IOException, TimeoutException, UnexpectedMessageException { sendMessage(mDevice); if (millis > 0) { try { @@ -28,6 +29,9 @@ public class EHSMMessage extends MedtronicSendMessageRequestMessage<ContourNext } // The End EHSM Session only has an 0x81 response readMessage(mDevice); + if (this.encode().length != 54) { + throw new UnexpectedMessageException("length of EHSMMessage response does not match"); + } return null; } } diff --git a/app/src/main/java/info/nightscout/android/utils/HexDump.java b/app/src/main/java/info/nightscout/android/utils/HexDump.java index 1e01ce7..0f7ccab 100644 --- a/app/src/main/java/info/nightscout/android/utils/HexDump.java +++ b/app/src/main/java/info/nightscout/android/utils/HexDump.java @@ -63,19 +63,17 @@ public class HexDump { line[lineIndex++] = b; } - if (lineIndex != 16) { - int count = (16 - lineIndex) * 3; - count++; - for (int i = 0; i < count; i++) { - result.append(" "); - } + int count = (16 - lineIndex) * 3; + count++; + for (int i = 0; i < count; i++) { + result.append(" "); + } - for (int i = 0; i < lineIndex; i++) { - if (line[i] > ' ' && line[i] < '~') { - result.append(new String(line, i, 1)); - } else { - result.append("."); - } + for (int i = 0; i < lineIndex; i++) { + if (line[i] > ' ' && line[i] < '~') { + result.append(new String(line, i, 1)); + } else { + result.append("."); } } -- GitLab