From fa732ff8ee554a64f58eb89bdb623525fb9a4ebc Mon Sep 17 00:00:00 2001
From: Johannes Mockenhaupt <git@jotomo.de>
Date: Mon, 19 Jun 2017 18:37:21 +0200
Subject: [PATCH] Hack: prevent crash on CNL disconnect and reconnect

---
 .../java/info/nightscout/android/medtronic/MainActivity.java   | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/app/src/main/java/info/nightscout/android/medtronic/MainActivity.java b/app/src/main/java/info/nightscout/android/medtronic/MainActivity.java
index 05ec2e5..c16a0c8 100644
--- a/app/src/main/java/info/nightscout/android/medtronic/MainActivity.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/MainActivity.java
@@ -945,6 +945,9 @@ public class MainActivity extends AppCompatActivity implements OnSharedPreferenc
     private class UsbReceiver extends BroadcastReceiver {
         @Override
         public void onReceive(Context context, Intent intent) {
+            // TODO move this somewhere else ... wherever it belongs
+            // realm might be closed ... sometimes occurs when USB is disconnected and replugged ...
+            if (mRealm.isClosed()) mRealm = Realm.getDefaultInstance();
             String action = intent.getAction();
             if (MedtronicCnlIntentService.Constants.ACTION_USB_PERMISSION.equals(action)) {
                 boolean permissionGranted = intent.getBooleanExtra(UsbManager.EXTRA_PERMISSION_GRANTED, false);
-- 
GitLab