From 0709cc4d799278f5528ff27e45e054a706d90ba9 Mon Sep 17 00:00:00 2001 From: Lennart Goedhart <lennart@omnibase.com.au> Date: Sat, 30 Jul 2016 12:24:30 +0800 Subject: [PATCH] Merge the Realm object CgmStatusEvent into PumpStatusEvent, since the data comes from the same Medtronic message, and allows us to make sure the commits are atomic. --- .../android/medtronic/MainActivity.java | 39 ++++----- .../android/medtronic/MedtronicCNLReader.java | 34 ++++---- .../service/MedtronicCnlIntentService.java | 25 ++---- .../android/model/CgmStatusEvent.java | 82 ------------------- .../android/model/medtronicNg/PumpInfo.java | 10 --- .../model/medtronicNg/PumpStatusEvent.java | 32 ++++++++ .../NightscoutUploadIntentService.java | 22 ++--- .../serializer/EntriesSerializer.java | 10 +-- 8 files changed, 94 insertions(+), 160 deletions(-) delete mode 100644 app/src/main/java/info/nightscout/android/model/CgmStatusEvent.java 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 f73e3ab..4036a02 100644 --- a/app/src/main/java/info/nightscout/android/medtronic/MainActivity.java +++ b/app/src/main/java/info/nightscout/android/medtronic/MainActivity.java @@ -56,9 +56,9 @@ import info.nightscout.android.eula.Eula; import info.nightscout.android.eula.Eula.OnEulaAgreedTo; import info.nightscout.android.medtronic.service.MedtronicCnlAlarmReceiver; import info.nightscout.android.medtronic.service.MedtronicCnlIntentService; -import info.nightscout.android.model.CgmStatusEvent; import info.nightscout.android.model.medtronicNg.ContourNextLinkInfo; import info.nightscout.android.model.medtronicNg.PumpInfo; +import info.nightscout.android.model.medtronicNg.PumpStatusEvent; import info.nightscout.android.settings.SettingsActivity; import info.nightscout.android.upload.MedtronicNG.PumpStatusRecord; import info.nightscout.android.upload.nightscout.NightscoutUploadIntentService; @@ -424,7 +424,7 @@ public class MainActivity extends AppCompatActivity implements OnSharedPreferenc } } - private String renderTrendHtml(CgmStatusEvent.TREND trend) { + private String renderTrendHtml(PumpStatusEvent.CGM_TREND trend) { switch (trend) { case DOUBLE_UP: return "⇈"; @@ -488,17 +488,18 @@ public class MainActivity extends AppCompatActivity implements OnSharedPreferenc TextView textViewIOB = (TextView) findViewById(R.id.textview_iob); // Get the most recently written CGM record. - RealmResults<CgmStatusEvent> results = - mRealm.where(CgmStatusEvent.class) + // FIXME - grab the last item from the activePump's getPumpHistory + RealmResults<PumpStatusEvent> results = + mRealm.where(PumpStatusEvent.class) .findAllSorted("eventDate", Sort.ASCENDING); - CgmStatusEvent cgmRecord = null; + PumpStatusEvent pumpRecord = null; if (results.size() > 0) { - cgmRecord = results.last(); + pumpRecord = results.last(); } - if (cgmRecord == null) { + if (pumpRecord == null) { return; } @@ -510,21 +511,21 @@ public class MainActivity extends AppCompatActivity implements OnSharedPreferenc String sgvString, units; if (prefs.getBoolean("mmolxl", false)) { - float fBgValue = (float) cgmRecord.getSgv(); + float fBgValue = (float) pumpRecord.getSgv(); sgvString = df.format(fBgValue / 18.016f); units = "mmol/L"; Log.d(TAG, "mmolxl true --> " + sgvString); } else { - sgvString = String.valueOf(cgmRecord.getSgv()); + sgvString = String.valueOf(pumpRecord.getSgv()); units = "mg/dL"; Log.d(TAG, "mmolxl false --> " + sgvString); } textViewBg.setText(sgvString); textViewUnits.setText(units); - textViewBgTime.setText(DateUtils.getRelativeTimeSpanString(cgmRecord.getEventDate().getTime())); - textViewTrend.setText(Html.fromHtml(renderTrendHtml(cgmRecord.getTrend()))); + textViewBgTime.setText(DateUtils.getRelativeTimeSpanString(pumpRecord.getEventDate().getTime())); + textViewTrend.setText(Html.fromHtml(renderTrendHtml(pumpRecord.getCgmTrend()))); textViewIOB.setText(String.format(Locale.getDefault(), "%.2f", pumpStatusRecord.activeInsulin)); /* @@ -547,8 +548,8 @@ public class MainActivity extends AppCompatActivity implements OnSharedPreferenc mUiRefreshHandler.postDelayed(this, 60000L); } - private void updateChart(RealmResults<CgmStatusEvent> results) { - RealmLineDataSet<CgmStatusEvent> lineDataSet = new RealmLineDataSet<>(results, "eventDate", "sgv"); + private void updateChart(RealmResults<PumpStatusEvent> results) { + RealmLineDataSet<PumpStatusEvent> lineDataSet = new RealmLineDataSet<>(results, "eventDate", "sgv"); lineDataSet.setDrawCircleHole(false); lineDataSet.setColor(ColorTemplate.rgb("#FF5722")); @@ -577,20 +578,20 @@ public class MainActivity extends AppCompatActivity implements OnSharedPreferenc return; } - CgmStatusEvent cgmData = null; + PumpStatusEvent pumpStatusData = null; PumpInfo pump = getActivePump(); if (pump != null & pump.isValid()) { long pumpMac = pump.getPumpMac(); - cgmData = pump.getCgmHistory().last(); + pumpStatusData = pump.getPumpHistory().last(); } - if (cgmData != null) { + if (pumpStatusData != null) { Log.d(TAG, "It's working yo"); } - CgmStatusEvent record = mRealm.where(CgmStatusEvent.class) + PumpStatusEvent record = mRealm.where(PumpStatusEvent.class) .findAll() .last(); @@ -600,8 +601,8 @@ public class MainActivity extends AppCompatActivity implements OnSharedPreferenc // Delete invalid or old records from Realm // TODO - show an error message if the valid records haven't been uploaded - final RealmResults<CgmStatusEvent> results = - mRealm.where(CgmStatusEvent.class) + final RealmResults<PumpStatusEvent> results = + mRealm.where(PumpStatusEvent.class) .equalTo("sgv", 0) .or() .lessThan("eventDate", new Date(System.currentTimeMillis() - (24 * 60 * 60 * 1000))) diff --git a/app/src/main/java/info/nightscout/android/medtronic/MedtronicCNLReader.java b/app/src/main/java/info/nightscout/android/medtronic/MedtronicCNLReader.java index acd660b..745e2a7 100644 --- a/app/src/main/java/info/nightscout/android/medtronic/MedtronicCNLReader.java +++ b/app/src/main/java/info/nightscout/android/medtronic/MedtronicCNLReader.java @@ -35,7 +35,7 @@ import info.nightscout.android.medtronic.message.PumpTimeRequestMessage; import info.nightscout.android.medtronic.message.PumpTimeResponseMessage; import info.nightscout.android.medtronic.message.ReadInfoResponseMessage; import info.nightscout.android.medtronic.message.UnexpectedMessageException; -import info.nightscout.android.model.CgmStatusEvent; +import info.nightscout.android.model.medtronicNg.PumpStatusEvent; import info.nightscout.android.utils.HexDump; /** @@ -60,24 +60,24 @@ public class MedtronicCnlReader implements ContourNextLinkMessageHandler { mDevice = device; } - private static CgmStatusEvent.TREND fromMessageByte(byte messageByte) { + private static PumpStatusEvent.CGM_TREND fromMessageByte(byte messageByte) { switch (messageByte) { case (byte) 0x60: - return CgmStatusEvent.TREND.FLAT; + return PumpStatusEvent.CGM_TREND.FLAT; case (byte) 0xc0: - return CgmStatusEvent.TREND.DOUBLE_UP; + return PumpStatusEvent.CGM_TREND.DOUBLE_UP; case (byte) 0xa0: - return CgmStatusEvent.TREND.SINGLE_UP; + return PumpStatusEvent.CGM_TREND.SINGLE_UP; case (byte) 0x80: - return CgmStatusEvent.TREND.FOURTY_FIVE_UP; + return PumpStatusEvent.CGM_TREND.FOURTY_FIVE_UP; case (byte) 0x40: - return CgmStatusEvent.TREND.FOURTY_FIVE_DOWN; + return PumpStatusEvent.CGM_TREND.FOURTY_FIVE_DOWN; case (byte) 0x20: - return CgmStatusEvent.TREND.SINGLE_DOWN; + return PumpStatusEvent.CGM_TREND.SINGLE_DOWN; case (byte) 0x00: - return CgmStatusEvent.TREND.DOUBLE_DOWN; + return PumpStatusEvent.CGM_TREND.DOUBLE_DOWN; default: - return CgmStatusEvent.TREND.NOT_COMPUTABLE; + return PumpStatusEvent.CGM_TREND.NOT_COMPUTABLE; } } @@ -343,7 +343,7 @@ public class MedtronicCnlReader implements ContourNextLinkMessageHandler { return MessageUtils.decodeDateTime(rtc, offset); } - public void getPumpStatus(CgmStatusEvent cgmRecord, long pumpTimeOffset) throws IOException, EncryptionException, ChecksumException, TimeoutException { + public void getPumpStatus(PumpStatusEvent pumpRecord, long pumpTimeOffset) throws IOException, EncryptionException, ChecksumException, TimeoutException { Log.d(TAG, "Begin getPumpStatus"); // FIXME - throw if not in EHSM mode (add a state machine) @@ -369,21 +369,21 @@ public class MedtronicCnlReader implements ContourNextLinkMessageHandler { // Read the data into the record long rawActiveInsulin = statusBuffer.getShort(0x33) & 0x0000ffff; MainActivity.pumpStatusRecord.activeInsulin = new BigDecimal(rawActiveInsulin / 10000f).setScale(3, BigDecimal.ROUND_HALF_UP); - cgmRecord.setSgv(statusBuffer.getShort(0x35) & 0x0000ffff); // In mg/DL. 0 means no CGM reading + pumpRecord.setSgv(statusBuffer.getShort(0x35) & 0x0000ffff); // In mg/DL. 0 means no CGM reading long rtc; long offset; - if ((cgmRecord.getSgv() & 0x200) == 0x200) { + if ((pumpRecord.getSgv() & 0x200) == 0x200) { // Sensor error. Let's reset. FIXME - solve this more elegantly later - cgmRecord.setSgv(0); + pumpRecord.setSgv(0); rtc = 0; offset = 0; - cgmRecord.setTrend(CgmStatusEvent.TREND.NOT_SET); + pumpRecord.setCgmTrend(PumpStatusEvent.CGM_TREND.NOT_SET); } else { rtc = statusBuffer.getInt(0x37) & 0x00000000ffffffffL; offset = statusBuffer.getInt(0x3b); - cgmRecord.setTrend(fromMessageByte(statusBuffer.get(0x40))); + pumpRecord.setCgmTrend(fromMessageByte(statusBuffer.get(0x40))); } - cgmRecord.setEventDate(new Date(MessageUtils.decodeDateTime(rtc, offset).getTime() - pumpTimeOffset)); + pumpRecord.setEventDate(new Date(MessageUtils.decodeDateTime(rtc, offset).getTime() - pumpTimeOffset)); MainActivity.pumpStatusRecord.recentBolusWizard = statusBuffer.get(0x48) != 0; MainActivity.pumpStatusRecord.bolusWizardBGL = statusBuffer.getShort(0x49); // In mg/DL long rawReservoirAmount = statusBuffer.getInt(0x2b); 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 f7385e9..a981194 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 @@ -22,7 +22,6 @@ import info.nightscout.android.medtronic.message.ChecksumException; import info.nightscout.android.medtronic.message.EncryptionException; import info.nightscout.android.medtronic.message.MessageUtils; import info.nightscout.android.medtronic.message.UnexpectedMessageException; -import info.nightscout.android.model.CgmStatusEvent; import info.nightscout.android.model.medtronicNg.ContourNextLinkInfo; import info.nightscout.android.model.medtronicNg.PumpInfo; import info.nightscout.android.model.medtronicNg.PumpStatusEvent; @@ -194,38 +193,32 @@ public class MedtronicCnlIntentService extends IntentService { Log.d(TAG, String.format("Connected to Contour Next Link on channel %d.", (int) radioChannel)); cnlReader.beginEHSMSession(); - //PumpStatusEvent pumpRecord = realm.createObject(PumpStatusEvent.class); - CgmStatusEvent cgmRecord = realm.createObject(CgmStatusEvent.class); + PumpStatusEvent pumpRecord = realm.createObject(PumpStatusEvent.class); String deviceName = String.format("medtronic-640g://%s", cnlReader.getStickSerial()); activePump.setDeviceName(deviceName); // TODO - this should not be necessary. We should reverse lookup the device name from PumpInfo - cgmRecord.setDeviceName(deviceName); - //pumpRecord.setDeviceName(deviceName); - - // TODO - legacy. Remove once we've plumbed in pumpRecord. - //MainActivity.pumpStatusRecord.setDeviceName(deviceName); + pumpRecord.setDeviceName(deviceName); long pumpTime = cnlReader.getPumpTime().getTime(); long pumpOffset = pumpTime - System.currentTimeMillis(); // TODO - send ACTION to MainActivity to show offset between pump and uploader. MainActivity.pumpStatusRecord.pumpDate = new Date(pumpTime - pumpOffset); - //pumpRecord.setPumpDate(cnlReader.getPumpTime()); - cgmRecord.setPumpDate(new Date(pumpTime - pumpOffset)); - cnlReader.getPumpStatus(cgmRecord, pumpOffset); - activePump.getCgmHistory().add(cgmRecord); + pumpRecord.setPumpDate(new Date(pumpTime - pumpOffset)); + cnlReader.getPumpStatus(pumpRecord, pumpOffset); + activePump.getPumpHistory().add(pumpRecord); cnlReader.endEHSMSession(); boolean cancelTransaction = true; - if (cgmRecord.getSgv() != 0) { + if (pumpRecord.getSgv() != 0) { // Check that the record doesn't already exist before committing - RealmResults<CgmStatusEvent> checkExistingRecords = activePump.getCgmHistory() + RealmResults<PumpStatusEvent> checkExistingRecords = activePump.getPumpHistory() .where() - .equalTo("eventDate", cgmRecord.getEventDate()) - .equalTo("sgv", cgmRecord.getSgv()) + .equalTo("eventDate", pumpRecord.getEventDate()) + .equalTo("sgv", pumpRecord.getSgv()) .findAll(); // There should be the 1 record we've already added in this transaction. diff --git a/app/src/main/java/info/nightscout/android/model/CgmStatusEvent.java b/app/src/main/java/info/nightscout/android/model/CgmStatusEvent.java deleted file mode 100644 index 1100d32..0000000 --- a/app/src/main/java/info/nightscout/android/model/CgmStatusEvent.java +++ /dev/null @@ -1,82 +0,0 @@ -package info.nightscout.android.model; - -import java.util.Date; - -import io.realm.RealmObject; -import io.realm.annotations.Index; - -/** - * Created by lgoedhart on 4/06/2016. - */ -public class CgmStatusEvent extends RealmObject { - @Index - private Date eventDate; // The actual time of the event (assume the capture device eventDate/time is accurate) - private Date pumpDate; // The eventDate/time on the pump at the time of the event - private String deviceName; - private int sgv; - private String trend; - @Index - private boolean uploaded = false; - - public Date getEventDate() { - return eventDate; - } - - public void setEventDate(Date eventDate) { - this.eventDate = eventDate; - } - - public Date getPumpDate() { - return pumpDate; - } - - public void setPumpDate(Date pumpDate) { - this.pumpDate = pumpDate; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public int getSgv() { - return sgv; - } - - public void setSgv(int sgv) { - this.sgv = sgv; - } - - public TREND getTrend() { - return TREND.valueOf(trend); - } - - public void setTrend(TREND trend) { - this.trend = trend.name(); - } - - public boolean isUploaded() { - return uploaded; - } - - public void setUploaded(boolean uploaded) { - this.uploaded = uploaded; - } - - public enum TREND { - NONE, - DOUBLE_UP, - SINGLE_UP, - FOURTY_FIVE_UP, - FLAT, - FOURTY_FIVE_DOWN, - SINGLE_DOWN, - DOUBLE_DOWN, - NOT_COMPUTABLE, - RATE_OUT_OF_RANGE, - NOT_SET - } -} 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 9724cb6..3b25a51 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 @@ -1,6 +1,5 @@ package info.nightscout.android.model.medtronicNg; -import info.nightscout.android.model.CgmStatusEvent; import io.realm.RealmList; import io.realm.RealmObject; import io.realm.annotations.PrimaryKey; @@ -14,7 +13,6 @@ public class PumpInfo extends RealmObject { private String deviceName; private byte lastRadioChannel; private RealmList<ContourNextLinkInfo> associatedCnls; - private RealmList<CgmStatusEvent> cgmHistory; private RealmList<PumpStatusEvent> pumpHistory; public long getPumpMac() { @@ -49,14 +47,6 @@ public class PumpInfo extends RealmObject { this.associatedCnls = associatedCnls; } - public RealmList<CgmStatusEvent> getCgmHistory() { - return cgmHistory; - } - - public void setCgmHistory(RealmList<CgmStatusEvent> cgmHistory) { - this.cgmHistory = cgmHistory; - } - public RealmList<PumpStatusEvent> getPumpHistory() { return pumpHistory; } diff --git a/app/src/main/java/info/nightscout/android/model/medtronicNg/PumpStatusEvent.java b/app/src/main/java/info/nightscout/android/model/medtronicNg/PumpStatusEvent.java index f1afab4..ac32887 100644 --- a/app/src/main/java/info/nightscout/android/model/medtronicNg/PumpStatusEvent.java +++ b/app/src/main/java/info/nightscout/android/model/medtronicNg/PumpStatusEvent.java @@ -13,6 +13,8 @@ public class PumpStatusEvent extends RealmObject { private Date eventDate; // The actual time of the event (assume the capture device eventDate/time is accurate) private Date pumpDate; // The eventDate/time on the pump at the time of the event private String deviceName; + private int sgv; + private String cgmTrend; private float activeInsulin; private short batteryPercentage; private float reservoirAmount; @@ -45,6 +47,22 @@ public class PumpStatusEvent extends RealmObject { this.deviceName = deviceName; } + public int getSgv() { + return sgv; + } + + public void setSgv(int sgv) { + this.sgv = sgv; + } + + public CGM_TREND getCgmTrend() { + return CGM_TREND.valueOf(cgmTrend); + } + + public void setCgmTrend(CGM_TREND cgmTrend) { + this.cgmTrend = cgmTrend.name(); + } + public float getActiveInsulin() { return activeInsulin; } @@ -92,4 +110,18 @@ public class PumpStatusEvent extends RealmObject { public void setUploaded(boolean uploaded) { this.uploaded = uploaded; } + + public enum CGM_TREND { + NONE, + DOUBLE_UP, + SINGLE_UP, + FOURTY_FIVE_UP, + FLAT, + FOURTY_FIVE_DOWN, + SINGLE_DOWN, + DOUBLE_DOWN, + NOT_COMPUTABLE, + RATE_OUT_OF_RANGE, + NOT_SET + } } diff --git a/app/src/main/java/info/nightscout/android/upload/nightscout/NightscoutUploadIntentService.java b/app/src/main/java/info/nightscout/android/upload/nightscout/NightscoutUploadIntentService.java index 6ba4b5c..2b12d44 100644 --- a/app/src/main/java/info/nightscout/android/upload/nightscout/NightscoutUploadIntentService.java +++ b/app/src/main/java/info/nightscout/android/upload/nightscout/NightscoutUploadIntentService.java @@ -28,7 +28,7 @@ import java.util.regex.Pattern; import info.nightscout.android.R; import info.nightscout.android.medtronic.MainActivity; -import info.nightscout.android.model.CgmStatusEvent; +import info.nightscout.android.model.medtronicNg.PumpStatusEvent; import info.nightscout.android.upload.nightscout.serializer.EntriesSerializer; import io.realm.Realm; import io.realm.RealmResults; @@ -66,8 +66,8 @@ public class NightscoutUploadIntentService extends IntentService { Log.d(TAG, "onHandleIntent called"); mRealm = Realm.getDefaultInstance(); - RealmResults<CgmStatusEvent> records = mRealm - .where(CgmStatusEvent.class) + RealmResults<PumpStatusEvent> records = mRealm + .where(PumpStatusEvent.class) .equalTo("uploaded", false) .notEqualTo("sgv", 0) .findAll(); @@ -87,7 +87,7 @@ public class NightscoutUploadIntentService extends IntentService { } } - private void doRESTUpload(SharedPreferences prefs, RealmResults<CgmStatusEvent> records) { + private void doRESTUpload(SharedPreferences prefs, RealmResults<PumpStatusEvent> records) { String apiScheme = "https://"; String apiUrl = ""; String apiSecret = prefs.getString(mContext.getString(R.string.preference_api_secret), "YOURAPISECRET"); @@ -125,7 +125,7 @@ public class NightscoutUploadIntentService extends IntentService { } } - private void doRESTUploadTo(String baseURI, RealmResults<CgmStatusEvent> records) { + private void doRESTUploadTo(String baseURI, RealmResults<PumpStatusEvent> records) { try { String baseURL; String secret = null; @@ -159,7 +159,7 @@ public class NightscoutUploadIntentService extends IntentService { postDeviceStatus(baseURL, httpclient); - for (CgmStatusEvent record : records) { + for (PumpStatusEvent record : records) { String postURL = baseURL + "entries"; Log.i(TAG, "postURL: " + postURL); @@ -212,14 +212,14 @@ public class NightscoutUploadIntentService extends IntentService { // TODO - does realm have auto incrementing keys? // Turns out not yet (https://github.com/realm/realm-java/issues/469), // but in the meantime, use this: https://gist.github.com/carloseduardosx/a7bd88d7337660cd10a2c5dcc580ebd0 - RealmResults<CgmStatusEvent> updateRecordResults = mRealm - .where(CgmStatusEvent.class) + RealmResults<PumpStatusEvent> updateRecordResults = mRealm + .where(PumpStatusEvent.class) .equalTo("eventDate", record.getEventDate()) .equalTo("deviceName", record.getDeviceName()) .equalTo("sgv", record.getSgv()) .findAll(); // FIXME - We shouldn't need this after we remove insertion of duplicates - for (CgmStatusEvent updateRecord : updateRecordResults) { + for (PumpStatusEvent updateRecord : updateRecordResults) { updateRecord.setUploaded(true); } mRealm.commitTransaction(); @@ -264,10 +264,10 @@ public class NightscoutUploadIntentService extends IntentService { httpclient.execute(post, responseHandler); } - private void populateV1APIEntry(JSONObject json, CgmStatusEvent pumpRecord) throws Exception { + private void populateV1APIEntry(JSONObject json, PumpStatusEvent pumpRecord) throws Exception { // TODO replace with Retrofit/EntriesSerializer json.put("sgv", pumpRecord.getSgv()); - json.put("direction", EntriesSerializer.getDirectionString(pumpRecord.getTrend())); + json.put("direction", EntriesSerializer.getDirectionString(pumpRecord.getCgmTrend())); json.put("device", pumpRecord.getDeviceName()); json.put("type", "sgv"); json.put("date", pumpRecord.getEventDate().getTime()); 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 02da1b0..260b8c3 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 @@ -7,13 +7,13 @@ import com.google.gson.JsonSerializer; import java.lang.reflect.Type; -import info.nightscout.android.model.CgmStatusEvent; +import info.nightscout.android.model.medtronicNg.PumpStatusEvent; /** * Created by lgoedhart on 26/06/2016. */ -public class EntriesSerializer implements JsonSerializer<CgmStatusEvent> { - public static String getDirectionString(CgmStatusEvent.TREND trend) { +public class EntriesSerializer implements JsonSerializer<PumpStatusEvent> { + public static String getDirectionString(PumpStatusEvent.CGM_TREND trend) { switch( trend ) { case NONE: return "NONE"; @@ -43,10 +43,10 @@ public class EntriesSerializer implements JsonSerializer<CgmStatusEvent> { } @Override - public JsonElement serialize(CgmStatusEvent src, Type typeOfSrc, JsonSerializationContext context) { + public JsonElement serialize(PumpStatusEvent src, Type typeOfSrc, JsonSerializationContext context) { final JsonObject jsonObject = new JsonObject(); jsonObject.addProperty("sgv", src.getSgv()); - jsonObject.addProperty("direction", getDirectionString(src.getTrend())); + jsonObject.addProperty("direction", getDirectionString(src.getCgmTrend())); jsonObject.addProperty("device", src.getDeviceName()); jsonObject.addProperty("type", "sgv"); jsonObject.addProperty("date", src.getEventDate().getTime()); -- GitLab