From f182e8e92ecb4bf9ec3dfe1bb649b4756c9ed931 Mon Sep 17 00:00:00 2001 From: Johannes Mockenhaupt <git@jotomo.de> Date: Sat, 1 Jul 2017 23:33:27 +0200 Subject: [PATCH] Bugfix: use sgvDate to detect possible duplicate. --- .../medtronic/service/MedtronicCnlIntentService.java | 6 ++---- .../upload/nightscout/serializer/EntriesSerializer.java | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/info/nightscout/android/medtronic/service/MedtronicCnlIntentService.java b/app/src/main/java/info/nightscout/android/medtronic/service/MedtronicCnlIntentService.java index df782ba..327895b 100644 --- a/app/src/main/java/info/nightscout/android/medtronic/service/MedtronicCnlIntentService.java +++ b/app/src/main/java/info/nightscout/android/medtronic/service/MedtronicCnlIntentService.java @@ -39,6 +39,7 @@ import info.nightscout.android.utils.ConfigurationStore; import info.nightscout.android.utils.DataStore; import info.nightscout.android.xdrip_plus.XDripPlusUploadReceiver; import io.realm.Realm; +import io.realm.RealmResults; public class MedtronicCnlIntentService extends IntentService { public final static int USB_VID = 0x1a79; @@ -245,15 +246,12 @@ public class MedtronicCnlIntentService extends IntentService { sendStatus("Pump sent old SGV event, re-polling..."); } - //MainActivity.timeLastGoodSGV = pumpRecord.getEventDate().getTime(); // track last good sgv event time - //MainActivity.pumpBattery = pumpRecord.getBatteryPercentage(); // track pump battery - timeLastGoodSGV = pumpRecord.getEventDate().getTime(); dataStore.clearUnavailableSGVCount(); // reset unavailable sgv count // Check that the record doesn't already exist before committing RealmResults<PumpStatusEvent> checkExistingRecords = activePump.getPumpHistory() .where() - .equalTo("eventDate", pumpRecord.getEventDate()) // >>>>>>> check as event date may not = exact pump event date due to it being stored with offset added this could lead to dup events due to slight variability in time offset + .equalTo("sgvDate", pumpRecord.getSgvDate()) .equalTo("sgv", pumpRecord.getSgv()) .findAll(); diff --git a/app/src/main/java/info/nightscout/android/upload/nightscout/serializer/EntriesSerializer.java b/app/src/main/java/info/nightscout/android/upload/nightscout/serializer/EntriesSerializer.java index c33c6e1..1f40ab0 100644 --- a/app/src/main/java/info/nightscout/android/upload/nightscout/serializer/EntriesSerializer.java +++ b/app/src/main/java/info/nightscout/android/upload/nightscout/serializer/EntriesSerializer.java @@ -81,7 +81,7 @@ public class EntriesSerializer implements JsonSerializer<PumpStatusEvent> { jsonObject.addProperty("device", src.getDeviceName()); jsonObject.addProperty("type", "sgv"); jsonObject.addProperty("date", src.getSgvDate().getTime()); - jsonObject.addProperty("dateString", String.valueOf(src.getEventDate())); + jsonObject.addProperty("dateString", String.valueOf(src.getSgvDate())); return jsonObject; } -- GitLab