From c5b746c2261ef3c7cbf6fef74067285774894530 Mon Sep 17 00:00:00 2001
From: Lennart Goedhart <lennart@omnibase.com.au>
Date: Sun, 15 May 2016 15:12:42 +1000
Subject: [PATCH] Refactor classes to be Medtronic640g classes, rather than the
 legacy "DexcomG4" classes. Fix #6

---
 .idea/workspace.xml                           | 346 +++++++++++-------
 app/app.iml                                   |  17 +-
 app/build.gradle                              |   2 +-
 app/src/main/AndroidManifest.xml              |  15 +-
 .../medtronic/MedtronicCalibration.java       |   5 -
 .../android/USB/CommonUsbDriver.java          |   2 +-
 .../nightscout/android/USB/HidBridge.java     |   3 +-
 .../nightscout/android/USB/USBPower.java      |   2 +-
 .../nightscout/android/USB/UsbDriver.java     |   2 +-
 .../nightscout/android/USB/UsbHidDriver.java  |   2 +-
 .../nightscout/android/dexcom/CSVWriter.java  |   2 +-
 .../android/dexcom/DexcomG4Service.java       |  14 +-
 .../android/dexcom/DexcomReader.java          |   6 +-
 .../nightscout/android/dexcom/EGVRecord.java  |   4 +-
 .../android/dexcom/ResultSetHelper.java       |   2 +-
 .../dexcom/ResultSetHelperService.java        |   2 +-
 .../dexcom/USB/CdcAcmSerialDriver.java        |   2 +-
 .../dexcom/USB/CommonUsbSerialDriver.java     |   2 +-
 .../android/dexcom/USB/HexDump.java           |   2 +-
 .../dexcom/USB/SerialInputOutputManager.java  |   2 +-
 .../android/dexcom/USB/UsbSerialDriver.java   |   2 +-
 .../android/dexcom/USB/UsbSerialProber.java   |   2 +-
 .../nightscout/android/eula/Eula.java         |   4 +-
 .../medtronic/CommandSenderThread.java        |   4 +-
 .../nightscout/android/medtronic/DataLog.java |   2 +-
 .../medtronic/GetHmacAndKeyActivity.java}     |  12 +-
 .../medtronic/HistoricGetterThread.java       |   4 +-
 .../medtronic/Medtronic640gActivity.java}     |  37 +-
 .../medtronic/MedtronicCGMService.java        |  18 +-
 .../android/medtronic/MedtronicCNLReader.java |  57 ++-
 .../medtronic/MedtronicCNLSession.java        |   4 +-
 .../medtronic/MedtronicCalibration.java       |   5 +
 .../android/medtronic/MedtronicConstants.java |   2 +-
 .../android/medtronic/MedtronicReader.java    |  18 +-
 .../medtronic/data/CNLConfigContract.java     |   2 +-
 .../medtronic/data/CNLConfigDbHelper.java     |   2 +-
 .../medtronic/message/BeginEHSMMessage.java   |   4 +-
 .../message/ChannelNegotiateMessage.java      |   4 +-
 .../medtronic/message/ChecksumException.java  |   2 +-
 .../message/ContourNextLinkBinaryMessage.java |   4 +-
 .../ContourNextLinkCommandMessage.java        |   4 +-
 .../message/ContourNextLinkMessage.java       |   2 +-
 .../ContourNextLinkMessageHandler.java        |   2 +-
 .../message/EncryptionException.java          |   2 +-
 .../medtronic/message/EndEHSMMessage.java     |   4 +-
 .../medtronic/message/MedtronicMessage.java   |  10 +-
 .../message/MedtronicReceiveMessage.java      |   4 +-
 .../message/MedtronicSendMessage.java         |   4 +-
 .../medtronic/message/MessageUtils.java       |   2 +-
 .../message/PumpStatusRequestMessage.java     |   4 +-
 .../message/PumpStatusResponseMessage.java    |   4 +-
 .../message/PumpTimeRequestMessage.java       |   4 +-
 .../message/PumpTimeResponseMessage.java      |   7 +-
 .../message/ReadInfoResponseMessage.java      |   4 +-
 .../message/UnexpectedMessageException.java   |   2 +-
 .../service/MedtronicCNLService.java          |  58 +--
 .../medtronic/service/TestService.java        |  10 +-
 .../android/service/AbstractService.java      |   2 +-
 .../android/service/ServiceManager.java       |   2 +-
 .../android/settings/SettingsActivity.java    |   2 +-
 .../android/settings/SettingsFragment.java    |   4 +-
 .../android/upload/DeviceRecord.java          |   2 +-
 .../android/upload/GlucometerRecord.java      |   2 +-
 .../android/upload/MedtronicNG/CGMRecord.java |   4 +-
 .../upload/MedtronicNG/PumpStatusRecord.java  |   4 +-
 .../android/upload/MedtronicPumpRecord.java   |   5 +-
 .../android/upload/MedtronicSensorRecord.java |   6 +-
 .../nightscout/android/upload/Record.java     |   2 +-
 .../android/upload/UploadHelper.java          |  46 +--
 .../android/utils/CustomSwitchPreference.java |   2 +-
 .../nightscout/android/widget/CGMWidget.java  |  18 +-
 .../android/widget/CGMWidgetUpdater.java      |  16 +-
 app/src/main/res/layout/activity_login.xml    |   2 +-
 app/src/main/res/xml/preferences.xml          |  20 +-
 74 files changed, 466 insertions(+), 423 deletions(-)
 delete mode 100644 app/src/main/java/com/nightscout/android/medtronic/MedtronicCalibration.java
 rename app/src/main/java/{com => info}/nightscout/android/USB/CommonUsbDriver.java (98%)
 rename app/src/main/java/{com => info}/nightscout/android/USB/HidBridge.java (99%)
 rename app/src/main/java/{com => info}/nightscout/android/USB/USBPower.java (97%)
 rename app/src/main/java/{com => info}/nightscout/android/USB/UsbDriver.java (98%)
 rename app/src/main/java/{com => info}/nightscout/android/USB/UsbHidDriver.java (99%)
 rename app/src/main/java/{com => info}/nightscout/android/dexcom/CSVWriter.java (99%)
 rename app/src/main/java/{com => info}/nightscout/android/dexcom/DexcomG4Service.java (97%)
 rename app/src/main/java/{com => info}/nightscout/android/dexcom/DexcomReader.java (99%)
 rename app/src/main/java/{com => info}/nightscout/android/dexcom/EGVRecord.java (86%)
 rename app/src/main/java/{com => info}/nightscout/android/dexcom/ResultSetHelper.java (95%)
 rename app/src/main/java/{com => info}/nightscout/android/dexcom/ResultSetHelperService.java (99%)
 rename app/src/main/java/{com => info}/nightscout/android/dexcom/USB/CdcAcmSerialDriver.java (99%)
 rename app/src/main/java/{com => info}/nightscout/android/dexcom/USB/CommonUsbSerialDriver.java (98%)
 rename app/src/main/java/{com => info}/nightscout/android/dexcom/USB/HexDump.java (99%)
 rename app/src/main/java/{com => info}/nightscout/android/dexcom/USB/SerialInputOutputManager.java (99%)
 rename app/src/main/java/{com => info}/nightscout/android/dexcom/USB/UsbSerialDriver.java (99%)
 rename app/src/main/java/{com => info}/nightscout/android/dexcom/USB/UsbSerialProber.java (99%)
 rename app/src/main/java/{com => info}/nightscout/android/eula/Eula.java (98%)
 rename app/src/main/java/{com => info}/nightscout/android/medtronic/CommandSenderThread.java (99%)
 rename app/src/main/java/{com => info}/nightscout/android/medtronic/DataLog.java (83%)
 rename app/src/main/java/{com/nightscout/android/dexcom/LoginActivity.java => info/nightscout/android/medtronic/GetHmacAndKeyActivity.java} (97%)
 rename app/src/main/java/{com => info}/nightscout/android/medtronic/HistoricGetterThread.java (98%)
 rename app/src/main/java/{com/nightscout/android/dexcom/DexcomG4Activity.java => info/nightscout/android/medtronic/Medtronic640gActivity.java} (94%)
 rename app/src/main/java/{com => info}/nightscout/android/medtronic/MedtronicCGMService.java (99%)
 rename app/src/main/java/{com => info}/nightscout/android/medtronic/MedtronicCNLReader.java (86%)
 rename app/src/main/java/{com => info}/nightscout/android/medtronic/MedtronicCNLSession.java (93%)
 create mode 100644 app/src/main/java/info/nightscout/android/medtronic/MedtronicCalibration.java
 rename app/src/main/java/{com => info}/nightscout/android/medtronic/MedtronicConstants.java (99%)
 rename app/src/main/java/{com => info}/nightscout/android/medtronic/MedtronicReader.java (99%)
 rename app/src/main/java/{com => info}/nightscout/android/medtronic/data/CNLConfigContract.java (93%)
 rename app/src/main/java/{com => info}/nightscout/android/medtronic/data/CNLConfigDbHelper.java (99%)
 rename app/src/main/java/{com => info}/nightscout/android/medtronic/message/BeginEHSMMessage.java (80%)
 rename app/src/main/java/{com => info}/nightscout/android/medtronic/message/ChannelNegotiateMessage.java (90%)
 rename app/src/main/java/{com => info}/nightscout/android/medtronic/message/ChecksumException.java (77%)
 rename app/src/main/java/{com => info}/nightscout/android/medtronic/message/ContourNextLinkBinaryMessage.java (96%)
 rename app/src/main/java/{com => info}/nightscout/android/medtronic/message/ContourNextLinkCommandMessage.java (80%)
 rename app/src/main/java/{com => info}/nightscout/android/medtronic/message/ContourNextLinkMessage.java (93%)
 rename app/src/main/java/{com => info}/nightscout/android/medtronic/message/ContourNextLinkMessageHandler.java (82%)
 rename app/src/main/java/{com => info}/nightscout/android/medtronic/message/EncryptionException.java (78%)
 rename app/src/main/java/{com => info}/nightscout/android/medtronic/message/EndEHSMMessage.java (79%)
 rename app/src/main/java/{com => info}/nightscout/android/medtronic/message/MedtronicMessage.java (89%)
 rename app/src/main/java/{com => info}/nightscout/android/medtronic/message/MedtronicReceiveMessage.java (96%)
 rename app/src/main/java/{com => info}/nightscout/android/medtronic/message/MedtronicSendMessage.java (96%)
 rename app/src/main/java/{com => info}/nightscout/android/medtronic/message/MessageUtils.java (97%)
 rename app/src/main/java/{com => info}/nightscout/android/medtronic/message/PumpStatusRequestMessage.java (72%)
 rename app/src/main/java/{com => info}/nightscout/android/medtronic/message/PumpStatusResponseMessage.java (86%)
 rename app/src/main/java/{com => info}/nightscout/android/medtronic/message/PumpTimeRequestMessage.java (71%)
 rename app/src/main/java/{com => info}/nightscout/android/medtronic/message/PumpTimeResponseMessage.java (81%)
 rename app/src/main/java/{com => info}/nightscout/android/medtronic/message/ReadInfoResponseMessage.java (86%)
 rename app/src/main/java/{com => info}/nightscout/android/medtronic/message/UnexpectedMessageException.java (79%)
 rename app/src/main/java/{com => info}/nightscout/android/medtronic/service/MedtronicCNLService.java (77%)
 rename app/src/main/java/{com => info}/nightscout/android/medtronic/service/TestService.java (90%)
 rename app/src/main/java/{com => info}/nightscout/android/service/AbstractService.java (98%)
 rename app/src/main/java/{com => info}/nightscout/android/service/ServiceManager.java (99%)
 rename app/src/main/java/{com => info}/nightscout/android/settings/SettingsActivity.java (90%)
 rename app/src/main/java/{com => info}/nightscout/android/settings/SettingsFragment.java (97%)
 rename app/src/main/java/{com => info}/nightscout/android/upload/DeviceRecord.java (90%)
 rename app/src/main/java/{com => info}/nightscout/android/upload/GlucometerRecord.java (91%)
 rename app/src/main/java/{com => info}/nightscout/android/upload/MedtronicNG/CGMRecord.java (96%)
 rename app/src/main/java/{com => info}/nightscout/android/upload/MedtronicNG/PumpStatusRecord.java (88%)
 rename app/src/main/java/{com => info}/nightscout/android/upload/MedtronicPumpRecord.java (98%)
 rename app/src/main/java/{com => info}/nightscout/android/upload/MedtronicSensorRecord.java (85%)
 rename app/src/main/java/{com => info}/nightscout/android/upload/Record.java (87%)
 rename app/src/main/java/{com => info}/nightscout/android/upload/UploadHelper.java (97%)
 rename app/src/main/java/{com => info}/nightscout/android/utils/CustomSwitchPreference.java (98%)
 rename app/src/main/java/{com => info}/nightscout/android/widget/CGMWidget.java (89%)
 rename app/src/main/java/{com => info}/nightscout/android/widget/CGMWidgetUpdater.java (89%)

diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index a421251..4552c5d 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -10,15 +10,81 @@
   </component>
   <component name="ChangeListManager">
     <list default="true" id="ffce6e62-d498-4e17-b121-42833fbda3f5" name="Default" comment="">
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/upload/MedtronicNG/PumpStatusRecord.java" />
-      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/upload/Medtronic640gPumpRecord.java" afterPath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/upload/MedtronicNG/CGMRecord.java" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/MedtronicCalibration.java" />
+      <change type="DELETED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/MedtronicCalibration.java" afterPath="" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/USB/CommonUsbDriver.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/USB/CommonUsbDriver.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/USB/HidBridge.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/USB/HidBridge.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/USB/USBPower.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/USB/USBPower.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/USB/UsbDriver.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/USB/UsbDriver.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/USB/UsbHidDriver.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/USB/UsbHidDriver.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/dexcom/CSVWriter.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/dexcom/CSVWriter.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/dexcom/DexcomG4Activity.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/Medtronic640gActivity.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/dexcom/DexcomG4Service.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/dexcom/DexcomG4Service.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/dexcom/DexcomReader.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/dexcom/DexcomReader.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/dexcom/EGVRecord.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/dexcom/EGVRecord.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/dexcom/LoginActivity.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/GetHmacAndKeyActivity.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/dexcom/ResultSetHelper.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/dexcom/ResultSetHelper.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/dexcom/ResultSetHelperService.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/dexcom/ResultSetHelperService.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/dexcom/USB/CdcAcmSerialDriver.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/dexcom/USB/CdcAcmSerialDriver.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/dexcom/USB/CommonUsbSerialDriver.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/dexcom/USB/CommonUsbSerialDriver.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/dexcom/USB/HexDump.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/dexcom/USB/HexDump.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/dexcom/USB/SerialInputOutputManager.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/dexcom/USB/SerialInputOutputManager.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/dexcom/USB/UsbSerialDriver.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/dexcom/USB/UsbSerialDriver.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/dexcom/USB/UsbSerialProber.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/dexcom/USB/UsbSerialProber.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/eula/Eula.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/eula/Eula.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/CommandSenderThread.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/CommandSenderThread.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/DataLog.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/DataLog.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/HistoricGetterThread.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/HistoricGetterThread.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/MedtronicCGMService.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/MedtronicCGMService.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/MedtronicCNLReader.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/MedtronicCNLReader.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/MedtronicCNLSession.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/MedtronicCNLSession.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/MedtronicConstants.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/MedtronicConstants.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/MedtronicReader.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/MedtronicReader.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/data/CNLConfigContract.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/data/CNLConfigContract.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/data/CNLConfigDbHelper.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/data/CNLConfigDbHelper.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/message/BeginEHSMMessage.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/message/BeginEHSMMessage.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/message/ChannelNegotiateMessage.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/message/ChannelNegotiateMessage.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/message/ChecksumException.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/message/ChecksumException.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/message/ContourNextLinkBinaryMessage.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/message/ContourNextLinkBinaryMessage.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/message/ContourNextLinkCommandMessage.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/message/ContourNextLinkCommandMessage.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/message/ContourNextLinkMessage.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/message/ContourNextLinkMessage.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/message/ContourNextLinkMessageHandler.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/message/ContourNextLinkMessageHandler.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/message/EncryptionException.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/message/EncryptionException.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/message/EndEHSMMessage.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/message/EndEHSMMessage.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/message/MedtronicMessage.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/message/MedtronicMessage.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/message/MedtronicReceiveMessage.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/message/MedtronicReceiveMessage.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/message/MedtronicSendMessage.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/message/MedtronicSendMessage.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/message/MessageUtils.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/message/MessageUtils.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/message/PumpStatusRequestMessage.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/message/PumpStatusRequestMessage.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/message/PumpStatusResponseMessage.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/message/PumpStatusResponseMessage.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/message/PumpTimeRequestMessage.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/message/PumpTimeRequestMessage.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/message/PumpTimeResponseMessage.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/message/PumpTimeResponseMessage.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/message/ReadInfoResponseMessage.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/message/ReadInfoResponseMessage.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/message/UnexpectedMessageException.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/message/UnexpectedMessageException.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/service/MedtronicCNLService.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/service/MedtronicCNLService.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/service/TestService.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/service/TestService.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/service/AbstractService.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/service/AbstractService.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/service/ServiceManager.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/service/ServiceManager.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/settings/SettingsActivity.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/settings/SettingsActivity.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/settings/SettingsFragment.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/settings/SettingsFragment.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/upload/DeviceRecord.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/upload/DeviceRecord.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/upload/GlucometerRecord.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/upload/GlucometerRecord.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/upload/MedtronicNG/CGMRecord.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/upload/MedtronicNG/CGMRecord.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/upload/MedtronicNG/PumpStatusRecord.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/upload/MedtronicNG/PumpStatusRecord.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/upload/MedtronicPumpRecord.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/upload/MedtronicPumpRecord.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/upload/MedtronicSensorRecord.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/upload/MedtronicSensorRecord.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/upload/Record.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/upload/Record.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/upload/UploadHelper.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/upload/UploadHelper.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/utils/CustomSwitchPreference.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/utils/CustomSwitchPreference.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/widget/CGMWidget.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/widget/CGMWidget.java" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/widget/CGMWidgetUpdater.java" afterPath="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/widget/CGMWidgetUpdater.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/misc.xml" afterPath="$PROJECT_DIR$/.idea/misc.xml" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/dexcom/DexcomG4Activity.java" afterPath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/dexcom/DexcomG4Activity.java" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/MedtronicCNLReader.java" afterPath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/MedtronicCNLReader.java" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/message/MessageUtils.java" afterPath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/message/MessageUtils.java" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/service/MedtronicCNLService.java" afterPath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/service/MedtronicCNLService.java" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/upload/DeviceRecord.java" afterPath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/upload/DeviceRecord.java" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/upload/UploadHelper.java" afterPath="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/upload/UploadHelper.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/app.iml" afterPath="$PROJECT_DIR$/app/app.iml" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/build.gradle" afterPath="$PROJECT_DIR$/app/build.gradle" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/AndroidManifest.xml" afterPath="$PROJECT_DIR$/app/src/main/AndroidManifest.xml" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/res/layout/activity_login.xml" afterPath="$PROJECT_DIR$/app/src/main/res/layout/activity_login.xml" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/res/xml/preferences.xml" afterPath="$PROJECT_DIR$/app/src/main/res/xml/preferences.xml" />
     </list>
     <ignored path="Medtronic640gUploader.iws" />
     <ignored path=".idea/workspace.xml" />
@@ -39,18 +105,28 @@
   </component>
   <component name="FileEditorManager">
     <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
-      <file leaf-file-name="DexcomG4Activity.java" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/app/src/main/java/com/nightscout/android/dexcom/DexcomG4Activity.java">
+      <file leaf-file-name="Medtronic640gActivity.java" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/Medtronic640gActivity.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state vertical-scroll-proportion="75.55556">
-              <caret line="150" column="0" selection-start-line="150" selection-start-column="0" selection-end-line="150" selection-end-column="0" />
+            <state vertical-scroll-proportion="-2.7777777">
+              <caret line="56" column="13" selection-start-line="56" selection-start-column="13" selection-end-line="56" selection-end-column="13" />
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="ResultSetHelperService.java" pinned="false" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/app/src/main/java/info/nightscout/android/dexcom/ResultSetHelperService.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state vertical-scroll-proportion="0.33333334">
+              <caret line="31" column="13" selection-start-line="31" selection-start-column="13" selection-end-line="31" selection-end-column="13" />
               <folding />
             </state>
           </provider>
         </entry>
       </file>
       <file leaf-file-name="UploadHelper.java" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/app/src/main/java/com/nightscout/android/upload/UploadHelper.java">
+        <entry file="file://$PROJECT_DIR$/app/src/main/java/info/nightscout/android/upload/UploadHelper.java">
           <provider selected="true" editor-type-id="text-editor">
             <state vertical-scroll-proportion="-10.0">
               <caret line="688" column="43" selection-start-line="688" selection-start-column="43" selection-end-line="688" selection-end-column="43" />
@@ -62,7 +138,7 @@
         </entry>
       </file>
       <file leaf-file-name="MedtronicCNLService.java" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/service/MedtronicCNLService.java">
+        <entry file="file://$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/service/MedtronicCNLService.java">
           <provider selected="true" editor-type-id="text-editor">
             <state vertical-scroll-proportion="-7.6296296">
               <caret line="145" column="0" selection-start-line="145" selection-start-column="0" selection-end-line="145" selection-end-column="0" />
@@ -73,18 +149,18 @@
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="MedtronicCNLReader.java" pinned="false" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/MedtronicCNLReader.java">
+      <file leaf-file-name="MedtronicCNLReader.java" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/MedtronicCNLReader.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state vertical-scroll-proportion="0.59431523">
-              <caret line="332" column="0" selection-start-line="332" selection-start-column="0" selection-end-line="332" selection-end-column="0" />
+            <state vertical-scroll-proportion="0.0">
+              <caret line="331" column="0" selection-start-line="331" selection-start-column="0" selection-end-line="331" selection-end-column="0" />
               <folding />
             </state>
           </provider>
         </entry>
       </file>
       <file leaf-file-name="PumpStatusRecord.java" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/app/src/main/java/com/nightscout/android/upload/MedtronicNG/PumpStatusRecord.java">
+        <entry file="file://$PROJECT_DIR$/app/src/main/java/info/nightscout/android/upload/MedtronicNG/PumpStatusRecord.java">
           <provider selected="true" editor-type-id="text-editor">
             <state vertical-scroll-proportion="0.0">
               <caret line="20" column="56" selection-start-line="20" selection-start-column="56" selection-end-line="20" selection-end-column="56" />
@@ -1395,7 +1471,7 @@
     </option>
     <option name="modificationStamps">
       <map>
-        <entry key="$PROJECT_DIR$" value="4387678967000" />
+        <entry key="$PROJECT_DIR$" value="4388083622000" />
       </map>
     </option>
     <option name="projectBuildClasspath">
@@ -1784,6 +1860,12 @@
         <option value="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/upload/UploadHelper.java" />
         <option value="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/upload/MedtronicNG/PumpStatusRecord.java" />
         <option value="$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/MedtronicCNLReader.java" />
+        <option value="$PROJECT_DIR$/app/src/main/AndroidManifest.xml" />
+        <option value="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/dexcom/DexcomG4Activity.java" />
+        <option value="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/DexcomG4Activity.java" />
+        <option value="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/Medtronic640gActivity.java" />
+        <option value="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/LoginActivity.java" />
+        <option value="$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/GetHmacAndKeyActivity.java" />
       </list>
     </option>
   </component>
@@ -1840,14 +1922,6 @@
               <option name="myItemId" value="app" />
               <option name="myItemType" value="com.android.tools.idea.navigator.nodes.AndroidModuleNode" />
             </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="res" />
-              <option name="myItemType" value="com.android.tools.idea.navigator.nodes.AndroidResFolderNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="xml" />
-              <option name="myItemType" value="com.android.tools.idea.navigator.nodes.AndroidResFolderTypeNode" />
-            </PATH_ELEMENT>
           </PATH>
           <PATH>
             <PATH_ELEMENT>
@@ -1859,26 +1933,16 @@
               <option name="myItemType" value="com.android.tools.idea.navigator.nodes.AndroidModuleNode" />
             </PATH_ELEMENT>
             <PATH_ELEMENT>
-              <option name="myItemId" value="res" />
-              <option name="myItemType" value="com.android.tools.idea.navigator.nodes.AndroidResFolderNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="values" />
-              <option name="myItemType" value="com.android.tools.idea.navigator.nodes.AndroidResFolderTypeNode" />
-            </PATH_ELEMENT>
-          </PATH>
-          <PATH>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="Medtronic640gUploader" />
-              <option name="myItemType" value="com.android.tools.idea.navigator.nodes.AndroidViewProjectNode" />
+              <option name="myItemId" value="java" />
+              <option name="myItemType" value="com.android.tools.idea.navigator.nodes.AndroidSourceTypeNode" />
             </PATH_ELEMENT>
             <PATH_ELEMENT>
-              <option name="myItemId" value="app" />
-              <option name="myItemType" value="com.android.tools.idea.navigator.nodes.AndroidModuleNode" />
+              <option name="myItemId" value="android" />
+              <option name="myItemType" value="com.android.tools.idea.navigator.nodes.AndroidPsiDirectoryNode" />
             </PATH_ELEMENT>
             <PATH_ELEMENT>
-              <option name="myItemId" value="res" />
-              <option name="myItemType" value="com.android.tools.idea.navigator.nodes.AndroidResFolderNode" />
+              <option name="myItemId" value="widget" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
             </PATH_ELEMENT>
           </PATH>
           <PATH>
@@ -1891,26 +1955,16 @@
               <option name="myItemType" value="com.android.tools.idea.navigator.nodes.AndroidModuleNode" />
             </PATH_ELEMENT>
             <PATH_ELEMENT>
-              <option name="myItemId" value="res" />
-              <option name="myItemType" value="com.android.tools.idea.navigator.nodes.AndroidResFolderNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="layout" />
-              <option name="myItemType" value="com.android.tools.idea.navigator.nodes.AndroidResFolderTypeNode" />
-            </PATH_ELEMENT>
-          </PATH>
-          <PATH>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="Medtronic640gUploader" />
-              <option name="myItemType" value="com.android.tools.idea.navigator.nodes.AndroidViewProjectNode" />
+              <option name="myItemId" value="java" />
+              <option name="myItemType" value="com.android.tools.idea.navigator.nodes.AndroidSourceTypeNode" />
             </PATH_ELEMENT>
             <PATH_ELEMENT>
-              <option name="myItemId" value="app" />
-              <option name="myItemType" value="com.android.tools.idea.navigator.nodes.AndroidModuleNode" />
+              <option name="myItemId" value="android" />
+              <option name="myItemType" value="com.android.tools.idea.navigator.nodes.AndroidPsiDirectoryNode" />
             </PATH_ELEMENT>
             <PATH_ELEMENT>
-              <option name="myItemId" value="assets" />
-              <option name="myItemType" value="com.android.tools.idea.navigator.nodes.AndroidSourceTypeNode" />
+              <option name="myItemId" value="utils" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
             </PATH_ELEMENT>
           </PATH>
           <PATH>
@@ -1930,6 +1984,10 @@
               <option name="myItemId" value="android" />
               <option name="myItemType" value="com.android.tools.idea.navigator.nodes.AndroidPsiDirectoryNode" />
             </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="USB" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
           </PATH>
           <PATH>
             <PATH_ELEMENT>
@@ -1971,11 +2029,7 @@
               <option name="myItemType" value="com.android.tools.idea.navigator.nodes.AndroidPsiDirectoryNode" />
             </PATH_ELEMENT>
             <PATH_ELEMENT>
-              <option name="myItemId" value="upload" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="MedtronicNG" />
+              <option name="myItemId" value="settings" />
               <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
             </PATH_ELEMENT>
           </PATH>
@@ -1997,7 +2051,7 @@
               <option name="myItemType" value="com.android.tools.idea.navigator.nodes.AndroidPsiDirectoryNode" />
             </PATH_ELEMENT>
             <PATH_ELEMENT>
-              <option name="myItemId" value="medtronic" />
+              <option name="myItemId" value="service" />
               <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
             </PATH_ELEMENT>
           </PATH>
@@ -2022,10 +2076,6 @@
               <option name="myItemId" value="medtronic" />
               <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
             </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="service" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
           </PATH>
           <PATH>
             <PATH_ELEMENT>
@@ -2044,14 +2094,6 @@
               <option name="myItemId" value="android" />
               <option name="myItemType" value="com.android.tools.idea.navigator.nodes.AndroidPsiDirectoryNode" />
             </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="medtronic" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="data" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
           </PATH>
           <PATH>
             <PATH_ELEMENT>
@@ -2062,6 +2104,18 @@
               <option name="myItemId" value="app" />
               <option name="myItemType" value="com.android.tools.idea.navigator.nodes.AndroidModuleNode" />
             </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="java" />
+              <option name="myItemType" value="com.android.tools.idea.navigator.nodes.AndroidSourceTypeNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="android" />
+              <option name="myItemType" value="com.android.tools.idea.navigator.nodes.AndroidPsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="dexcom" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
           </PATH>
         </subPane>
       </pane>
@@ -2079,6 +2133,8 @@
   </component>
   <component name="RecentsManager">
     <key name="MoveClassesOrPackagesDialog.RECENTS_KEY">
+      <recent name="info.nightscout.android.medtronic" />
+      <recent name="info.nightscout" />
       <recent name="com.nightscout.android.upload.MedtronicNG" />
     </key>
     <key name="CopyClassDialog.RECENTS_KEY">
@@ -2380,12 +2436,12 @@
       <window_info id="Gradle Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
       <window_info id="Designer" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
       <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.2496318" sideWeight="0.4949349" order="0" side_tool="false" content_ui="tabs" />
-      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3299566" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
+      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.3299566" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
       <window_info id="Gradle" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
       <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.2496318" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
       <window_info id="Android Model" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="true" content_ui="tabs" />
       <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="true" content_ui="tabs" />
-      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.39942113" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
+      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.39942113" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
       <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
       <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
       <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
@@ -2416,7 +2472,7 @@
     <watches-manager />
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/nightscout/android/dexcom/DexcomG4Activity.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/Medtronic640gActivity.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0">
           <caret line="166" column="77" selection-start-line="166" selection-start-column="71" selection-end-line="166" selection-end-column="77" />
@@ -2424,7 +2480,7 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/nightscout/android/upload/UploadHelper.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/info/nightscout/android/upload/UploadHelper.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0">
           <caret line="397" column="29" selection-start-line="397" selection-start-column="17" selection-end-line="397" selection-end-column="29" />
@@ -2434,7 +2490,7 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/service/MedtronicCNLService.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/service/MedtronicCNLService.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0">
           <caret line="138" column="37" selection-start-line="138" selection-start-column="35" selection-end-line="138" selection-end-column="37" />
@@ -2444,7 +2500,7 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/MedtronicCNLReader.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/MedtronicCNLReader.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0">
           <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
@@ -2452,7 +2508,7 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/nightscout/android/dexcom/DexcomG4Activity.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/Medtronic640gActivity.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0">
           <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
@@ -2460,7 +2516,7 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/nightscout/android/upload/UploadHelper.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/info/nightscout/android/upload/UploadHelper.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0">
           <caret line="397" column="29" selection-start-line="397" selection-start-column="17" selection-end-line="397" selection-end-column="29" />
@@ -2470,7 +2526,7 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/service/MedtronicCNLService.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/service/MedtronicCNLService.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0">
           <caret line="138" column="37" selection-start-line="138" selection-start-column="35" selection-end-line="138" selection-end-column="37" />
@@ -2480,7 +2536,7 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/nightscout/android/dexcom/DexcomG4Activity.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/Medtronic640gActivity.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0">
           <caret line="166" column="77" selection-start-line="166" selection-start-column="71" selection-end-line="166" selection-end-column="77" />
@@ -2488,7 +2544,7 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/nightscout/android/upload/UploadHelper.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/info/nightscout/android/upload/UploadHelper.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0">
           <caret line="397" column="29" selection-start-line="397" selection-start-column="17" selection-end-line="397" selection-end-column="29" />
@@ -2498,7 +2554,7 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/service/MedtronicCNLService.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/service/MedtronicCNLService.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0">
           <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
@@ -2508,7 +2564,7 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/MedtronicCNLReader.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/MedtronicCNLReader.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0">
           <caret line="329" column="11" selection-start-line="329" selection-start-column="11" selection-end-line="329" selection-end-column="11" />
@@ -2516,7 +2572,7 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/nightscout/android/dexcom/DexcomG4Activity.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/Medtronic640gActivity.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0">
           <caret line="72" column="0" selection-start-line="72" selection-start-column="0" selection-end-line="72" selection-end-column="0" />
@@ -2531,7 +2587,7 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/MedtronicCNLReader.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/MedtronicCNLReader.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0">
           <caret line="43" column="13" selection-start-line="43" selection-start-column="13" selection-end-line="43" selection-end-column="13" />
@@ -2539,36 +2595,21 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/CommandSenderThread.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/CommandSenderThread.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0">
           <caret line="31" column="22" selection-start-line="31" selection-start-column="22" selection-end-line="31" selection-end-column="22" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/res/values/strings.xml">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.09803922">
-          <caret line="4" column="21" selection-start-line="4" selection-start-column="18" selection-end-line="4" selection-end-column="21" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/AndroidManifest.xml">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.6103286">
-          <caret line="26" column="39" selection-start-line="26" selection-start-column="39" selection-end-line="26" selection-end-column="39" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/CommandSenderThread.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/CommandSenderThread.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0">
           <caret line="31" column="22" selection-start-line="31" selection-start-column="22" selection-end-line="31" selection-end-column="22" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/nightscout/android/USB/USBPower.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/info/nightscout/android/USB/USBPower.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.33333334">
           <caret line="20" column="24" selection-start-line="20" selection-start-column="24" selection-end-line="20" selection-end-column="24" />
@@ -2596,21 +2637,21 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/MedtronicCGMService.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/MedtronicCGMService.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.09653092">
           <caret line="1373" column="13" selection-start-line="1373" selection-start-column="13" selection-end-line="1373" selection-end-column="13" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/data/CNLConfigDbHelper.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/data/CNLConfigDbHelper.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.49019608">
           <caret line="119" column="25" selection-start-line="119" selection-start-column="25" selection-end-line="119" selection-end-column="25" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/nightscout/android/dexcom/DexcomG4Service.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/info/nightscout/android/dexcom/DexcomG4Service.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.094339624">
           <caret line="104" column="25" selection-start-line="104" selection-start-column="20" selection-end-line="104" selection-end-column="25" />
@@ -2640,7 +2681,7 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/message/MessageUtils.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/message/MessageUtils.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="1.3167421">
           <caret line="65" column="94" selection-start-line="65" selection-start-column="94" selection-end-line="65" selection-end-column="94" />
@@ -2658,7 +2699,7 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/nightscout/android/upload/MedtronicPumpRecord.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/info/nightscout/android/upload/MedtronicPumpRecord.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.09049774">
           <caret line="11" column="13" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="13" />
@@ -2666,7 +2707,7 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/nightscout/android/upload/GlucometerRecord.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/info/nightscout/android/upload/GlucometerRecord.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.09049774">
           <caret line="4" column="13" selection-start-line="4" selection-start-column="13" selection-end-line="4" selection-end-column="13" />
@@ -2674,26 +2715,18 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/nightscout/android/dexcom/DexcomG4Activity.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="75.55556">
-          <caret line="150" column="0" selection-start-line="150" selection-start-column="0" selection-end-line="150" selection-end-column="0" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/nightscout/android/upload/DeviceRecord.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/info/nightscout/android/upload/DeviceRecord.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.6511628">
           <caret line="19" column="36" selection-start-line="19" selection-start-column="36" selection-end-line="19" selection-end-column="36" />
           <folding>
-            <element signature="e#395#396#0" expanded="true" />
-            <element signature="e#430#431#0" expanded="true" />
+            <element signature="e#396#397#0" expanded="true" />
+            <element signature="e#431#432#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/nightscout/android/upload/UploadHelper.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/info/nightscout/android/upload/UploadHelper.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="-10.0">
           <caret line="688" column="43" selection-start-line="688" selection-start-column="43" selection-end-line="688" selection-end-column="43" />
@@ -2703,7 +2736,7 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/service/MedtronicCNLService.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/service/MedtronicCNLService.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="-7.6296296">
           <caret line="145" column="0" selection-start-line="145" selection-start-column="0" selection-end-line="145" selection-end-column="0" />
@@ -2713,7 +2746,7 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/nightscout/android/upload/MedtronicNG/CGMRecord.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/info/nightscout/android/upload/MedtronicNG/CGMRecord.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.61085975">
           <caret line="32" column="6" selection-start-line="32" selection-start-column="6" selection-end-line="32" selection-end-column="6" />
@@ -2721,7 +2754,7 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/nightscout/android/upload/MedtronicNG/PumpStatusRecord.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/info/nightscout/android/upload/MedtronicNG/PumpStatusRecord.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0">
           <caret line="20" column="56" selection-start-line="20" selection-start-column="56" selection-end-line="20" selection-end-column="56" />
@@ -2729,10 +2762,53 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/nightscout/android/medtronic/MedtronicCNLReader.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/res/values/strings.xml">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="0.18518518">
+          <caret line="4" column="21" selection-start-line="4" selection-start-column="18" selection-end-line="4" selection-end-column="21" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/AndroidManifest.xml">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="3.3333333">
+          <caret line="78" column="43" selection-start-line="78" selection-start-column="43" selection-end-line="78" selection-end-column="43" />
+          <folding>
+            <element signature="e#1665#1683#0" expanded="true" />
+            <element signature="e#2005#2023#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/MedtronicCNLReader.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="0.0">
+          <caret line="331" column="0" selection-start-line="331" selection-start-column="0" selection-end-line="331" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/GetHmacAndKeyActivity.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.59431523">
-          <caret line="332" column="0" selection-start-line="332" selection-start-column="0" selection-end-line="332" selection-end-column="0" />
+        <state vertical-scroll-proportion="0.2413793">
+          <caret line="48" column="13" selection-start-line="48" selection-start-column="13" selection-end-line="48" selection-end-column="13" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/info/nightscout/android/medtronic/Medtronic640gActivity.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="-2.7777777">
+          <caret line="56" column="13" selection-start-line="56" selection-start-column="13" selection-end-line="56" selection-end-column="13" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/info/nightscout/android/dexcom/ResultSetHelperService.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="0.33333334">
+          <caret line="31" column="13" selection-start-line="31" selection-start-column="13" selection-end-line="31" selection-end-column="13" />
           <folding />
         </state>
       </provider>
diff --git a/app/app.iml b/app/app.iml
index 9a64822..e01893b 100644
--- a/app/app.iml
+++ b/app/app.iml
@@ -64,14 +64,6 @@
       <sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
       <sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
       <sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
@@ -80,9 +72,16 @@
       <sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
-      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/builds" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/dependency-cache" />
diff --git a/app/build.gradle b/app/build.gradle
index 9e81a6b..a0a2b83 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -5,7 +5,7 @@ android {
     buildToolsVersion "23.0.1"
 
     defaultConfig {
-        applicationId "com.nightscout.android"
+        applicationId "info.nightscout.android"
         minSdkVersion 15
         targetSdkVersion 21
     }
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index c451ba5..dd172c4 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="com.nightscout.android"
+    package="info.nightscout.android"
     android:versionCode="1"
     android:versionName="1.0" >
 
@@ -36,9 +36,9 @@
 
         <!-- I have set screenOrientation to "portrait" to avoid the restart of AsyncTasks when you rotate the phone -->
         <activity
-            android:name=".dexcom.DexcomG4Activity"
+            android:name=".medtronic.Medtronic640gActivity"
             android:icon="@drawable/ic_launcher"
-            android:label="NightScout"
+            android:label="@string/app_name"
             android:launchMode="singleTask"
             android:screenOrientation="portrait" >
             <intent-filter android:icon="@drawable/ic_launcher" >
@@ -64,11 +64,6 @@
             android:name=".dexcom.DexcomG4Service"
             android:icon="@drawable/ic_launcher" >
         </service>
-        <!--
-        <service  android:icon="@drawable/ic_launcher"
-                android:label="NightScout" android:name=".medtronic.MedtronicCGMService">
-        </service>
-        -->
         <service
             android:name=".medtronic.service.MedtronicCNLService"
             android:icon="@drawable/ic_launcher" >
@@ -81,7 +76,7 @@
         <service
             android:name=".widget.CGMWidgetUpdater"
             android:icon="@drawable/ic_launcher"
-            android:label="NightScout" >
+            android:label="@string/app_name" >
         </service>
 
         <receiver android:name=".widget.CGMWidget" >
@@ -95,7 +90,7 @@
         </receiver>
 
         <activity
-            android:name=".dexcom.LoginActivity"
+            android:name=".medtronic.GetHmacAndKeyActivity"
             android:label="@string/title_activity_login" >
         </activity>
     </application>
diff --git a/app/src/main/java/com/nightscout/android/medtronic/MedtronicCalibration.java b/app/src/main/java/com/nightscout/android/medtronic/MedtronicCalibration.java
deleted file mode 100644
index 315e749..0000000
--- a/app/src/main/java/com/nightscout/android/medtronic/MedtronicCalibration.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package com.nightscout.android.medtronic;
-
-public class MedtronicCalibration {
-
-}
diff --git a/app/src/main/java/com/nightscout/android/USB/CommonUsbDriver.java b/app/src/main/java/info/nightscout/android/USB/CommonUsbDriver.java
similarity index 98%
rename from app/src/main/java/com/nightscout/android/USB/CommonUsbDriver.java
rename to app/src/main/java/info/nightscout/android/USB/CommonUsbDriver.java
index 08054dc..f3406d5 100644
--- a/app/src/main/java/com/nightscout/android/USB/CommonUsbDriver.java
+++ b/app/src/main/java/info/nightscout/android/USB/CommonUsbDriver.java
@@ -18,7 +18,7 @@
  * Project home page: http://code.google.com/p/usb-serial-for-android/
  */
 
-package com.nightscout.android.USB;
+package info.nightscout.android.USB;
 
 import android.hardware.usb.UsbDevice;
 import android.hardware.usb.UsbDeviceConnection;
diff --git a/app/src/main/java/com/nightscout/android/USB/HidBridge.java b/app/src/main/java/info/nightscout/android/USB/HidBridge.java
similarity index 99%
rename from app/src/main/java/com/nightscout/android/USB/HidBridge.java
rename to app/src/main/java/info/nightscout/android/USB/HidBridge.java
index 26e4d37..57ed36a 100644
--- a/app/src/main/java/com/nightscout/android/USB/HidBridge.java
+++ b/app/src/main/java/info/nightscout/android/USB/HidBridge.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.USB;
+package info.nightscout.android.USB;
 
 import android.content.BroadcastReceiver;
 import android.app.PendingIntent;
@@ -10,7 +10,6 @@ import android.hardware.usb.UsbDeviceConnection;
 import android.hardware.usb.UsbEndpoint;
 import android.hardware.usb.UsbInterface;
 import android.hardware.usb.UsbManager;
-import android.os.Build;
 import android.util.Log;
 
 import java.util.HashMap;
diff --git a/app/src/main/java/com/nightscout/android/USB/USBPower.java b/app/src/main/java/info/nightscout/android/USB/USBPower.java
similarity index 97%
rename from app/src/main/java/com/nightscout/android/USB/USBPower.java
rename to app/src/main/java/info/nightscout/android/USB/USBPower.java
index 0c0a034..92890b8 100644
--- a/app/src/main/java/com/nightscout/android/USB/USBPower.java
+++ b/app/src/main/java/info/nightscout/android/USB/USBPower.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.USB;
+package info.nightscout.android.USB;
 
 import java.io.DataOutputStream;
 
diff --git a/app/src/main/java/com/nightscout/android/USB/UsbDriver.java b/app/src/main/java/info/nightscout/android/USB/UsbDriver.java
similarity index 98%
rename from app/src/main/java/com/nightscout/android/USB/UsbDriver.java
rename to app/src/main/java/info/nightscout/android/USB/UsbDriver.java
index 7569a8c..28e8759 100644
--- a/app/src/main/java/com/nightscout/android/USB/UsbDriver.java
+++ b/app/src/main/java/info/nightscout/android/USB/UsbDriver.java
@@ -18,7 +18,7 @@
  * Project home page: http://code.google.com/p/usb-serial-for-android/
  */
 
-package com.nightscout.android.USB;
+package info.nightscout.android.USB;
 
 import java.io.IOException;
 
diff --git a/app/src/main/java/com/nightscout/android/USB/UsbHidDriver.java b/app/src/main/java/info/nightscout/android/USB/UsbHidDriver.java
similarity index 99%
rename from app/src/main/java/com/nightscout/android/USB/UsbHidDriver.java
rename to app/src/main/java/info/nightscout/android/USB/UsbHidDriver.java
index 0b0c3fc..0332d97 100644
--- a/app/src/main/java/com/nightscout/android/USB/UsbHidDriver.java
+++ b/app/src/main/java/info/nightscout/android/USB/UsbHidDriver.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.USB;
+package info.nightscout.android.USB;
 
 import android.hardware.usb.UsbDevice;
 import android.hardware.usb.UsbDeviceConnection;
diff --git a/app/src/main/java/com/nightscout/android/dexcom/CSVWriter.java b/app/src/main/java/info/nightscout/android/dexcom/CSVWriter.java
similarity index 99%
rename from app/src/main/java/com/nightscout/android/dexcom/CSVWriter.java
rename to app/src/main/java/info/nightscout/android/dexcom/CSVWriter.java
index 1278957..dbe42c2 100644
--- a/app/src/main/java/com/nightscout/android/dexcom/CSVWriter.java
+++ b/app/src/main/java/info/nightscout/android/dexcom/CSVWriter.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.dexcom;
+package info.nightscout.android.dexcom;
 
 /**
  Copyright 2005 Bytecode Pty Ltd.
diff --git a/app/src/main/java/com/nightscout/android/dexcom/DexcomG4Service.java b/app/src/main/java/info/nightscout/android/dexcom/DexcomG4Service.java
similarity index 97%
rename from app/src/main/java/com/nightscout/android/dexcom/DexcomG4Service.java
rename to app/src/main/java/info/nightscout/android/dexcom/DexcomG4Service.java
index 93fb63e..c830825 100644
--- a/app/src/main/java/com/nightscout/android/dexcom/DexcomG4Service.java
+++ b/app/src/main/java/info/nightscout/android/dexcom/DexcomG4Service.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.dexcom;
+package info.nightscout.android.dexcom;
 
 import android.annotation.SuppressLint;
 import android.app.Notification;
@@ -21,12 +21,12 @@ import android.view.Gravity;
 import android.widget.LinearLayout;
 import android.widget.TextView;
 import android.widget.Toast;
-import com.nightscout.android.R;
-import com.nightscout.android.dexcom.USB.SerialInputOutputManager;
-import com.nightscout.android.USB.USBPower;
-import com.nightscout.android.dexcom.USB.UsbSerialDriver;
-import com.nightscout.android.dexcom.USB.UsbSerialProber;
-import com.nightscout.android.upload.UploadHelper;
+import info.nightscout.android.R;
+import info.nightscout.android.dexcom.USB.SerialInputOutputManager;
+import info.nightscout.android.USB.USBPower;
+import info.nightscout.android.dexcom.USB.UsbSerialDriver;
+import info.nightscout.android.dexcom.USB.UsbSerialProber;
+import info.nightscout.android.upload.UploadHelper;
 
 import java.io.IOException;
 import java.text.ParseException;
diff --git a/app/src/main/java/com/nightscout/android/dexcom/DexcomReader.java b/app/src/main/java/info/nightscout/android/dexcom/DexcomReader.java
similarity index 99%
rename from app/src/main/java/com/nightscout/android/dexcom/DexcomReader.java
rename to app/src/main/java/info/nightscout/android/dexcom/DexcomReader.java
index f0259af..4bf28c6 100644
--- a/app/src/main/java/com/nightscout/android/dexcom/DexcomReader.java
+++ b/app/src/main/java/info/nightscout/android/dexcom/DexcomReader.java
@@ -1,11 +1,11 @@
-package com.nightscout.android.dexcom;
+package info.nightscout.android.dexcom;
 
 import android.content.Context;
 import android.hardware.usb.UsbManager;
 import android.os.AsyncTask;
 import android.util.Log;
-import com.nightscout.android.dexcom.USB.UsbSerialDriver;
-import com.nightscout.android.dexcom.USB.UsbSerialProber;
+import info.nightscout.android.dexcom.USB.UsbSerialDriver;
+import info.nightscout.android.dexcom.USB.UsbSerialProber;
 
 import java.io.*;
 import java.nio.ByteBuffer;
diff --git a/app/src/main/java/com/nightscout/android/dexcom/EGVRecord.java b/app/src/main/java/info/nightscout/android/dexcom/EGVRecord.java
similarity index 86%
rename from app/src/main/java/com/nightscout/android/dexcom/EGVRecord.java
rename to app/src/main/java/info/nightscout/android/dexcom/EGVRecord.java
index 9b0f08d..1f715a5 100644
--- a/app/src/main/java/com/nightscout/android/dexcom/EGVRecord.java
+++ b/app/src/main/java/info/nightscout/android/dexcom/EGVRecord.java
@@ -1,8 +1,8 @@
-package com.nightscout.android.dexcom;
+package info.nightscout.android.dexcom;
 
 import java.io.Serializable;
 
-import com.nightscout.android.upload.Record;
+import info.nightscout.android.upload.Record;
 
 public class EGVRecord extends Record implements Serializable {
     public String bGValue = "---";
diff --git a/app/src/main/java/com/nightscout/android/dexcom/ResultSetHelper.java b/app/src/main/java/info/nightscout/android/dexcom/ResultSetHelper.java
similarity index 95%
rename from app/src/main/java/com/nightscout/android/dexcom/ResultSetHelper.java
rename to app/src/main/java/info/nightscout/android/dexcom/ResultSetHelper.java
index b30d3f5..7eb7c49 100644
--- a/app/src/main/java/com/nightscout/android/dexcom/ResultSetHelper.java
+++ b/app/src/main/java/info/nightscout/android/dexcom/ResultSetHelper.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.dexcom;
+package info.nightscout.android.dexcom;
 /**
  Copyright 2005 Bytecode Pty Ltd.
 
diff --git a/app/src/main/java/com/nightscout/android/dexcom/ResultSetHelperService.java b/app/src/main/java/info/nightscout/android/dexcom/ResultSetHelperService.java
similarity index 99%
rename from app/src/main/java/com/nightscout/android/dexcom/ResultSetHelperService.java
rename to app/src/main/java/info/nightscout/android/dexcom/ResultSetHelperService.java
index 78ae6cf..373671b 100644
--- a/app/src/main/java/com/nightscout/android/dexcom/ResultSetHelperService.java
+++ b/app/src/main/java/info/nightscout/android/dexcom/ResultSetHelperService.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.dexcom;
+package info.nightscout.android.dexcom;
 /**
  Copyright 2005 Bytecode Pty Ltd.
 
diff --git a/app/src/main/java/com/nightscout/android/dexcom/USB/CdcAcmSerialDriver.java b/app/src/main/java/info/nightscout/android/dexcom/USB/CdcAcmSerialDriver.java
similarity index 99%
rename from app/src/main/java/com/nightscout/android/dexcom/USB/CdcAcmSerialDriver.java
rename to app/src/main/java/info/nightscout/android/dexcom/USB/CdcAcmSerialDriver.java
index 2edfa3c..97fc8b6 100644
--- a/app/src/main/java/com/nightscout/android/dexcom/USB/CdcAcmSerialDriver.java
+++ b/app/src/main/java/info/nightscout/android/dexcom/USB/CdcAcmSerialDriver.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.dexcom.USB;
+package info.nightscout.android.dexcom.USB;
 
 import android.hardware.usb.*;
 import android.util.Log;
diff --git a/app/src/main/java/com/nightscout/android/dexcom/USB/CommonUsbSerialDriver.java b/app/src/main/java/info/nightscout/android/dexcom/USB/CommonUsbSerialDriver.java
similarity index 98%
rename from app/src/main/java/com/nightscout/android/dexcom/USB/CommonUsbSerialDriver.java
rename to app/src/main/java/info/nightscout/android/dexcom/USB/CommonUsbSerialDriver.java
index 2bc8865..12efe9a 100644
--- a/app/src/main/java/com/nightscout/android/dexcom/USB/CommonUsbSerialDriver.java
+++ b/app/src/main/java/info/nightscout/android/dexcom/USB/CommonUsbSerialDriver.java
@@ -18,7 +18,7 @@
  * Project home page: http://code.google.com/p/usb-serial-for-android/
  */
 
-package com.nightscout.android.dexcom.USB;
+package info.nightscout.android.dexcom.USB;
 
 import android.hardware.usb.UsbDevice;
 import android.hardware.usb.UsbDeviceConnection;
diff --git a/app/src/main/java/com/nightscout/android/dexcom/USB/HexDump.java b/app/src/main/java/info/nightscout/android/dexcom/USB/HexDump.java
similarity index 99%
rename from app/src/main/java/com/nightscout/android/dexcom/USB/HexDump.java
rename to app/src/main/java/info/nightscout/android/dexcom/USB/HexDump.java
index a292071..3608083 100644
--- a/app/src/main/java/com/nightscout/android/dexcom/USB/HexDump.java
+++ b/app/src/main/java/info/nightscout/android/dexcom/USB/HexDump.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.nightscout.android.dexcom.USB;
+package info.nightscout.android.dexcom.USB;
 
 /**
  * Clone of Android's HexDump class, for use in debugging. Cosmetic changes
diff --git a/app/src/main/java/com/nightscout/android/dexcom/USB/SerialInputOutputManager.java b/app/src/main/java/info/nightscout/android/dexcom/USB/SerialInputOutputManager.java
similarity index 99%
rename from app/src/main/java/com/nightscout/android/dexcom/USB/SerialInputOutputManager.java
rename to app/src/main/java/info/nightscout/android/dexcom/USB/SerialInputOutputManager.java
index 5a54a4c..5e364dd 100644
--- a/app/src/main/java/com/nightscout/android/dexcom/USB/SerialInputOutputManager.java
+++ b/app/src/main/java/info/nightscout/android/dexcom/USB/SerialInputOutputManager.java
@@ -18,7 +18,7 @@
  * Project home page: http://code.google.com/p/usb-serial-for-android/
  */
 
-package com.nightscout.android.dexcom.USB;
+package info.nightscout.android.dexcom.USB;
 
 import android.util.Log;
 
diff --git a/app/src/main/java/com/nightscout/android/dexcom/USB/UsbSerialDriver.java b/app/src/main/java/info/nightscout/android/dexcom/USB/UsbSerialDriver.java
similarity index 99%
rename from app/src/main/java/com/nightscout/android/dexcom/USB/UsbSerialDriver.java
rename to app/src/main/java/info/nightscout/android/dexcom/USB/UsbSerialDriver.java
index 4b26911..1c6fde0 100644
--- a/app/src/main/java/com/nightscout/android/dexcom/USB/UsbSerialDriver.java
+++ b/app/src/main/java/info/nightscout/android/dexcom/USB/UsbSerialDriver.java
@@ -18,7 +18,7 @@
  * Project home page: http://code.google.com/p/usb-serial-for-android/
  */
 
-package com.nightscout.android.dexcom.USB;
+package info.nightscout.android.dexcom.USB;
 
 import java.io.IOException;
 
diff --git a/app/src/main/java/com/nightscout/android/dexcom/USB/UsbSerialProber.java b/app/src/main/java/info/nightscout/android/dexcom/USB/UsbSerialProber.java
similarity index 99%
rename from app/src/main/java/com/nightscout/android/dexcom/USB/UsbSerialProber.java
rename to app/src/main/java/info/nightscout/android/dexcom/USB/UsbSerialProber.java
index c1bdfc1..6daa6b8 100644
--- a/app/src/main/java/com/nightscout/android/dexcom/USB/UsbSerialProber.java
+++ b/app/src/main/java/info/nightscout/android/dexcom/USB/UsbSerialProber.java
@@ -18,7 +18,7 @@
  * Project home page: http://code.google.com/p/usb-serial-for-android/
  */
 
-package com.nightscout.android.dexcom.USB;
+package info.nightscout.android.dexcom.USB;
 
 import android.hardware.usb.UsbDevice;
 import android.hardware.usb.UsbDeviceConnection;
diff --git a/app/src/main/java/com/nightscout/android/eula/Eula.java b/app/src/main/java/info/nightscout/android/eula/Eula.java
similarity index 98%
rename from app/src/main/java/com/nightscout/android/eula/Eula.java
rename to app/src/main/java/info/nightscout/android/eula/Eula.java
index f3994dd..eb90972 100644
--- a/app/src/main/java/com/nightscout/android/eula/Eula.java
+++ b/app/src/main/java/info/nightscout/android/eula/Eula.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.eula;
+package info.nightscout.android.eula;
 /*
  * Copyright (C) 2008 The Android Open Source Project
  *
@@ -27,7 +27,7 @@ import java.io.InputStreamReader;
 import java.io.Closeable;
 import java.util.Map;
 
-import com.nightscout.android.R;
+import info.nightscout.android.R;
 
 /**
  * Displays an EULA ("End User License Agreement") that the user has to accept before
diff --git a/app/src/main/java/com/nightscout/android/medtronic/CommandSenderThread.java b/app/src/main/java/info/nightscout/android/medtronic/CommandSenderThread.java
similarity index 99%
rename from app/src/main/java/com/nightscout/android/medtronic/CommandSenderThread.java
rename to app/src/main/java/info/nightscout/android/medtronic/CommandSenderThread.java
index 5cbe91a..52f9b98 100644
--- a/app/src/main/java/com/nightscout/android/medtronic/CommandSenderThread.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/CommandSenderThread.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.medtronic;
+package info.nightscout.android.medtronic;
 
 import android.os.Bundle;
 import android.os.Handler;
@@ -7,7 +7,7 @@ import android.os.Messenger;
 import android.os.RemoteException;
 import android.util.Log;
 
-import com.nightscout.android.dexcom.USB.HexDump;
+import info.nightscout.android.dexcom.USB.HexDump;
 import com.physicaloid.lib.Physicaloid;
 
 import org.slf4j.LoggerFactory;
diff --git a/app/src/main/java/com/nightscout/android/medtronic/DataLog.java b/app/src/main/java/info/nightscout/android/medtronic/DataLog.java
similarity index 83%
rename from app/src/main/java/com/nightscout/android/medtronic/DataLog.java
rename to app/src/main/java/info/nightscout/android/medtronic/DataLog.java
index 896f8f0..2c7db13 100644
--- a/app/src/main/java/com/nightscout/android/medtronic/DataLog.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/DataLog.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.medtronic;
+package info.nightscout.android.medtronic;
 
 import java.util.Date;
 
diff --git a/app/src/main/java/com/nightscout/android/dexcom/LoginActivity.java b/app/src/main/java/info/nightscout/android/medtronic/GetHmacAndKeyActivity.java
similarity index 97%
rename from app/src/main/java/com/nightscout/android/dexcom/LoginActivity.java
rename to app/src/main/java/info/nightscout/android/medtronic/GetHmacAndKeyActivity.java
index 534f0e4..5ecb3f9 100644
--- a/app/src/main/java/com/nightscout/android/dexcom/LoginActivity.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/GetHmacAndKeyActivity.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.dexcom;
+package info.nightscout.android.medtronic;
 
 import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
@@ -19,10 +19,10 @@ import android.widget.Button;
 import android.widget.EditText;
 import android.widget.TextView;
 
-import com.nightscout.android.R;
-import com.nightscout.android.medtronic.data.CNLConfigContract;
-import com.nightscout.android.medtronic.data.CNLConfigDbHelper;
-import com.nightscout.android.medtronic.message.MessageUtils;
+import info.nightscout.android.R;
+import info.nightscout.android.medtronic.data.CNLConfigContract;
+import info.nightscout.android.medtronic.data.CNLConfigDbHelper;
+import info.nightscout.android.medtronic.message.MessageUtils;
 
 import org.apache.commons.lang3.ArrayUtils;
 import org.apache.http.HttpResponse;
@@ -46,7 +46,7 @@ import java.util.List;
 /**
  * A login screen that offers login via username/password.
  */
-public class LoginActivity extends Activity implements LoaderCallbacks<Cursor> {
+public class GetHmacAndKeyActivity extends Activity implements LoaderCallbacks<Cursor> {
 
     /**
      * Keep track of the login task to ensure we can cancel it if requested.
diff --git a/app/src/main/java/com/nightscout/android/medtronic/HistoricGetterThread.java b/app/src/main/java/info/nightscout/android/medtronic/HistoricGetterThread.java
similarity index 98%
rename from app/src/main/java/com/nightscout/android/medtronic/HistoricGetterThread.java
rename to app/src/main/java/info/nightscout/android/medtronic/HistoricGetterThread.java
index 7788b99..af556d5 100644
--- a/app/src/main/java/com/nightscout/android/medtronic/HistoricGetterThread.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/HistoricGetterThread.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.medtronic;
+package info.nightscout.android.medtronic;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -7,7 +7,7 @@ import java.util.HashMap;
 import android.os.Handler;
 import android.os.Messenger;
 
-import com.nightscout.android.dexcom.USB.HexDump;
+import info.nightscout.android.dexcom.USB.HexDump;
 import com.physicaloid.lib.Physicaloid;
 
 public class HistoricGetterThread extends CommandSenderThread {
diff --git a/app/src/main/java/com/nightscout/android/dexcom/DexcomG4Activity.java b/app/src/main/java/info/nightscout/android/medtronic/Medtronic640gActivity.java
similarity index 94%
rename from app/src/main/java/com/nightscout/android/dexcom/DexcomG4Activity.java
rename to app/src/main/java/info/nightscout/android/medtronic/Medtronic640gActivity.java
index d400107..622d8d2 100644
--- a/app/src/main/java/com/nightscout/android/dexcom/DexcomG4Activity.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/Medtronic640gActivity.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.dexcom;
+package info.nightscout.android.medtronic;
 
 import android.app.Activity;
 import android.app.ActivityManager;
@@ -34,17 +34,16 @@ import android.widget.LinearLayout;
 import android.widget.TextView;
 import android.widget.TextView.BufferType;
 
-import com.nightscout.android.R;
-import com.nightscout.android.eula.Eula;
-import com.nightscout.android.eula.Eula.OnEulaAgreedTo;
-import com.nightscout.android.medtronic.MedtronicCGMService;
-import com.nightscout.android.medtronic.MedtronicConstants;
-import com.nightscout.android.medtronic.service.MedtronicCNLService;
-import com.nightscout.android.service.ServiceManager;
-import com.nightscout.android.settings.SettingsActivity;
-import com.nightscout.android.upload.MedtronicNG.CGMRecord;
-import com.nightscout.android.upload.MedtronicNG.PumpStatusRecord;
-import com.nightscout.android.upload.Record;
+import info.nightscout.android.R;
+import info.nightscout.android.dexcom.DexcomG4Service;
+import info.nightscout.android.eula.Eula;
+import info.nightscout.android.eula.Eula.OnEulaAgreedTo;
+import info.nightscout.android.medtronic.service.MedtronicCNLService;
+import info.nightscout.android.service.ServiceManager;
+import info.nightscout.android.settings.SettingsActivity;
+import info.nightscout.android.upload.MedtronicNG.CGMRecord;
+import info.nightscout.android.upload.MedtronicNG.PumpStatusRecord;
+import info.nightscout.android.upload.Record;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -54,15 +53,15 @@ import java.io.FileInputStream;
 import java.io.ObjectInputStream;
 import java.text.DecimalFormat;
 
-/* Main activity for the DexcomG4Activity program */
-public class DexcomG4Activity extends Activity implements OnSharedPreferenceChangeListener, OnEulaAgreedTo {
-    private Logger log = (Logger) LoggerFactory.getLogger(DexcomG4Activity.class.getName());
+/* Main activity for the Medtronic640gActivity program */
+public class Medtronic640gActivity extends Activity implements OnSharedPreferenceChangeListener, OnEulaAgreedTo {
+    private Logger log = (Logger) LoggerFactory.getLogger(Medtronic640gActivity.class.getName());
     //CGMs supported
     public static final int DEXCOMG4 = 0;
     public static final int MEDTRONIC_CGM = 1;
     public static final int CNL_24 = 2;
 
-    private static final String TAG = DexcomG4Activity.class.getSimpleName();
+    private static final String TAG = Medtronic640gActivity.class.getSimpleName();
     private int cgmSelected = CNL_24;
     private int calibrationSelected = MedtronicConstants.CALIBRATION_GLUCOMETER;
 
@@ -382,7 +381,7 @@ public class DexcomG4Activity extends Activity implements OnSharedPreferenceChan
                 startActivity(settingsIntent);
                 break;
             case R.id.registerCNL:
-                Intent loginIntent = new Intent(this, LoginActivity.class);
+                Intent loginIntent = new Intent(this, GetHmacAndKeyActivity.class);
                 startActivity(loginIntent);
                 break;
             default:
@@ -405,7 +404,7 @@ public class DexcomG4Activity extends Activity implements OnSharedPreferenceChan
                 //cgmService.start();
                 break;
             default:
-                startService(new Intent(DexcomG4Activity.this, DexcomG4Service.class));
+                startService(new Intent(Medtronic640gActivity.this, DexcomG4Service.class));
         }
         return;
     }
@@ -424,7 +423,7 @@ public class DexcomG4Activity extends Activity implements OnSharedPreferenceChan
                 }
                 break;
             default:
-                stopService(new Intent(DexcomG4Activity.this, DexcomG4Service.class));
+                stopService(new Intent(Medtronic640gActivity.this, DexcomG4Service.class));
         }
         return;
     }
diff --git a/app/src/main/java/com/nightscout/android/medtronic/MedtronicCGMService.java b/app/src/main/java/info/nightscout/android/medtronic/MedtronicCGMService.java
similarity index 99%
rename from app/src/main/java/com/nightscout/android/medtronic/MedtronicCGMService.java
rename to app/src/main/java/info/nightscout/android/medtronic/MedtronicCGMService.java
index 51c6fe0..e80e57a 100644
--- a/app/src/main/java/com/nightscout/android/medtronic/MedtronicCGMService.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/MedtronicCGMService.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.medtronic;
+package info.nightscout.android.medtronic;
 
 import java.io.File;
 import java.io.FileInputStream;
@@ -52,12 +52,12 @@ import com.mongodb.MongoCredential;
 import com.mongodb.ServerAddress;
 import com.mongodb.client.MongoCollection;
 import com.mongodb.client.MongoDatabase;
-import com.nightscout.android.dexcom.DexcomG4Activity;
-import com.nightscout.android.dexcom.USB.HexDump;
-import com.nightscout.android.upload.GlucometerRecord;
-import com.nightscout.android.upload.MedtronicSensorRecord;
-import com.nightscout.android.upload.Record;
-import com.nightscout.android.upload.UploadHelper;
+
+import info.nightscout.android.dexcom.USB.HexDump;
+import info.nightscout.android.upload.GlucometerRecord;
+import info.nightscout.android.upload.MedtronicSensorRecord;
+import info.nightscout.android.upload.Record;
+import info.nightscout.android.upload.UploadHelper;
 import com.physicaloid.lib.Physicaloid;
 import com.physicaloid.lib.usb.driver.uart.ReadLisener;
 import com.physicaloid.lib.usb.driver.uart.UartConfig;
@@ -1055,7 +1055,7 @@ public class MedtronicCGMService extends Service implements
 						if ((recordsNotUploaded.length() > 0 || recordsNotUploadedJson.length() > 0) && !isDestroying) {
 							log.debug("to upload old records");
 							uploader = new UploadHelper(getApplicationContext(),
-									DexcomG4Activity.MEDTRONIC_CGM,
+									Medtronic640gActivity.MEDTRONIC_CGM,
 									mClients);
 							if (!isDBInitialized){
 								isDBInitialized = initializeDB();
@@ -1160,7 +1160,7 @@ public class MedtronicCGMService extends Service implements
 					if (params.length > 0) {
 						synchronized (reloadLostLock) {
 							uploader = new UploadHelper(getApplicationContext(),
-									DexcomG4Activity.MEDTRONIC_CGM,
+									Medtronic640gActivity.MEDTRONIC_CGM,
 									mClients);
 							if (!isDBInitialized){
 								isDBInitialized = initializeDB();
diff --git a/app/src/main/java/com/nightscout/android/medtronic/MedtronicCNLReader.java b/app/src/main/java/info/nightscout/android/medtronic/MedtronicCNLReader.java
similarity index 86%
rename from app/src/main/java/com/nightscout/android/medtronic/MedtronicCNLReader.java
rename to app/src/main/java/info/nightscout/android/medtronic/MedtronicCNLReader.java
index 7ff4d9b..76445d3 100644
--- a/app/src/main/java/com/nightscout/android/medtronic/MedtronicCNLReader.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/MedtronicCNLReader.java
@@ -1,29 +1,28 @@
-package com.nightscout.android.medtronic;
+package info.nightscout.android.medtronic;
 
 import android.util.Log;
 
-import com.nightscout.android.USB.UsbHidDriver;
-import com.nightscout.android.dexcom.DexcomG4Activity;
-import com.nightscout.android.dexcom.USB.HexDump;
-import com.nightscout.android.medtronic.message.BeginEHSMMessage;
-import com.nightscout.android.medtronic.message.ChannelNegotiateMessage;
-import com.nightscout.android.medtronic.message.ChecksumException;
-import com.nightscout.android.medtronic.message.ContourNextLinkBinaryMessage;
-import com.nightscout.android.medtronic.message.ContourNextLinkCommandMessage;
-import com.nightscout.android.medtronic.message.ContourNextLinkMessage;
-import com.nightscout.android.medtronic.message.ContourNextLinkMessageHandler;
-import com.nightscout.android.medtronic.message.EncryptionException;
-import com.nightscout.android.medtronic.message.EndEHSMMessage;
-import com.nightscout.android.medtronic.message.MedtronicMessage;
-import com.nightscout.android.medtronic.message.MessageUtils;
-import com.nightscout.android.medtronic.message.PumpStatusRequestMessage;
-import com.nightscout.android.medtronic.message.PumpStatusResponseMessage;
-import com.nightscout.android.medtronic.message.PumpTimeRequestMessage;
-import com.nightscout.android.medtronic.message.PumpTimeResponseMessage;
-import com.nightscout.android.medtronic.message.ReadInfoResponseMessage;
-import com.nightscout.android.medtronic.message.UnexpectedMessageException;
-import com.nightscout.android.medtronic.service.MedtronicCNLService;
-import com.nightscout.android.upload.MedtronicNG.CGMRecord;
+import info.nightscout.android.USB.UsbHidDriver;
+import info.nightscout.android.dexcom.USB.HexDump;
+import info.nightscout.android.medtronic.message.BeginEHSMMessage;
+import info.nightscout.android.medtronic.message.ChannelNegotiateMessage;
+import info.nightscout.android.medtronic.message.ChecksumException;
+import info.nightscout.android.medtronic.message.ContourNextLinkBinaryMessage;
+import info.nightscout.android.medtronic.message.ContourNextLinkCommandMessage;
+import info.nightscout.android.medtronic.message.ContourNextLinkMessage;
+import info.nightscout.android.medtronic.message.ContourNextLinkMessageHandler;
+import info.nightscout.android.medtronic.message.EncryptionException;
+import info.nightscout.android.medtronic.message.EndEHSMMessage;
+import info.nightscout.android.medtronic.message.MedtronicMessage;
+import info.nightscout.android.medtronic.message.MessageUtils;
+import info.nightscout.android.medtronic.message.PumpStatusRequestMessage;
+import info.nightscout.android.medtronic.message.PumpStatusResponseMessage;
+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.medtronic.service.MedtronicCNLService;
+import info.nightscout.android.upload.MedtronicNG.CGMRecord;
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
@@ -285,7 +284,7 @@ public class MedtronicCNLReader implements ContourNextLinkMessageHandler {
         DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.US);
         dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
         pumpRecord.displayTime = dateFormat.format(pumpDate);
-        DexcomG4Activity.pumpStatusRecord.pumpDate = pumpDate;
+        Medtronic640gActivity.pumpStatusRecord.pumpDate = pumpDate;
     }
 
     public void getPumpStatus(CGMRecord pumpRecord) throws IOException, EncryptionException, ChecksumException, TimeoutException {
@@ -310,7 +309,7 @@ public class MedtronicCNLReader implements ContourNextLinkMessageHandler {
 
         // Read the data into the record
         long rawActiveInsulin = statusBuffer.getShort(0x33) & 0x0000ffff;
-        DexcomG4Activity.pumpStatusRecord.activeInsulin = new BigDecimal( rawActiveInsulin / 10000f ).setScale(3, BigDecimal.ROUND_HALF_UP);
+        Medtronic640gActivity.pumpStatusRecord.activeInsulin = new BigDecimal( rawActiveInsulin / 10000f ).setScale(3, BigDecimal.ROUND_HALF_UP);
         pumpRecord.sensorBGL = statusBuffer.getShort(0x35) & 0x0000ffff; // In mg/DL. 0 means no CGM reading
         long rtc;
         long offset;
@@ -326,11 +325,11 @@ public class MedtronicCNLReader implements ContourNextLinkMessageHandler {
             pumpRecord.setTrend(CGMRecord.fromMessageByte( statusBuffer.get(0x40)));
         }
         pumpRecord.sensorBGLDate = MessageUtils.decodeDateTime(rtc, offset);
-        DexcomG4Activity.pumpStatusRecord.recentBolusWizard = statusBuffer.get(0x48) != 0;
-        DexcomG4Activity.pumpStatusRecord.bolusWizardBGL = statusBuffer.getShort(0x49); // In mg/DL
+        Medtronic640gActivity.pumpStatusRecord.recentBolusWizard = statusBuffer.get(0x48) != 0;
+        Medtronic640gActivity.pumpStatusRecord.bolusWizardBGL = statusBuffer.getShort(0x49); // In mg/DL
         long rawReservoirAmount = statusBuffer.getInt(0x2b) &  0xffffffff;
-        DexcomG4Activity.pumpStatusRecord.reservoirAmount = new BigDecimal( rawReservoirAmount / 10000f ).setScale(3, BigDecimal.ROUND_HALF_UP);
-        DexcomG4Activity.pumpStatusRecord.batteryPercentage = ( statusBuffer.get(0x2a) );
+        Medtronic640gActivity.pumpStatusRecord.reservoirAmount = new BigDecimal( rawReservoirAmount / 10000f ).setScale(3, BigDecimal.ROUND_HALF_UP);
+        Medtronic640gActivity.pumpStatusRecord.batteryPercentage = ( statusBuffer.get(0x2a) );
     }
 
     public void endEHSMSession() throws EncryptionException, IOException, TimeoutException {
diff --git a/app/src/main/java/com/nightscout/android/medtronic/MedtronicCNLSession.java b/app/src/main/java/info/nightscout/android/medtronic/MedtronicCNLSession.java
similarity index 93%
rename from app/src/main/java/com/nightscout/android/medtronic/MedtronicCNLSession.java
rename to app/src/main/java/info/nightscout/android/medtronic/MedtronicCNLSession.java
index ba470a2..6c1ac2f 100644
--- a/app/src/main/java/com/nightscout/android/medtronic/MedtronicCNLSession.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/MedtronicCNLSession.java
@@ -1,6 +1,4 @@
-package com.nightscout.android.medtronic;
-
-import com.nightscout.android.medtronic.message.MessageUtils;
+package info.nightscout.android.medtronic;
 
 /**
  * Created by lgoedhart on 26/03/2016.
diff --git a/app/src/main/java/info/nightscout/android/medtronic/MedtronicCalibration.java b/app/src/main/java/info/nightscout/android/medtronic/MedtronicCalibration.java
new file mode 100644
index 0000000..e44e6c4
--- /dev/null
+++ b/app/src/main/java/info/nightscout/android/medtronic/MedtronicCalibration.java
@@ -0,0 +1,5 @@
+package info.nightscout.android.medtronic;
+
+public class MedtronicCalibration {
+
+}
diff --git a/app/src/main/java/com/nightscout/android/medtronic/MedtronicConstants.java b/app/src/main/java/info/nightscout/android/medtronic/MedtronicConstants.java
similarity index 99%
rename from app/src/main/java/com/nightscout/android/medtronic/MedtronicConstants.java
rename to app/src/main/java/info/nightscout/android/medtronic/MedtronicConstants.java
index 284540c..1919da9 100644
--- a/app/src/main/java/com/nightscout/android/medtronic/MedtronicConstants.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/MedtronicConstants.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.medtronic;
+package info.nightscout.android.medtronic;
 
 public class MedtronicConstants {
 		
diff --git a/app/src/main/java/com/nightscout/android/medtronic/MedtronicReader.java b/app/src/main/java/info/nightscout/android/medtronic/MedtronicReader.java
similarity index 99%
rename from app/src/main/java/com/nightscout/android/medtronic/MedtronicReader.java
rename to app/src/main/java/info/nightscout/android/medtronic/MedtronicReader.java
index 67a8dc8..0e5726a 100644
--- a/app/src/main/java/com/nightscout/android/medtronic/MedtronicReader.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/MedtronicReader.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.medtronic;
+package info.nightscout.android.medtronic;
 
 import java.io.File;
 import java.io.FileOutputStream;
@@ -12,13 +12,10 @@ import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
 import java.util.Locale;
-import java.util.concurrent.atomic.AtomicBoolean;
 
 import org.slf4j.LoggerFactory;
 
-import android.app.AlertDialog;
 import android.content.Context;
-import android.content.DialogInterface;
 import android.content.SharedPreferences;
 import android.os.Bundle;
 import android.os.Handler;
@@ -26,18 +23,15 @@ import android.os.Message;
 import android.os.Messenger;
 import android.os.RemoteException;
 import android.preference.PreferenceManager;
-import android.text.InputType;
 import android.util.Log;
-import android.widget.EditText;
-import android.widget.TextView.BufferType;
 
 import ch.qos.logback.classic.Logger;
 
-import com.nightscout.android.dexcom.USB.HexDump;
-import com.nightscout.android.upload.GlucometerRecord;
-import com.nightscout.android.upload.MedtronicPumpRecord;
-import com.nightscout.android.upload.MedtronicSensorRecord;
-import com.nightscout.android.upload.Record;
+import info.nightscout.android.dexcom.USB.HexDump;
+import info.nightscout.android.upload.GlucometerRecord;
+import info.nightscout.android.upload.MedtronicPumpRecord;
+import info.nightscout.android.upload.MedtronicSensorRecord;
+import info.nightscout.android.upload.Record;
 import com.physicaloid.lib.Physicaloid;
 
 /**
diff --git a/app/src/main/java/com/nightscout/android/medtronic/data/CNLConfigContract.java b/app/src/main/java/info/nightscout/android/medtronic/data/CNLConfigContract.java
similarity index 93%
rename from app/src/main/java/com/nightscout/android/medtronic/data/CNLConfigContract.java
rename to app/src/main/java/info/nightscout/android/medtronic/data/CNLConfigContract.java
index dbfbf3b..49250a7 100644
--- a/app/src/main/java/com/nightscout/android/medtronic/data/CNLConfigContract.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/data/CNLConfigContract.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.medtronic.data;
+package info.nightscout.android.medtronic.data;
 
 import android.provider.BaseColumns;
 
diff --git a/app/src/main/java/com/nightscout/android/medtronic/data/CNLConfigDbHelper.java b/app/src/main/java/info/nightscout/android/medtronic/data/CNLConfigDbHelper.java
similarity index 99%
rename from app/src/main/java/com/nightscout/android/medtronic/data/CNLConfigDbHelper.java
rename to app/src/main/java/info/nightscout/android/medtronic/data/CNLConfigDbHelper.java
index 7fe755d..22ecae8 100644
--- a/app/src/main/java/com/nightscout/android/medtronic/data/CNLConfigDbHelper.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/data/CNLConfigDbHelper.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.medtronic.data;
+package info.nightscout.android.medtronic.data;
 
 import android.content.ContentValues;
 import android.content.Context;
diff --git a/app/src/main/java/com/nightscout/android/medtronic/message/BeginEHSMMessage.java b/app/src/main/java/info/nightscout/android/medtronic/message/BeginEHSMMessage.java
similarity index 80%
rename from app/src/main/java/com/nightscout/android/medtronic/message/BeginEHSMMessage.java
rename to app/src/main/java/info/nightscout/android/medtronic/message/BeginEHSMMessage.java
index 1424952..ed1c7d8 100644
--- a/app/src/main/java/com/nightscout/android/medtronic/message/BeginEHSMMessage.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/message/BeginEHSMMessage.java
@@ -1,6 +1,6 @@
-package com.nightscout.android.medtronic.message;
+package info.nightscout.android.medtronic.message;
 
-import com.nightscout.android.medtronic.MedtronicCNLSession;
+import info.nightscout.android.medtronic.MedtronicCNLSession;
 
 /**
  * Created by lgoedhart on 26/03/2016.
diff --git a/app/src/main/java/com/nightscout/android/medtronic/message/ChannelNegotiateMessage.java b/app/src/main/java/info/nightscout/android/medtronic/message/ChannelNegotiateMessage.java
similarity index 90%
rename from app/src/main/java/com/nightscout/android/medtronic/message/ChannelNegotiateMessage.java
rename to app/src/main/java/info/nightscout/android/medtronic/message/ChannelNegotiateMessage.java
index e188941..cce33d2 100644
--- a/app/src/main/java/com/nightscout/android/medtronic/message/ChannelNegotiateMessage.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/message/ChannelNegotiateMessage.java
@@ -1,6 +1,6 @@
-package com.nightscout.android.medtronic.message;
+package info.nightscout.android.medtronic.message;
 
-import com.nightscout.android.medtronic.MedtronicCNLSession;
+import info.nightscout.android.medtronic.MedtronicCNLSession;
 
 import java.nio.ByteBuffer;
 import java.nio.ByteOrder;
diff --git a/app/src/main/java/com/nightscout/android/medtronic/message/ChecksumException.java b/app/src/main/java/info/nightscout/android/medtronic/message/ChecksumException.java
similarity index 77%
rename from app/src/main/java/com/nightscout/android/medtronic/message/ChecksumException.java
rename to app/src/main/java/info/nightscout/android/medtronic/message/ChecksumException.java
index 728182a..1cdfe53 100644
--- a/app/src/main/java/com/nightscout/android/medtronic/message/ChecksumException.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/message/ChecksumException.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.medtronic.message;
+package info.nightscout.android.medtronic.message;
 
 /**
  * Created by lgoedhart on 26/03/2016.
diff --git a/app/src/main/java/com/nightscout/android/medtronic/message/ContourNextLinkBinaryMessage.java b/app/src/main/java/info/nightscout/android/medtronic/message/ContourNextLinkBinaryMessage.java
similarity index 96%
rename from app/src/main/java/com/nightscout/android/medtronic/message/ContourNextLinkBinaryMessage.java
rename to app/src/main/java/info/nightscout/android/medtronic/message/ContourNextLinkBinaryMessage.java
index 964ed9f..c0c8db8 100644
--- a/app/src/main/java/com/nightscout/android/medtronic/message/ContourNextLinkBinaryMessage.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/message/ContourNextLinkBinaryMessage.java
@@ -1,6 +1,6 @@
-package com.nightscout.android.medtronic.message;
+package info.nightscout.android.medtronic.message;
 
-import com.nightscout.android.medtronic.MedtronicCNLSession;
+import info.nightscout.android.medtronic.MedtronicCNLSession;
 
 import java.nio.ByteBuffer;
 import java.nio.ByteOrder;
diff --git a/app/src/main/java/com/nightscout/android/medtronic/message/ContourNextLinkCommandMessage.java b/app/src/main/java/info/nightscout/android/medtronic/message/ContourNextLinkCommandMessage.java
similarity index 80%
rename from app/src/main/java/com/nightscout/android/medtronic/message/ContourNextLinkCommandMessage.java
rename to app/src/main/java/info/nightscout/android/medtronic/message/ContourNextLinkCommandMessage.java
index 91021b2..ad114c6 100644
--- a/app/src/main/java/com/nightscout/android/medtronic/message/ContourNextLinkCommandMessage.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/message/ContourNextLinkCommandMessage.java
@@ -1,6 +1,4 @@
-package com.nightscout.android.medtronic.message;
-
-import java.nio.ByteBuffer;
+package info.nightscout.android.medtronic.message;
 
 /**
  * Created by lgoedhart on 26/03/2016.
diff --git a/app/src/main/java/com/nightscout/android/medtronic/message/ContourNextLinkMessage.java b/app/src/main/java/info/nightscout/android/medtronic/message/ContourNextLinkMessage.java
similarity index 93%
rename from app/src/main/java/com/nightscout/android/medtronic/message/ContourNextLinkMessage.java
rename to app/src/main/java/info/nightscout/android/medtronic/message/ContourNextLinkMessage.java
index 3c4a503..2a44cfd 100644
--- a/app/src/main/java/com/nightscout/android/medtronic/message/ContourNextLinkMessage.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/message/ContourNextLinkMessage.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.medtronic.message;
+package info.nightscout.android.medtronic.message;
 
 import java.io.IOException;
 import java.nio.ByteBuffer;
diff --git a/app/src/main/java/com/nightscout/android/medtronic/message/ContourNextLinkMessageHandler.java b/app/src/main/java/info/nightscout/android/medtronic/message/ContourNextLinkMessageHandler.java
similarity index 82%
rename from app/src/main/java/com/nightscout/android/medtronic/message/ContourNextLinkMessageHandler.java
rename to app/src/main/java/info/nightscout/android/medtronic/message/ContourNextLinkMessageHandler.java
index 434a0a9..1d669f6 100644
--- a/app/src/main/java/com/nightscout/android/medtronic/message/ContourNextLinkMessageHandler.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/message/ContourNextLinkMessageHandler.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.medtronic.message;
+package info.nightscout.android.medtronic.message;
 
 import java.io.IOException;
 
diff --git a/app/src/main/java/com/nightscout/android/medtronic/message/EncryptionException.java b/app/src/main/java/info/nightscout/android/medtronic/message/EncryptionException.java
similarity index 78%
rename from app/src/main/java/com/nightscout/android/medtronic/message/EncryptionException.java
rename to app/src/main/java/info/nightscout/android/medtronic/message/EncryptionException.java
index 5e86774..a868474 100644
--- a/app/src/main/java/com/nightscout/android/medtronic/message/EncryptionException.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/message/EncryptionException.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.medtronic.message;
+package info.nightscout.android.medtronic.message;
 
 /**
  * Created by lgoedhart on 26/03/2016.
diff --git a/app/src/main/java/com/nightscout/android/medtronic/message/EndEHSMMessage.java b/app/src/main/java/info/nightscout/android/medtronic/message/EndEHSMMessage.java
similarity index 79%
rename from app/src/main/java/com/nightscout/android/medtronic/message/EndEHSMMessage.java
rename to app/src/main/java/info/nightscout/android/medtronic/message/EndEHSMMessage.java
index 46f119b..fe1adae 100644
--- a/app/src/main/java/com/nightscout/android/medtronic/message/EndEHSMMessage.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/message/EndEHSMMessage.java
@@ -1,6 +1,6 @@
-package com.nightscout.android.medtronic.message;
+package info.nightscout.android.medtronic.message;
 
-import com.nightscout.android.medtronic.MedtronicCNLSession;
+import info.nightscout.android.medtronic.MedtronicCNLSession;
 
 /**
  * Created by lgoedhart on 26/03/2016.
diff --git a/app/src/main/java/com/nightscout/android/medtronic/message/MedtronicMessage.java b/app/src/main/java/info/nightscout/android/medtronic/message/MedtronicMessage.java
similarity index 89%
rename from app/src/main/java/com/nightscout/android/medtronic/message/MedtronicMessage.java
rename to app/src/main/java/info/nightscout/android/medtronic/message/MedtronicMessage.java
index d27b366..aed8d12 100644
--- a/app/src/main/java/com/nightscout/android/medtronic/message/MedtronicMessage.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/message/MedtronicMessage.java
@@ -1,17 +1,11 @@
-package com.nightscout.android.medtronic.message;
+package info.nightscout.android.medtronic.message;
 
-import com.nightscout.android.medtronic.MedtronicCNLSession;
+import info.nightscout.android.medtronic.MedtronicCNLSession;
 
 import java.nio.ByteBuffer;
 import java.nio.ByteOrder;
-import java.security.InvalidAlgorithmParameterException;
-import java.security.InvalidKeyException;
-import java.security.NoSuchAlgorithmException;
 
-import javax.crypto.BadPaddingException;
 import javax.crypto.Cipher;
-import javax.crypto.IllegalBlockSizeException;
-import javax.crypto.NoSuchPaddingException;
 import javax.crypto.spec.IvParameterSpec;
 import javax.crypto.spec.SecretKeySpec;
 
diff --git a/app/src/main/java/com/nightscout/android/medtronic/message/MedtronicReceiveMessage.java b/app/src/main/java/info/nightscout/android/medtronic/message/MedtronicReceiveMessage.java
similarity index 96%
rename from app/src/main/java/com/nightscout/android/medtronic/message/MedtronicReceiveMessage.java
rename to app/src/main/java/info/nightscout/android/medtronic/message/MedtronicReceiveMessage.java
index 2d7401a..63d854a 100644
--- a/app/src/main/java/com/nightscout/android/medtronic/message/MedtronicReceiveMessage.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/message/MedtronicReceiveMessage.java
@@ -1,6 +1,6 @@
-package com.nightscout.android.medtronic.message;
+package info.nightscout.android.medtronic.message;
 
-import com.nightscout.android.medtronic.MedtronicCNLSession;
+import info.nightscout.android.medtronic.MedtronicCNLSession;
 
 import java.nio.ByteBuffer;
 
diff --git a/app/src/main/java/com/nightscout/android/medtronic/message/MedtronicSendMessage.java b/app/src/main/java/info/nightscout/android/medtronic/message/MedtronicSendMessage.java
similarity index 96%
rename from app/src/main/java/com/nightscout/android/medtronic/message/MedtronicSendMessage.java
rename to app/src/main/java/info/nightscout/android/medtronic/message/MedtronicSendMessage.java
index f187f3d..61d416c 100644
--- a/app/src/main/java/com/nightscout/android/medtronic/message/MedtronicSendMessage.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/message/MedtronicSendMessage.java
@@ -1,6 +1,6 @@
-package com.nightscout.android.medtronic.message;
+package info.nightscout.android.medtronic.message;
 
-import com.nightscout.android.medtronic.MedtronicCNLSession;
+import info.nightscout.android.medtronic.MedtronicCNLSession;
 
 import java.nio.ByteBuffer;
 import java.nio.ByteOrder;
diff --git a/app/src/main/java/com/nightscout/android/medtronic/message/MessageUtils.java b/app/src/main/java/info/nightscout/android/medtronic/message/MessageUtils.java
similarity index 97%
rename from app/src/main/java/com/nightscout/android/medtronic/message/MessageUtils.java
rename to app/src/main/java/info/nightscout/android/medtronic/message/MessageUtils.java
index 666a092..5b80080 100644
--- a/app/src/main/java/com/nightscout/android/medtronic/message/MessageUtils.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/message/MessageUtils.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.medtronic.message;
+package info.nightscout.android.medtronic.message;
 
 import java.util.Calendar;
 import java.util.Date;
diff --git a/app/src/main/java/com/nightscout/android/medtronic/message/PumpStatusRequestMessage.java b/app/src/main/java/info/nightscout/android/medtronic/message/PumpStatusRequestMessage.java
similarity index 72%
rename from app/src/main/java/com/nightscout/android/medtronic/message/PumpStatusRequestMessage.java
rename to app/src/main/java/info/nightscout/android/medtronic/message/PumpStatusRequestMessage.java
index 4d2e4e8..aba4dc6 100644
--- a/app/src/main/java/com/nightscout/android/medtronic/message/PumpStatusRequestMessage.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/message/PumpStatusRequestMessage.java
@@ -1,6 +1,6 @@
-package com.nightscout.android.medtronic.message;
+package info.nightscout.android.medtronic.message;
 
-import com.nightscout.android.medtronic.MedtronicCNLSession;
+import info.nightscout.android.medtronic.MedtronicCNLSession;
 
 /**
  * Created by lgoedhart on 26/03/2016.
diff --git a/app/src/main/java/com/nightscout/android/medtronic/message/PumpStatusResponseMessage.java b/app/src/main/java/info/nightscout/android/medtronic/message/PumpStatusResponseMessage.java
similarity index 86%
rename from app/src/main/java/com/nightscout/android/medtronic/message/PumpStatusResponseMessage.java
rename to app/src/main/java/info/nightscout/android/medtronic/message/PumpStatusResponseMessage.java
index bc31af2..bbd3c3b 100644
--- a/app/src/main/java/com/nightscout/android/medtronic/message/PumpStatusResponseMessage.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/message/PumpStatusResponseMessage.java
@@ -1,6 +1,6 @@
-package com.nightscout.android.medtronic.message;
+package info.nightscout.android.medtronic.message;
 
-import com.nightscout.android.medtronic.MedtronicCNLSession;
+import info.nightscout.android.medtronic.MedtronicCNLSession;
 
 /**
  * Created by lgoedhart on 27/03/2016.
diff --git a/app/src/main/java/com/nightscout/android/medtronic/message/PumpTimeRequestMessage.java b/app/src/main/java/info/nightscout/android/medtronic/message/PumpTimeRequestMessage.java
similarity index 71%
rename from app/src/main/java/com/nightscout/android/medtronic/message/PumpTimeRequestMessage.java
rename to app/src/main/java/info/nightscout/android/medtronic/message/PumpTimeRequestMessage.java
index abcb9e7..97fb820 100644
--- a/app/src/main/java/com/nightscout/android/medtronic/message/PumpTimeRequestMessage.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/message/PumpTimeRequestMessage.java
@@ -1,6 +1,6 @@
-package com.nightscout.android.medtronic.message;
+package info.nightscout.android.medtronic.message;
 
-import com.nightscout.android.medtronic.MedtronicCNLSession;
+import info.nightscout.android.medtronic.MedtronicCNLSession;
 
 /**
  * Created by lgoedhart on 26/03/2016.
diff --git a/app/src/main/java/com/nightscout/android/medtronic/message/PumpTimeResponseMessage.java b/app/src/main/java/info/nightscout/android/medtronic/message/PumpTimeResponseMessage.java
similarity index 81%
rename from app/src/main/java/com/nightscout/android/medtronic/message/PumpTimeResponseMessage.java
rename to app/src/main/java/info/nightscout/android/medtronic/message/PumpTimeResponseMessage.java
index 410e54e..940f9af 100644
--- a/app/src/main/java/com/nightscout/android/medtronic/message/PumpTimeResponseMessage.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/message/PumpTimeResponseMessage.java
@@ -1,9 +1,6 @@
-package com.nightscout.android.medtronic.message;
+package info.nightscout.android.medtronic.message;
 
-import com.nightscout.android.medtronic.MedtronicCNLSession;
-
-import java.nio.ByteBuffer;
-import java.util.Date;
+import info.nightscout.android.medtronic.MedtronicCNLSession;
 
 /**
  * Created by lgoedhart on 27/03/2016.
diff --git a/app/src/main/java/com/nightscout/android/medtronic/message/ReadInfoResponseMessage.java b/app/src/main/java/info/nightscout/android/medtronic/message/ReadInfoResponseMessage.java
similarity index 86%
rename from app/src/main/java/com/nightscout/android/medtronic/message/ReadInfoResponseMessage.java
rename to app/src/main/java/info/nightscout/android/medtronic/message/ReadInfoResponseMessage.java
index ccab256..9803929 100644
--- a/app/src/main/java/com/nightscout/android/medtronic/message/ReadInfoResponseMessage.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/message/ReadInfoResponseMessage.java
@@ -1,6 +1,6 @@
-package com.nightscout.android.medtronic.message;
+package info.nightscout.android.medtronic.message;
 
-import com.nightscout.android.medtronic.MedtronicCNLSession;
+import info.nightscout.android.medtronic.MedtronicCNLSession;
 
 /**
  * Created by lgoedhart on 10/05/2016.
diff --git a/app/src/main/java/com/nightscout/android/medtronic/message/UnexpectedMessageException.java b/app/src/main/java/info/nightscout/android/medtronic/message/UnexpectedMessageException.java
similarity index 79%
rename from app/src/main/java/com/nightscout/android/medtronic/message/UnexpectedMessageException.java
rename to app/src/main/java/info/nightscout/android/medtronic/message/UnexpectedMessageException.java
index 0fe4e94..71ec469 100644
--- a/app/src/main/java/com/nightscout/android/medtronic/message/UnexpectedMessageException.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/message/UnexpectedMessageException.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.medtronic.message;
+package info.nightscout.android.medtronic.message;
 
 /**
  * Created by lgoedhart on 26/03/2016.
diff --git a/app/src/main/java/com/nightscout/android/medtronic/service/MedtronicCNLService.java b/app/src/main/java/info/nightscout/android/medtronic/service/MedtronicCNLService.java
similarity index 77%
rename from app/src/main/java/com/nightscout/android/medtronic/service/MedtronicCNLService.java
rename to app/src/main/java/info/nightscout/android/medtronic/service/MedtronicCNLService.java
index 1896fe7..da0e890 100644
--- a/app/src/main/java/com/nightscout/android/medtronic/service/MedtronicCNLService.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/service/MedtronicCNLService.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.medtronic.service;
+package info.nightscout.android.medtronic.service;
 
 import android.annotation.SuppressLint;
 import android.app.Notification;
@@ -18,18 +18,18 @@ import android.os.Message;
 import android.preference.PreferenceManager;
 import android.util.Log;
 
-import com.nightscout.android.R;
-import com.nightscout.android.USB.UsbHidDriver;
-import com.nightscout.android.dexcom.DexcomG4Activity;
-import com.nightscout.android.medtronic.MedtronicCNLReader;
-import com.nightscout.android.medtronic.data.CNLConfigDbHelper;
-import com.nightscout.android.medtronic.message.ChecksumException;
-import com.nightscout.android.medtronic.message.EncryptionException;
-import com.nightscout.android.medtronic.message.MessageUtils;
-import com.nightscout.android.medtronic.message.UnexpectedMessageException;
-import com.nightscout.android.service.AbstractService;
-import com.nightscout.android.upload.MedtronicNG.CGMRecord;
-import com.nightscout.android.upload.UploadHelper;
+import info.nightscout.android.R;
+import info.nightscout.android.USB.UsbHidDriver;
+import info.nightscout.android.medtronic.Medtronic640gActivity;
+import info.nightscout.android.medtronic.MedtronicCNLReader;
+import info.nightscout.android.medtronic.data.CNLConfigDbHelper;
+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.service.AbstractService;
+import info.nightscout.android.upload.MedtronicNG.CGMRecord;
+import info.nightscout.android.upload.UploadHelper;
 
 import java.io.File;
 import java.io.FileInputStream;
@@ -105,18 +105,18 @@ public class MedtronicCNLService extends AbstractService {
 
         // Load the initial data to the display
         CGMRecord pumpRecord = loadData();
-        send(Message.obtain(null, DexcomG4Activity.DexcomG4ActivityHandler.MSG_DATA, pumpRecord));
+        send(Message.obtain(null, Medtronic640gActivity.DexcomG4ActivityHandler.MSG_DATA, pumpRecord));
 
         if (!isOnline()) {
             String title = "Internet connection error";
             String msg = "Please check that you're connected to the Internet";
             //showNotification(title, msg);
-            send(Message.obtain(null, DexcomG4Activity.DexcomG4ActivityHandler.MSG_ERROR, title + "\n" + msg));
+            send(Message.obtain(null, Medtronic640gActivity.DexcomG4ActivityHandler.MSG_ERROR, title + "\n" + msg));
         } else if (mHidDevice == null) {
             String title = "USB connection error";
             String msg = "Is the Bayer Contour NextLink plugged in?";
             //showNotification(title, msg);
-            send(Message.obtain(null, DexcomG4Activity.DexcomG4ActivityHandler.MSG_ERROR, title + "\n" + msg));
+            send(Message.obtain(null, Medtronic640gActivity.DexcomG4ActivityHandler.MSG_ERROR, title + "\n" + msg));
         } else {
             try {
                 mHidDevice.open();
@@ -131,7 +131,7 @@ public class MedtronicCNLService extends AbstractService {
             SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
 
             try {
-                send(Message.obtain(null, DexcomG4Activity.DexcomG4ActivityHandler.MSG_STATUS, "Connecting to the Contour Next Link..."));
+                send(Message.obtain(null, Medtronic640gActivity.DexcomG4ActivityHandler.MSG_STATUS, "Connecting to the Contour Next Link..."));
                 cnlReader.requestDeviceInfo();
 
                 // Is the device already configured?
@@ -141,10 +141,10 @@ public class MedtronicCNLService extends AbstractService {
                 String key = configDbHelper.getKey( cnlReader.getStickSerial() );
                 String deviceName = String.format( "medtronic-640g://%s", cnlReader.getStickSerial() );
                 pumpRecord.setDeviceName( deviceName );
-                DexcomG4Activity.pumpStatusRecord.setDeviceName( deviceName );
+                Medtronic640gActivity.pumpStatusRecord.setDeviceName( deviceName );
 
                 if( hmac.equals( "" ) || key.equals("") ) {
-                    send(Message.obtain(null, DexcomG4Activity.DexcomG4ActivityHandler.MSG_ERROR, "Before you can use the Contour Next Link, you need to register it with the app. Select 'Register USB Stick' from the menu."));
+                    send(Message.obtain(null, Medtronic640gActivity.DexcomG4ActivityHandler.MSG_ERROR, "Before you can use the Contour Next Link, you need to register it with the app. Select 'Register USB Stick' from the menu."));
                     return;
                 }
 
@@ -158,42 +158,42 @@ public class MedtronicCNLService extends AbstractService {
                     cnlReader.requestReadInfo();
                     byte radioChannel = cnlReader.negotiateChannel();
                     if (radioChannel == 0) {
-                        send(Message.obtain(null, DexcomG4Activity.DexcomG4ActivityHandler.MSG_ERROR, "Could not communicate with the 640g. Are you near the pump?"));
+                        send(Message.obtain(null, Medtronic640gActivity.DexcomG4ActivityHandler.MSG_ERROR, "Could not communicate with the 640g. Are you near the pump?"));
                         Log.i(TAG, "Could not communicate with the 640g. Are you near the pump?");
                     } else {
-                        send(Message.obtain(null, DexcomG4Activity.DexcomG4ActivityHandler.MSG_STATUS, String.format("Connected to Contour Next Link on channel %d.", (int) radioChannel)));
+                        send(Message.obtain(null, Medtronic640gActivity.DexcomG4ActivityHandler.MSG_STATUS, String.format("Connected to Contour Next Link on channel %d.", (int) radioChannel)));
                         Log.d(TAG, String.format("Connected to Contour Next Link on channel %d.", (int) radioChannel));
                         cnlReader.beginEHSMSession();
 
                         cnlReader.getPumpTime(pumpRecord);
                         cnlReader.getPumpStatus(pumpRecord);
                         writeData(pumpRecord);
-                        send(Message.obtain(null, DexcomG4Activity.DexcomG4ActivityHandler.MSG_DATA, pumpRecord));
+                        send(Message.obtain(null, Medtronic640gActivity.DexcomG4ActivityHandler.MSG_DATA, pumpRecord));
                         cnlReader.endEHSMSession();
                     }
                     cnlReader.closeConnection();
                 } catch (UnexpectedMessageException e) {
                     Log.e(TAG, "Unexpected Message", e);
-                    send(Message.obtain(null, DexcomG4Activity.DexcomG4ActivityHandler.MSG_ERROR, "Communication Error: " + e.getMessage()));
+                    send(Message.obtain(null, Medtronic640gActivity.DexcomG4ActivityHandler.MSG_ERROR, "Communication Error: " + e.getMessage()));
                 } finally {
                     cnlReader.endPassthroughMode();
                     cnlReader.endControlMode();
                 }
             } catch (IOException e) {
                 Log.e(TAG, "Error getting BGLs", e);
-                send(Message.obtain(null, DexcomG4Activity.DexcomG4ActivityHandler.MSG_ERROR, "Error connecting to Contour Next Link."));
+                send(Message.obtain(null, Medtronic640gActivity.DexcomG4ActivityHandler.MSG_ERROR, "Error connecting to Contour Next Link."));
             } catch (ChecksumException e) {
                 Log.e(TAG, "Checksum error", e);
-                send(Message.obtain(null, DexcomG4Activity.DexcomG4ActivityHandler.MSG_ERROR, "Checksum error getting message from the Contour Next Link."));
+                send(Message.obtain(null, Medtronic640gActivity.DexcomG4ActivityHandler.MSG_ERROR, "Checksum error getting message from the Contour Next Link."));
             } catch (EncryptionException e) {
                 Log.e(TAG, "Encryption exception", e);
-                send(Message.obtain(null, DexcomG4Activity.DexcomG4ActivityHandler.MSG_ERROR, "Error decrypting messages from Contour Next Link."));
+                send(Message.obtain(null, Medtronic640gActivity.DexcomG4ActivityHandler.MSG_ERROR, "Error decrypting messages from Contour Next Link."));
             } catch (TimeoutException e) {
                 Log.e(TAG, "Timeout communicating with Contour", e);
-                send(Message.obtain(null, DexcomG4Activity.DexcomG4ActivityHandler.MSG_ERROR, "Timeout communicating with the Contour Next Link."));
+                send(Message.obtain(null, Medtronic640gActivity.DexcomG4ActivityHandler.MSG_ERROR, "Timeout communicating with the Contour Next Link."));
             } catch (UnexpectedMessageException e) {
                 Log.e(TAG, "Unexpected Message", e);
-                send(Message.obtain(null, DexcomG4Activity.DexcomG4ActivityHandler.MSG_ERROR, "Could not close connection: " + e.getMessage()));
+                send(Message.obtain(null, Medtronic640gActivity.DexcomG4ActivityHandler.MSG_ERROR, "Could not close connection: " + e.getMessage()));
             }
 
             mUploader.execute(pumpRecord);
@@ -246,7 +246,7 @@ public class MedtronicCNLService extends AbstractService {
 
         // The PendingIntent to launch our activity if the user selects this notification
         nm = (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE);
-        PendingIntent contentIntent = PendingIntent.getActivity(this, 0, new Intent(this, DexcomG4Activity.class), 0);
+        PendingIntent contentIntent = PendingIntent.getActivity(this, 0, new Intent(this, Medtronic640gActivity.class), 0);
         Notification n = new Notification.Builder(mContext)
                 .setDefaults(Notification.DEFAULT_ALL)
                 .setContentTitle(title)
diff --git a/app/src/main/java/com/nightscout/android/medtronic/service/TestService.java b/app/src/main/java/info/nightscout/android/medtronic/service/TestService.java
similarity index 90%
rename from app/src/main/java/com/nightscout/android/medtronic/service/TestService.java
rename to app/src/main/java/info/nightscout/android/medtronic/service/TestService.java
index e3d6a82..0450bd1 100644
--- a/app/src/main/java/com/nightscout/android/medtronic/service/TestService.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/service/TestService.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.medtronic.service;
+package info.nightscout.android.medtronic.service;
 
 import android.app.Notification;
 import android.app.NotificationManager;
@@ -7,9 +7,9 @@ import android.content.Intent;
 import android.os.Message;
 import android.util.Log;
 
-import com.nightscout.android.R;
-import com.nightscout.android.dexcom.DexcomG4Activity;
-import com.nightscout.android.service.AbstractService;
+import info.nightscout.android.R;
+import info.nightscout.android.medtronic.Medtronic640gActivity;
+import info.nightscout.android.service.AbstractService;
 
 import java.util.Timer;
 import java.util.TimerTask;
@@ -63,7 +63,7 @@ public class TestService extends AbstractService {
 
         String text = "Test service, yo";
         Notification notification = new Notification(R.drawable.ic_launcher, text, System.currentTimeMillis());
-        PendingIntent contentIntent = PendingIntent.getActivity(this, 0, new Intent(this, DexcomG4Activity.class), 0);
+        PendingIntent contentIntent = PendingIntent.getActivity(this, 0, new Intent(this, Medtronic640gActivity.class), 0);
         notification.setLatestEventInfo(this, getClass().getSimpleName(), text, contentIntent);
 
         // Send the notification.
diff --git a/app/src/main/java/com/nightscout/android/service/AbstractService.java b/app/src/main/java/info/nightscout/android/service/AbstractService.java
similarity index 98%
rename from app/src/main/java/com/nightscout/android/service/AbstractService.java
rename to app/src/main/java/info/nightscout/android/service/AbstractService.java
index d044144..d7f6156 100644
--- a/app/src/main/java/com/nightscout/android/service/AbstractService.java
+++ b/app/src/main/java/info/nightscout/android/service/AbstractService.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.service;
+package info.nightscout.android.service;
 /*
  * This example demonstrates a good way to communicate between Activity and Service.
  *
diff --git a/app/src/main/java/com/nightscout/android/service/ServiceManager.java b/app/src/main/java/info/nightscout/android/service/ServiceManager.java
similarity index 99%
rename from app/src/main/java/com/nightscout/android/service/ServiceManager.java
rename to app/src/main/java/info/nightscout/android/service/ServiceManager.java
index 1459347..f87dc5b 100644
--- a/app/src/main/java/com/nightscout/android/service/ServiceManager.java
+++ b/app/src/main/java/info/nightscout/android/service/ServiceManager.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.service;
+package info.nightscout.android.service;
 
 /*
  * This example demonstrates a good way to communicate between Activity and Service.
diff --git a/app/src/main/java/com/nightscout/android/settings/SettingsActivity.java b/app/src/main/java/info/nightscout/android/settings/SettingsActivity.java
similarity index 90%
rename from app/src/main/java/com/nightscout/android/settings/SettingsActivity.java
rename to app/src/main/java/info/nightscout/android/settings/SettingsActivity.java
index 43314b3..0110a50 100644
--- a/app/src/main/java/com/nightscout/android/settings/SettingsActivity.java
+++ b/app/src/main/java/info/nightscout/android/settings/SettingsActivity.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.settings;
+package info.nightscout.android.settings;
 
 import android.os.Bundle;
 import android.preference.PreferenceActivity;
diff --git a/app/src/main/java/com/nightscout/android/settings/SettingsFragment.java b/app/src/main/java/info/nightscout/android/settings/SettingsFragment.java
similarity index 97%
rename from app/src/main/java/com/nightscout/android/settings/SettingsFragment.java
rename to app/src/main/java/info/nightscout/android/settings/SettingsFragment.java
index 0a62144..dea60c9 100644
--- a/app/src/main/java/com/nightscout/android/settings/SettingsFragment.java
+++ b/app/src/main/java/info/nightscout/android/settings/SettingsFragment.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.settings;
+package info.nightscout.android.settings;
 
 import android.content.SharedPreferences;
 import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
@@ -11,7 +11,7 @@ import android.preference.PreferenceCategory;
 import android.preference.PreferenceFragment;
 import android.preference.SwitchPreference;
 
-import com.nightscout.android.R;
+import info.nightscout.android.R;
 
 public class SettingsFragment extends PreferenceFragment implements OnSharedPreferenceChangeListener {
 
diff --git a/app/src/main/java/com/nightscout/android/upload/DeviceRecord.java b/app/src/main/java/info/nightscout/android/upload/DeviceRecord.java
similarity index 90%
rename from app/src/main/java/com/nightscout/android/upload/DeviceRecord.java
rename to app/src/main/java/info/nightscout/android/upload/DeviceRecord.java
index 10f749f..0d4b5b2 100644
--- a/app/src/main/java/com/nightscout/android/upload/DeviceRecord.java
+++ b/app/src/main/java/info/nightscout/android/upload/DeviceRecord.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.upload;
+package info.nightscout.android.upload;
 
 import java.io.Serializable;
 
diff --git a/app/src/main/java/com/nightscout/android/upload/GlucometerRecord.java b/app/src/main/java/info/nightscout/android/upload/GlucometerRecord.java
similarity index 91%
rename from app/src/main/java/com/nightscout/android/upload/GlucometerRecord.java
rename to app/src/main/java/info/nightscout/android/upload/GlucometerRecord.java
index 05eda76..10dbb2c 100644
--- a/app/src/main/java/com/nightscout/android/upload/GlucometerRecord.java
+++ b/app/src/main/java/info/nightscout/android/upload/GlucometerRecord.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.upload;
+package info.nightscout.android.upload;
 
 import java.io.Serializable;
 
diff --git a/app/src/main/java/com/nightscout/android/upload/MedtronicNG/CGMRecord.java b/app/src/main/java/info/nightscout/android/upload/MedtronicNG/CGMRecord.java
similarity index 96%
rename from app/src/main/java/com/nightscout/android/upload/MedtronicNG/CGMRecord.java
rename to app/src/main/java/info/nightscout/android/upload/MedtronicNG/CGMRecord.java
index a0e1113..75bc872 100644
--- a/app/src/main/java/com/nightscout/android/upload/MedtronicNG/CGMRecord.java
+++ b/app/src/main/java/info/nightscout/android/upload/MedtronicNG/CGMRecord.java
@@ -1,6 +1,6 @@
-package com.nightscout.android.upload.MedtronicNG;
+package info.nightscout.android.upload.MedtronicNG;
 
-import com.nightscout.android.upload.DeviceRecord;
+import info.nightscout.android.upload.DeviceRecord;
 
 import java.io.Serializable;
 import java.util.Date;
diff --git a/app/src/main/java/com/nightscout/android/upload/MedtronicNG/PumpStatusRecord.java b/app/src/main/java/info/nightscout/android/upload/MedtronicNG/PumpStatusRecord.java
similarity index 88%
rename from app/src/main/java/com/nightscout/android/upload/MedtronicNG/PumpStatusRecord.java
rename to app/src/main/java/info/nightscout/android/upload/MedtronicNG/PumpStatusRecord.java
index cb4a30f..b4ad000 100644
--- a/app/src/main/java/com/nightscout/android/upload/MedtronicNG/PumpStatusRecord.java
+++ b/app/src/main/java/info/nightscout/android/upload/MedtronicNG/PumpStatusRecord.java
@@ -1,6 +1,6 @@
-package com.nightscout.android.upload.MedtronicNG;
+package info.nightscout.android.upload.MedtronicNG;
 
-import com.nightscout.android.upload.DeviceRecord;
+import info.nightscout.android.upload.DeviceRecord;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
diff --git a/app/src/main/java/com/nightscout/android/upload/MedtronicPumpRecord.java b/app/src/main/java/info/nightscout/android/upload/MedtronicPumpRecord.java
similarity index 98%
rename from app/src/main/java/com/nightscout/android/upload/MedtronicPumpRecord.java
rename to app/src/main/java/info/nightscout/android/upload/MedtronicPumpRecord.java
index 13f7ad7..64c28c3 100644
--- a/app/src/main/java/com/nightscout/android/upload/MedtronicPumpRecord.java
+++ b/app/src/main/java/info/nightscout/android/upload/MedtronicPumpRecord.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.upload;
+package info.nightscout.android.upload;
 
 import java.io.Serializable;
 
@@ -6,9 +6,6 @@ import org.bson.Document;
 import org.json.JSONException;
 import org.json.JSONObject;
 
-import com.mongodb.DBObject;
-import com.nightscout.android.medtronic.MedtronicConstants;
-
 public class MedtronicPumpRecord extends DeviceRecord implements Serializable{
 	
 	/**
diff --git a/app/src/main/java/com/nightscout/android/upload/MedtronicSensorRecord.java b/app/src/main/java/info/nightscout/android/upload/MedtronicSensorRecord.java
similarity index 85%
rename from app/src/main/java/com/nightscout/android/upload/MedtronicSensorRecord.java
rename to app/src/main/java/info/nightscout/android/upload/MedtronicSensorRecord.java
index d933a6f..29d5546 100644
--- a/app/src/main/java/com/nightscout/android/upload/MedtronicSensorRecord.java
+++ b/app/src/main/java/info/nightscout/android/upload/MedtronicSensorRecord.java
@@ -1,7 +1,7 @@
-package com.nightscout.android.upload;
+package info.nightscout.android.upload;
 
-import com.nightscout.android.dexcom.EGVRecord;
-import com.nightscout.android.medtronic.MedtronicConstants;
+import info.nightscout.android.dexcom.EGVRecord;
+import info.nightscout.android.medtronic.MedtronicConstants;
 
 public class MedtronicSensorRecord extends EGVRecord {
 	/**
diff --git a/app/src/main/java/com/nightscout/android/upload/Record.java b/app/src/main/java/info/nightscout/android/upload/Record.java
similarity index 87%
rename from app/src/main/java/com/nightscout/android/upload/Record.java
rename to app/src/main/java/info/nightscout/android/upload/Record.java
index e2d70b7..61a75fa 100644
--- a/app/src/main/java/com/nightscout/android/upload/Record.java
+++ b/app/src/main/java/info/nightscout/android/upload/Record.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.upload;
+package info.nightscout.android.upload;
 
 import java.io.Serializable;
 
diff --git a/app/src/main/java/com/nightscout/android/upload/UploadHelper.java b/app/src/main/java/info/nightscout/android/upload/UploadHelper.java
similarity index 97%
rename from app/src/main/java/com/nightscout/android/upload/UploadHelper.java
rename to app/src/main/java/info/nightscout/android/upload/UploadHelper.java
index dea8d96..13505ea 100644
--- a/app/src/main/java/com/nightscout/android/upload/UploadHelper.java
+++ b/app/src/main/java/info/nightscout/android/upload/UploadHelper.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.upload;
+package info.nightscout.android.upload;
 
 import android.content.Context;
 import android.content.SharedPreferences;
@@ -18,11 +18,11 @@ import com.mongodb.ServerAddress;
 import com.mongodb.client.MongoCollection;
 import com.mongodb.client.MongoCursor;
 import com.mongodb.client.MongoDatabase;
-import com.nightscout.android.dexcom.DexcomG4Activity;
-import com.nightscout.android.dexcom.EGVRecord;
-import com.nightscout.android.medtronic.MedtronicConstants;
-import com.nightscout.android.medtronic.MedtronicReader;
-import com.nightscout.android.upload.MedtronicNG.CGMRecord;
+import info.nightscout.android.medtronic.Medtronic640gActivity;
+import info.nightscout.android.dexcom.EGVRecord;
+import info.nightscout.android.medtronic.MedtronicConstants;
+import info.nightscout.android.medtronic.MedtronicReader;
+import info.nightscout.android.upload.MedtronicNG.CGMRecord;
 
 import org.apache.http.HttpResponse;
 import org.apache.http.client.ClientProtocolException;
@@ -72,7 +72,7 @@ public class UploadHelper extends AsyncTask<Record, Integer, Long> {
     private static final int CONNECTION_TIMEOUT = 30 * 1000;
 
     Context context;
-    private int cgmSelected = DexcomG4Activity.DEXCOMG4;
+    private int cgmSelected = Medtronic640gActivity.DEXCOMG4;
     private ArrayList<Messenger> mClients;
     private List<JSONObject> recordsNotUploadedList = new ArrayList<JSONObject>();
     private List<JSONObject> recordsNotUploadedListJson = new ArrayList<JSONObject>();
@@ -90,7 +90,7 @@ public class UploadHelper extends AsyncTask<Record, Integer, Long> {
     public static Object isModifyingRecordsLock = new Object();
     private MongoClient client = null;
     public UploadHelper(Context context) {
-        this(context, DexcomG4Activity.DEXCOMG4);
+        this(context, Medtronic640gActivity.DEXCOMG4);
     }
     
     public UploadHelper(Context context, int cgmSelected) {
@@ -342,7 +342,7 @@ public class UploadHelper extends AsyncTask<Record, Integer, Long> {
      */
     private String getSelectedDeviceName(){
     	switch (cgmSelected){
-	    	case DexcomG4Activity.MEDTRONIC_CGM:
+	    	case Medtronic640gActivity.MEDTRONIC_CGM:
 	    		return "Medtronic_CGM";
 	    	default:
 	    		return "dexcom";
@@ -671,19 +671,19 @@ public class UploadHelper extends AsyncTask<Record, Integer, Long> {
         log.info("devicestatusURL: " + devicestatusURL);
 
         JSONObject json = new JSONObject();
-        json.put("uploaderBattery", DexcomG4Activity.batLevel);
-		json.put("device", DexcomG4Activity.pumpStatusRecord.getDeviceName() );
+        json.put("uploaderBattery", Medtronic640gActivity.batLevel);
+		json.put("device", Medtronic640gActivity.pumpStatusRecord.getDeviceName() );
 
 		JSONObject pumpInfo = new JSONObject();
-		pumpInfo.put( "clock", DexcomG4Activity.pumpStatusRecord.pumpDate );
-		pumpInfo.put( "reservoir", DexcomG4Activity.pumpStatusRecord.reservoirAmount);
+		pumpInfo.put( "clock", Medtronic640gActivity.pumpStatusRecord.pumpDate );
+		pumpInfo.put( "reservoir", Medtronic640gActivity.pumpStatusRecord.reservoirAmount);
 
 		JSONObject iob = new JSONObject();
-		iob.put( "timestamp", DexcomG4Activity.pumpStatusRecord.pumpDate );
-		iob.put( "bolusiob", DexcomG4Activity.pumpStatusRecord.activeInsulin );
+		iob.put( "timestamp", Medtronic640gActivity.pumpStatusRecord.pumpDate );
+		iob.put( "bolusiob", Medtronic640gActivity.pumpStatusRecord.activeInsulin );
 
 		JSONObject battery = new JSONObject();
-		battery.put( "percent", DexcomG4Activity.pumpStatusRecord.batteryPercentage );
+		battery.put( "percent", Medtronic640gActivity.pumpStatusRecord.batteryPercentage );
 
 		pumpInfo.put( "iob", iob );
 		pumpInfo.put( "battery", battery );
@@ -725,7 +725,7 @@ public class UploadHelper extends AsyncTask<Record, Integer, Long> {
     		json.put("device", getSelectedDeviceName());
             json.put("sgv", Integer.parseInt(record.bGValue));
             json.put("direction", record.trend);
-            if (cgmSelected == DexcomG4Activity.MEDTRONIC_CGM && (oRecord instanceof MedtronicSensorRecord)){
+            if (cgmSelected == Medtronic640gActivity.MEDTRONIC_CGM && (oRecord instanceof MedtronicSensorRecord)){
             	json.put("isig", ((MedtronicSensorRecord)record).isig);
             	json.put("calibrationFactor", ((MedtronicSensorRecord)record).calibrationFactor);
             	json.put("calibrationStatus", ((MedtronicSensorRecord)record).calibrationStatus);
@@ -758,7 +758,7 @@ public class UploadHelper extends AsyncTask<Record, Integer, Long> {
     		json.put("device", getSelectedDeviceName());
             json.put("sgv", Integer.parseInt(record.bGValue));
             json.put("direction", record.trend);
-            if (cgmSelected == DexcomG4Activity.MEDTRONIC_CGM && (oRecord instanceof MedtronicSensorRecord)){
+            if (cgmSelected == Medtronic640gActivity.MEDTRONIC_CGM && (oRecord instanceof MedtronicSensorRecord)){
             	json.put("isig", ((MedtronicSensorRecord)record).isig);
             	json.put("calibrationFactor", ((MedtronicSensorRecord)record).calibrationFactor);
             	json.put("calibrationStatus", ((MedtronicSensorRecord)record).calibrationStatus);
@@ -895,7 +895,7 @@ public class UploadHelper extends AsyncTask<Record, Integer, Long> {
                     testData.put("type", "sgv");
                     testData.put("direction", record.trend);
                     typeSaved = 0;
-                    if (cgmSelected == DexcomG4Activity.MEDTRONIC_CGM && (oRecord instanceof MedtronicSensorRecord)){
+                    if (cgmSelected == Medtronic640gActivity.MEDTRONIC_CGM && (oRecord instanceof MedtronicSensorRecord)){
                     	typeSaved = 1;
                     	testData.put("isig", ((MedtronicSensorRecord)record).isig);
                     	testData.put("calibrationFactor", ((MedtronicSensorRecord)record).calibrationFactor);
@@ -1028,7 +1028,7 @@ public class UploadHelper extends AsyncTask<Record, Integer, Long> {
             }
             if (update){
                 JSONObject devicestatus = new JSONObject();
-                devicestatus.put("uploaderBattery", DexcomG4Activity.batLevel);
+                devicestatus.put("uploaderBattery", Medtronic640gActivity.batLevel);
                 devicestatus.put("created_at", new Date());
                 log.debug("Update Battery");
                 doPostRequest(httpclient, dsCollectioncUrl, apiKey, devicestatus);
@@ -1218,7 +1218,7 @@ public class UploadHelper extends AsyncTask<Record, Integer, Long> {
 		                    testData.put("type", "sgv");
 		                    testData.put("direction", record.trend);
 		                    typeSaved = 0;
-		                    if (cgmSelected == DexcomG4Activity.MEDTRONIC_CGM && (oRecord instanceof MedtronicSensorRecord)){
+		                    if (cgmSelected == Medtronic640gActivity.MEDTRONIC_CGM && (oRecord instanceof MedtronicSensorRecord)){
 		                    	typeSaved = 1;
 		                    	testData.put("isig", ((MedtronicSensorRecord)record).isig);
 		                    	testData.put("calibrationFactor", ((MedtronicSensorRecord)record).calibrationFactor);
@@ -1355,7 +1355,7 @@ public class UploadHelper extends AsyncTask<Record, Integer, Long> {
 		                    testData.put("sgv", record.bGValue);
 		                    testData.put("direction", record.trend);
 		                    typeSaved = 0;
-		                    if (cgmSelected == DexcomG4Activity.MEDTRONIC_CGM && (oRecord instanceof MedtronicSensorRecord)){
+		                    if (cgmSelected == Medtronic640gActivity.MEDTRONIC_CGM && (oRecord instanceof MedtronicSensorRecord)){
 		                    	typeSaved = 1;
 		                    	testData.put("isig", ((MedtronicSensorRecord)record).isig);
 		                    	testData.put("calibrationFactor", ((MedtronicSensorRecord)record).calibrationFactor);
@@ -1425,7 +1425,7 @@ public class UploadHelper extends AsyncTask<Record, Integer, Long> {
 	                }
 	                if (update){
 		                Document devicestatus = new Document();
-		                devicestatus.put("uploaderBattery", DexcomG4Activity.batLevel);
+		                devicestatus.put("uploaderBattery", Medtronic640gActivity.batLevel);
 		                devicestatus.put("created_at", new Date());
 		                log.debug("Update Battery");
 		                dsCollection.insertOne(devicestatus);
diff --git a/app/src/main/java/com/nightscout/android/utils/CustomSwitchPreference.java b/app/src/main/java/info/nightscout/android/utils/CustomSwitchPreference.java
similarity index 98%
rename from app/src/main/java/com/nightscout/android/utils/CustomSwitchPreference.java
rename to app/src/main/java/info/nightscout/android/utils/CustomSwitchPreference.java
index 6c91b95..212dc11 100644
--- a/app/src/main/java/com/nightscout/android/utils/CustomSwitchPreference.java
+++ b/app/src/main/java/info/nightscout/android/utils/CustomSwitchPreference.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.utils;
+package info.nightscout.android.utils;
 
 import android.content.Context;
 import android.preference.SwitchPreference;
diff --git a/app/src/main/java/com/nightscout/android/widget/CGMWidget.java b/app/src/main/java/info/nightscout/android/widget/CGMWidget.java
similarity index 89%
rename from app/src/main/java/com/nightscout/android/widget/CGMWidget.java
rename to app/src/main/java/info/nightscout/android/widget/CGMWidget.java
index 26f0ec2..f507ba9 100644
--- a/app/src/main/java/com/nightscout/android/widget/CGMWidget.java
+++ b/app/src/main/java/info/nightscout/android/widget/CGMWidget.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.widget;
+package info.nightscout.android.widget;
 
 import java.io.File;
 import java.io.FileInputStream;
@@ -6,22 +6,20 @@ import java.io.ObjectInputStream;
 import java.util.Calendar;
 
 import android.app.AlarmManager;
-import android.app.AlertDialog;
 import android.app.PendingIntent;
 import android.appwidget.AppWidgetManager;
 import android.appwidget.AppWidgetProvider;
 import android.content.Context;
-import android.content.DialogInterface;
 import android.content.Intent;
 import android.util.Log;
 import android.widget.RemoteViews;
 
-import com.nightscout.android.R;
-import com.nightscout.android.dexcom.DexcomG4Activity;
-import com.nightscout.android.dexcom.EGVRecord;
-import com.nightscout.android.medtronic.MedtronicConstants;
-import com.nightscout.android.upload.MedtronicSensorRecord;
-import com.nightscout.android.upload.Record;
+import info.nightscout.android.R;
+import info.nightscout.android.medtronic.Medtronic640gActivity;
+import info.nightscout.android.dexcom.EGVRecord;
+import info.nightscout.android.medtronic.MedtronicConstants;
+import info.nightscout.android.upload.MedtronicSensorRecord;
+import info.nightscout.android.upload.Record;
 
 public class CGMWidget extends AppWidgetProvider {
 	private PendingIntent service = null;  
@@ -33,7 +31,7 @@ public class CGMWidget extends AppWidgetProvider {
 	            int appWidgetId = appWidgetIds[i];
 
 	            // Create an Intent to launch ExampleActivity
-	            Intent intent = new Intent(context, DexcomG4Activity.class);
+	            Intent intent = new Intent(context, Medtronic640gActivity.class);
 	            PendingIntent pendingIntent = PendingIntent.getActivity(context, 7, intent, 0);
 
 	            // Get the layout for the App Widget and attach an on-click listener
diff --git a/app/src/main/java/com/nightscout/android/widget/CGMWidgetUpdater.java b/app/src/main/java/info/nightscout/android/widget/CGMWidgetUpdater.java
similarity index 89%
rename from app/src/main/java/com/nightscout/android/widget/CGMWidgetUpdater.java
rename to app/src/main/java/info/nightscout/android/widget/CGMWidgetUpdater.java
index 96f4fa9..0a48014 100644
--- a/app/src/main/java/com/nightscout/android/widget/CGMWidgetUpdater.java
+++ b/app/src/main/java/info/nightscout/android/widget/CGMWidgetUpdater.java
@@ -1,4 +1,4 @@
-package com.nightscout.android.widget;
+package info.nightscout.android.widget;
 
 import java.io.File;
 import java.io.FileInputStream;
@@ -17,12 +17,12 @@ import android.preference.PreferenceManager;
 import android.util.Log;
 import android.widget.RemoteViews;
 
-import com.nightscout.android.R;
-import com.nightscout.android.dexcom.DexcomG4Activity;
-import com.nightscout.android.dexcom.EGVRecord;
-import com.nightscout.android.medtronic.MedtronicConstants;
-import com.nightscout.android.upload.MedtronicSensorRecord;
-import com.nightscout.android.upload.Record;
+import info.nightscout.android.R;
+import info.nightscout.android.medtronic.Medtronic640gActivity;
+import info.nightscout.android.dexcom.EGVRecord;
+import info.nightscout.android.medtronic.MedtronicConstants;
+import info.nightscout.android.upload.MedtronicSensorRecord;
+import info.nightscout.android.upload.Record;
 
 public class CGMWidgetUpdater extends Service{
 	
@@ -50,7 +50,7 @@ public class CGMWidgetUpdater extends Service{
     		views = new RemoteViews(getPackageName(), R.layout.widget_lock);
     	} else {
     		views = new RemoteViews(getPackageName(), R.layout.widget_main);
-    		Intent intent = new Intent(getBaseContext(), DexcomG4Activity.class);
+    		Intent intent = new Intent(getBaseContext(), Medtronic640gActivity.class);
 	        PendingIntent pendingIntent = PendingIntent.getActivity(getBaseContext(), 7, intent, 0);
 	        views.setOnClickPendingIntent(R.id.imageButton1, pendingIntent);
     	}
diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml
index 25dbb59..16cf290 100644
--- a/app/src/main/res/layout/activity_login.xml
+++ b/app/src/main/res/layout/activity_login.xml
@@ -8,7 +8,7 @@
     android:paddingLeft="@dimen/activity_horizontal_margin"
     android:paddingRight="@dimen/activity_horizontal_margin"
     android:paddingTop="@dimen/activity_vertical_margin"
-    tools:context="com.nightscout.android.dexcom.LoginActivity">
+    tools:context=".medtronic.GetHmacAndKeyActivity">
 
     <!-- Login progress -->
     <ProgressBar
diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml
index 6f17cf6..5778cce 100644
--- a/app/src/main/res/xml/preferences.xml
+++ b/app/src/main/res/xml/preferences.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
     <PreferenceCategory android:title="Monitor">
-         <com.nightscout.android.utils.CustomSwitchPreference
+         <info.nightscout.android.utils.CustomSwitchPreference
 	            android:title="mmol/l"
 	            android:key="mmolxl"
 	            android:disableDependentsState="false"
@@ -9,8 +9,8 @@
 	            android:switchTextOff="mg/dl"
 	            android:summaryOn="mmol/l. Values are shown and set in mmol/l"
 	            android:summaryOff="mg/dl. Values are shown and set in mg/dl">
-	    </com.nightscout.android.utils.CustomSwitchPreference>
-	    <com.nightscout.android.utils.CustomSwitchPreference
+	    </info.nightscout.android.utils.CustomSwitchPreference>
+	    <info.nightscout.android.utils.CustomSwitchPreference
 	            android:title="mmol/l decimals"
 	            android:key="mmolDecimals"
 	            android:dependency = "mmolxl"
@@ -19,15 +19,15 @@
 	            android:switchTextOff="1"
 	            android:summaryOn="Activated. 2 Decimal values will be shown ."
 	            android:summaryOff="Deactivated. 1 Decimal value will be shown .">
-	    </com.nightscout.android.utils.CustomSwitchPreference>
+	    </info.nightscout.android.utils.CustomSwitchPreference>
     </PreferenceCategory>
     <PreferenceCategory android:title="Sharing">    
-    <com.nightscout.android.utils.CustomSwitchPreference
+    <info.nightscout.android.utils.CustomSwitchPreference
             android:title="REST API Upload"
             android:key="EnableRESTUpload"
             android:disableDependentsState="false"
             android:summary="Enable upload of BGL data to Nightscout">
-    </com.nightscout.android.utils.CustomSwitchPreference>
+    </info.nightscout.android.utils.CustomSwitchPreference>
     <EditTextPreference
             android:dependency="EnableRESTUpload"
             android:title="API Base URL"
@@ -36,7 +36,7 @@
             android:defaultValue="http://{YOUR-API-SERVER}/api"
             android:dialogMessage="This only the base URL, the uploader will automatically append /entries for the POST of CGM data and /gdentries for the POST of glucometer data values">
     </EditTextPreference>
-    <com.nightscout.android.utils.CustomSwitchPreference
+    <info.nightscout.android.utils.CustomSwitchPreference
             android:title="Wifi Hack"
             android:key="EnableWifiHack"
             android:disableDependentsState="false"
@@ -44,10 +44,10 @@
             android:summaryOn="Wifi will be disabled if there is a timeout (poor wifi signal/access point), this will allow mobile data to be used instead"
             android:summaryOff="The uploader won't try to disable Wifi even if there is a timeout"
             >
-    </com.nightscout.android.utils.CustomSwitchPreference>
+    </info.nightscout.android.utils.CustomSwitchPreference>
     </PreferenceCategory>
      <PreferenceCategory android:title="Disclaimer">
-	    <com.nightscout.android.utils.CustomSwitchPreference
+	    <info.nightscout.android.utils.CustomSwitchPreference
 	            android:title="I UNDERSTAND"
 	            android:key="IUNDERSTAND"
 	            android:disableDependentsState="false"
@@ -55,7 +55,7 @@
 	            android:switchTextOff="NO"
 	            android:summaryOn="Activated. Nightscout should not be used to make medical decisions. There is no support or any warranty of any kind. The quality and performance of the project is with you. This is a project that was created and is supported completely by volunteers"
 	            android:summaryOff="Deactivated. Nightscout should not be used to make medical decisions. There is no support or any warranty of any kind. The quality and performance of the project is with you. This is a project that was created and is supported completely by volunteers">
-	    </com.nightscout.android.utils.CustomSwitchPreference>
+	    </info.nightscout.android.utils.CustomSwitchPreference>
 	      <Preference 
 		 android:key="version"
 		 android:title="@string/version" />
-- 
GitLab