From 6ee1141740941e634d7fe7fa13dd96f4803ea608 Mon Sep 17 00:00:00 2001 From: Lennart Goedhart <lennart@omnibase.com.au> Date: Mon, 13 Mar 2017 18:56:37 +1100 Subject: [PATCH] Fixes for reading data from the pump when there is no CGM active. --- .../nightscout/android/medtronic/MainActivity.java | 11 +---------- .../medtronic/message/PumpStatusResponseMessage.java | 5 ++--- .../android/model/medtronicNg/PumpInfo.java | 2 +- 3 files changed, 4 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/info/nightscout/android/medtronic/MainActivity.java b/app/src/main/java/info/nightscout/android/medtronic/MainActivity.java index 220ba9f..b7bab7f 100644 --- a/app/src/main/java/info/nightscout/android/medtronic/MainActivity.java +++ b/app/src/main/java/info/nightscout/android/medtronic/MainActivity.java @@ -629,13 +629,8 @@ public class MainActivity extends AppCompatActivity implements OnSharedPreferenc return; } - PumpStatusEvent pumpStatusData = pump.getPumpHistory().last();; - lastQueryTS = pump.getLastQueryTS(); -// >>>>> note: prototype smart poll handling added to cnl intent -// startCgmService(MainActivity.getNextPoll(pumpStatusData)); - // Delete invalid or old records from Realm // TODO - show an error message if the valid records haven't been uploaded final RealmResults<PumpStatusEvent> results = @@ -657,10 +652,6 @@ public class MainActivity extends AppCompatActivity implements OnSharedPreferenc } // TODO - handle isOffline in NightscoutUploadIntentService? - - // >>>>> check this out as it's uploading before cnl comms finishes and may cause occasional channel changes due to wifi noise - cnl intent handles ns upload trigger after all comms finish - // uploadCgmData(); - refreshDisplay(); } }); @@ -758,7 +749,7 @@ public class MainActivity extends AppCompatActivity implements OnSharedPreferenc PumpInfo pump = getActivePump(); - if (pump != null && pump.isValid()) { + if (pump != null && pump.isValid() && pump.getPumpHistory().size() > 0) { Log.d(TAG, "history display refresh size: " + pump.getPumpHistory().size()); Log.d(TAG, "history display refresh date: " + pump.getPumpHistory().last().getEventDate()); pumpStatusData = pump.getPumpHistory().last(); diff --git a/app/src/main/java/info/nightscout/android/medtronic/message/PumpStatusResponseMessage.java b/app/src/main/java/info/nightscout/android/medtronic/message/PumpStatusResponseMessage.java index 4b591cc..68c60b7 100644 --- a/app/src/main/java/info/nightscout/android/medtronic/message/PumpStatusResponseMessage.java +++ b/app/src/main/java/info/nightscout/android/medtronic/message/PumpStatusResponseMessage.java @@ -143,9 +143,8 @@ public class PumpStatusResponseMessage extends MedtronicSendMessageResponseMessa * update pumpRecord with data read from pump * * @param pumpRecord - * @param pumpOffset */ - public void updatePumpRecord(PumpStatusEvent pumpRecord, long pumpOffset) { + public void updatePumpRecord(PumpStatusEvent pumpRecord) { // Status Flags pumpRecord.setSuspended(suspended); pumpRecord.setBolusing(bolusing); @@ -188,7 +187,7 @@ public class PumpStatusResponseMessage extends MedtronicSendMessageResponseMessa // SGV Date pumpRecord.setCgmTrend(cgmTrend); - pumpRecord.setEventDate(new Date(sgvDate.getTime() - pumpOffset)); + pumpRecord.setEventDate(new Date(sgvDate.getTime() - pumpRecord.getPumpTimeOffset())); // Predictive low suspend // TODO - there is more status info in this byte other than just a boolean yes/no diff --git a/app/src/main/java/info/nightscout/android/model/medtronicNg/PumpInfo.java b/app/src/main/java/info/nightscout/android/model/medtronicNg/PumpInfo.java index dac3391..f7d864d 100644 --- a/app/src/main/java/info/nightscout/android/model/medtronicNg/PumpInfo.java +++ b/app/src/main/java/info/nightscout/android/model/medtronicNg/PumpInfo.java @@ -16,7 +16,7 @@ public class PumpInfo extends RealmObject { private byte lastRadioChannel; private long lastQueryTS = 0; private RealmList<ContourNextLinkInfo> associatedCnls; - private RealmList<PumpStatusEvent> pumpHistory; + private RealmList<PumpStatusEvent> pumpHistory = new RealmList<>(); public long getPumpMac() { return pumpMac; -- GitLab