From 79577a1bd079c76e45ef0219fba7af6679ea9597 Mon Sep 17 00:00:00 2001 From: Volker Richert <v.richert@addmore.de> Date: Sun, 18 Dec 2016 14:42:35 +0100 Subject: [PATCH] avoid exception after detecting invalid message --- .../message/PumpTimeResponseMessage.java | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/info/nightscout/android/medtronic/message/PumpTimeResponseMessage.java b/app/src/main/java/info/nightscout/android/medtronic/message/PumpTimeResponseMessage.java index c7971f9..2e73205 100644 --- a/app/src/main/java/info/nightscout/android/medtronic/message/PumpTimeResponseMessage.java +++ b/app/src/main/java/info/nightscout/android/medtronic/message/PumpTimeResponseMessage.java @@ -26,15 +26,14 @@ public class PumpTimeResponseMessage extends MedtronicSendMessageResponseMessage // TODO - deal with this more elegantly Log.e(TAG, "Invalid message received for getPumpTime"); pumpTime = new Date(); + } else { + ByteBuffer dateBuffer = ByteBuffer.allocate(8); + dateBuffer.order(ByteOrder.BIG_ENDIAN); + dateBuffer.put(this.encode(), 0x3d, 8); + long rtc = dateBuffer.getInt(0) & 0x00000000ffffffffL; + long offset = dateBuffer.getInt(4); + pumpTime = MessageUtils.decodeDateTime(rtc, offset); } - - // FIXME - this needs to go into PumpTimeResponseMessage - ByteBuffer dateBuffer = ByteBuffer.allocate(8); - dateBuffer.order(ByteOrder.BIG_ENDIAN); - dateBuffer.put(this.encode(), 0x3d, 8); - long rtc = dateBuffer.getInt(0) & 0x00000000ffffffffL; - long offset = dateBuffer.getInt(4); - pumpTime = MessageUtils.decodeDateTime(rtc, offset); } public Date getPumpTime() { -- GitLab