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