From 1c230ad00a2edd456fedd870dfa0746310e29ddf Mon Sep 17 00:00:00 2001
From: Lennart Goedhart <lennart@omnibase.com.au>
Date: Sat, 30 Jul 2016 12:39:05 +0800
Subject: [PATCH] Remove pre-Realm data object usage and objects themselves

---
 .../android/medtronic/MainActivity.java       |   4 +-
 .../android/medtronic/MedtronicCNLReader.java |  13 ++-
 .../service/MedtronicCnlIntentService.java    |   1 -
 .../android/upload/DeviceRecord.java          |  22 ----
 .../android/upload/GlucometerRecord.java      |  19 ----
 .../android/upload/MedtronicNG/CGMRecord.java | 101 ------------------
 .../upload/MedtronicNG/PumpStatusRecord.java  |  19 ----
 .../nightscout/android/upload/Record.java     |  17 ---
 .../NightscoutUploadIntentService.java        |  18 ++--
 9 files changed, 16 insertions(+), 198 deletions(-)
 delete mode 100644 app/src/main/java/info/nightscout/android/upload/DeviceRecord.java
 delete mode 100644 app/src/main/java/info/nightscout/android/upload/GlucometerRecord.java
 delete mode 100644 app/src/main/java/info/nightscout/android/upload/MedtronicNG/CGMRecord.java
 delete mode 100644 app/src/main/java/info/nightscout/android/upload/MedtronicNG/PumpStatusRecord.java
 delete mode 100644 app/src/main/java/info/nightscout/android/upload/Record.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 4036a02..62183de 100644
--- a/app/src/main/java/info/nightscout/android/medtronic/MainActivity.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/MainActivity.java
@@ -60,7 +60,6 @@ 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;
 import io.realm.Realm;
 import io.realm.RealmResults;
@@ -71,7 +70,6 @@ public class MainActivity extends AppCompatActivity implements OnSharedPreferenc
     private static final String TAG = MainActivity.class.getSimpleName();
 
     public static int batLevel = 0;
-    public static PumpStatusRecord pumpStatusRecord = new PumpStatusRecord();
     private static long activePumpMac;
     boolean mEnableCgmService = true;
     SharedPreferences prefs = null;
@@ -526,7 +524,7 @@ public class MainActivity extends AppCompatActivity implements OnSharedPreferenc
             textViewUnits.setText(units);
             textViewBgTime.setText(DateUtils.getRelativeTimeSpanString(pumpRecord.getEventDate().getTime()));
             textViewTrend.setText(Html.fromHtml(renderTrendHtml(pumpRecord.getCgmTrend())));
-            textViewIOB.setText(String.format(Locale.getDefault(), "%.2f", pumpStatusRecord.activeInsulin));
+            textViewIOB.setText(String.format(Locale.getDefault(), "%.2f", pumpRecord.getActiveInsulin()));
 
             /*
             // Open Realm because we're in a different thread
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 745e2a7..d23d1f8 100644
--- a/app/src/main/java/info/nightscout/android/medtronic/MedtronicCNLReader.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/MedtronicCNLReader.java
@@ -267,7 +267,7 @@ public class MedtronicCnlReader implements ContourNextLinkMessageHandler {
 
         if (lastRadioChannel != 0x00) {
             // If we know the last channel that was used, shuffle the negotiation order
-            Byte lastChannel = radioChannels.remove(radioChannels.indexOf(new Byte(lastRadioChannel)));
+            Byte lastChannel = radioChannels.remove(radioChannels.indexOf(lastRadioChannel));
 
             if (lastChannel != null) {
                 radioChannels.add(0, lastChannel);
@@ -316,7 +316,6 @@ public class MedtronicCnlReader implements ContourNextLinkMessageHandler {
     public Date getPumpTime() throws EncryptionException, IOException, ChecksumException, TimeoutException {
         Log.d(TAG, "Begin getPumpTime");
         // FIXME - throw if not in EHSM mode (add a state machine)
-        Date timeAtCapture = new Date();
 
         new PumpTimeRequestMessage(mPumpSession).send(this);
         // Read the 0x81
@@ -368,7 +367,7 @@ 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);
+        pumpRecord.setActiveInsulin(new BigDecimal(rawActiveInsulin / 10000f).setScale(3, BigDecimal.ROUND_HALF_UP).floatValue());
         pumpRecord.setSgv(statusBuffer.getShort(0x35) & 0x0000ffff); // In mg/DL. 0 means no CGM reading
         long rtc;
         long offset;
@@ -384,11 +383,11 @@ public class MedtronicCnlReader implements ContourNextLinkMessageHandler {
             pumpRecord.setCgmTrend(fromMessageByte(statusBuffer.get(0x40)));
         }
         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
+        pumpRecord.setRecentBolusWizard(statusBuffer.get(0x48) != 0);
+        pumpRecord.setBolusWizardBGL(statusBuffer.getShort(0x49)); // In mg/DL
         long rawReservoirAmount = statusBuffer.getInt(0x2b);
-        MainActivity.pumpStatusRecord.reservoirAmount = new BigDecimal(rawReservoirAmount / 10000f).setScale(3, BigDecimal.ROUND_HALF_UP);
-        MainActivity.pumpStatusRecord.batteryPercentage = (statusBuffer.get(0x2a));
+        pumpRecord.setReservoirAmount(new BigDecimal(rawReservoirAmount / 10000f).setScale(3, BigDecimal.ROUND_HALF_UP).floatValue());
+        pumpRecord.setBatteryPercentage((statusBuffer.get(0x2a)));
 
         Log.d(TAG, "Finished getPumpStatus");
     }
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 a981194..ca0412b 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
@@ -205,7 +205,6 @@ public class MedtronicCnlIntentService extends IntentService {
                     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(new Date(pumpTime - pumpOffset));
                     cnlReader.getPumpStatus(pumpRecord, pumpOffset);
                     activePump.getPumpHistory().add(pumpRecord);
diff --git a/app/src/main/java/info/nightscout/android/upload/DeviceRecord.java b/app/src/main/java/info/nightscout/android/upload/DeviceRecord.java
deleted file mode 100644
index 0d4b5b2..0000000
--- a/app/src/main/java/info/nightscout/android/upload/DeviceRecord.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package info.nightscout.android.upload;
-
-import java.io.Serializable;
-
-public class DeviceRecord extends Record implements Serializable{
-	
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = 6321618305992689901L;
-	
-	public String deviceId = "";
-	
-	protected String deviceName = "";
-	
-	public String getDeviceName(){
-		return deviceName;
-	}
-	public void setDeviceName( String deviceName ){
-		this.deviceName = deviceName;
-	}
-}
diff --git a/app/src/main/java/info/nightscout/android/upload/GlucometerRecord.java b/app/src/main/java/info/nightscout/android/upload/GlucometerRecord.java
deleted file mode 100644
index 10dbb2c..0000000
--- a/app/src/main/java/info/nightscout/android/upload/GlucometerRecord.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package info.nightscout.android.upload;
-
-import java.io.Serializable;
-
-public class GlucometerRecord  extends Record implements Serializable{
-    public float numGlucometerValue = 0;
-    public long lastDate = 0;
-    
-    private static final long serialVersionUID = 4654897648L;	
-    
-    public void setNumGlucometerValue(int numGlucometerValue) {
-		this.numGlucometerValue = numGlucometerValue;
-	}
-
-	public void setLastDate(long lastDate) {
-		this.lastDate = lastDate;
-	}
-
-}
diff --git a/app/src/main/java/info/nightscout/android/upload/MedtronicNG/CGMRecord.java b/app/src/main/java/info/nightscout/android/upload/MedtronicNG/CGMRecord.java
deleted file mode 100644
index 514c770..0000000
--- a/app/src/main/java/info/nightscout/android/upload/MedtronicNG/CGMRecord.java
+++ /dev/null
@@ -1,101 +0,0 @@
-package info.nightscout.android.upload.MedtronicNG;
-
-import info.nightscout.android.upload.DeviceRecord;
-
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * Created by lgoedhart on 27/03/2016.
- */
-public class CGMRecord extends DeviceRecord implements Serializable {
-    public enum TREND {
-        NONE(0),
-        DOUBLE_UP(1),
-        SINGLE_UP(2),
-        FOURTY_FIVE_UP(3),
-        FLAT(4),
-        FOURTY_FIVE_DOWN(5),
-        SINGLE_DOWN(6),
-        DOUBLE_DOWN(7),
-        NOT_COMPUTABLE(8),
-        RATE_OUT_OF_RANGE(9),
-        NOT_SET(10);
-
-        private byte value;
-        TREND(int trend) {
-           this.value = (byte)trend;
-        }
-    }
-
-    private TREND trend = TREND.NOT_SET;
-
-    public int sgv = 0; // in mg/dL. 0 means no sensor reading
-    public Date sgvDate = new Date();
-    public String direction;
-
-    public void setTrend( TREND trend ) {
-        this.trend = trend;
-
-        switch( trend ) {
-            case NONE:
-                this.direction = "NONE";
-                break;
-            case DOUBLE_UP:
-                this.direction = "DoubleUp";
-                break;
-            case SINGLE_UP:
-                this.direction = "SingleUp";
-                break;
-            case FOURTY_FIVE_UP:
-                this.direction = "FortyFiveUp";
-                break;
-            case FLAT:
-                this.direction = "Flat";
-                break;
-            case FOURTY_FIVE_DOWN:
-                this.direction = "FortyFiveDown";
-                break;
-            case SINGLE_DOWN:
-                this.direction = "SingleDown";
-                break;
-            case DOUBLE_DOWN:
-                this.direction = "DoubleDown";
-                break;
-            case NOT_COMPUTABLE:
-                this.direction = "NOT COMPUTABLE";
-                break;
-            case RATE_OUT_OF_RANGE:
-                this.direction = "RATE OUT OF RANGE";
-                break;
-            case NOT_SET:
-                this.direction = "NONE";
-                break;
-        }
-    }
-
-    public TREND getTrend() {
-        return trend;
-    }
-
-    public static TREND fromMessageByte(byte messageByte) {
-        switch( messageByte ) {
-            case (byte) 0x60:
-                return TREND.FLAT;
-            case (byte) 0xc0:
-                return TREND.DOUBLE_UP;
-            case (byte) 0xa0:
-                return TREND.SINGLE_UP;
-            case (byte) 0x80:
-                return TREND.FOURTY_FIVE_UP;
-            case (byte) 0x40:
-                return TREND.FOURTY_FIVE_DOWN;
-            case (byte) 0x20:
-                return TREND.SINGLE_DOWN;
-            case (byte) 0x00:
-                return TREND.DOUBLE_DOWN;
-            default:
-                return TREND.NOT_COMPUTABLE;
-        }
-    }
-}
diff --git a/app/src/main/java/info/nightscout/android/upload/MedtronicNG/PumpStatusRecord.java b/app/src/main/java/info/nightscout/android/upload/MedtronicNG/PumpStatusRecord.java
deleted file mode 100644
index 8f0c5c2..0000000
--- a/app/src/main/java/info/nightscout/android/upload/MedtronicNG/PumpStatusRecord.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package info.nightscout.android.upload.MedtronicNG;
-
-import info.nightscout.android.upload.DeviceRecord;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * Created by lgoedhart on 27/03/2016.
- */
-public class PumpStatusRecord extends DeviceRecord implements Serializable {
-    public int batteryPercentage;
-    public Date pumpDate = new Date();
-    public BigDecimal activeInsulin = new BigDecimal(0);
-    public BigDecimal reservoirAmount = new BigDecimal(0);
-    public boolean recentBolusWizard = false; // Whether a bolus wizard has been run recently
-    public int bolusWizardBGL = 0; // in mg/dL. 0 means no recent bolus wizard reading.
-}
diff --git a/app/src/main/java/info/nightscout/android/upload/Record.java b/app/src/main/java/info/nightscout/android/upload/Record.java
deleted file mode 100644
index 61a75fa..0000000
--- a/app/src/main/java/info/nightscout/android/upload/Record.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package info.nightscout.android.upload;
-
-import java.io.Serializable;
-
-public class Record implements Serializable {
-	 public String displayTime = "---";
-
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = -1381174446348390503L;
-	
-	public void setDisplayTime (String input) {
-    	this.displayTime = input;
-    }
-
-}
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 2b12d44..477210d 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
@@ -157,9 +157,9 @@ public class NightscoutUploadIntentService extends IntentService {
 
             DefaultHttpClient httpclient = new DefaultHttpClient(params);
 
-            postDeviceStatus(baseURL, httpclient);
-
             for (PumpStatusEvent record : records) {
+                postDeviceStatus(record, baseURL, httpclient);
+
                 String postURL = baseURL + "entries";
 
                 Log.i(TAG, "postURL: " + postURL);
@@ -229,24 +229,24 @@ public class NightscoutUploadIntentService extends IntentService {
         }
     }
 
-    private void postDeviceStatus(String baseURL, DefaultHttpClient httpclient) throws Exception {
+    private void postDeviceStatus(PumpStatusEvent record, String baseURL, DefaultHttpClient httpclient) throws Exception {
         String devicestatusURL = baseURL + "devicestatus";
         Log.i(TAG, "devicestatusURL: " + devicestatusURL);
 
         JSONObject json = new JSONObject();
         json.put("uploaderBattery", MainActivity.batLevel);
-        json.put("device", MainActivity.pumpStatusRecord.getDeviceName());
+        json.put("device", record.getDeviceName());
 
         JSONObject pumpInfo = new JSONObject();
-        pumpInfo.put("clock", ISO8601_DATE_FORMAT.format(MainActivity.pumpStatusRecord.pumpDate));
-        pumpInfo.put("reservoir", MainActivity.pumpStatusRecord.reservoirAmount);
+        pumpInfo.put("clock", ISO8601_DATE_FORMAT.format(record.getPumpDate()));
+        pumpInfo.put("reservoir", record.getReservoirAmount());
 
         JSONObject iob = new JSONObject();
-        iob.put("timestamp", MainActivity.pumpStatusRecord.pumpDate);
-        iob.put("bolusiob", MainActivity.pumpStatusRecord.activeInsulin);
+        iob.put("timestamp", record.getPumpDate());
+        iob.put("bolusiob", record.getActiveInsulin());
 
         JSONObject battery = new JSONObject();
-        battery.put("percent", MainActivity.pumpStatusRecord.batteryPercentage);
+        battery.put("percent", record.getBatteryPercentage());
 
         pumpInfo.put("iob", iob);
         pumpInfo.put("battery", battery);
-- 
GitLab