From 08217717b378bd62ab1c51f4cb79fb7c9298d887 Mon Sep 17 00:00:00 2001
From: Johannes Mockenhaupt <git@jotomo.de>
Date: Fri, 26 May 2017 13:05:52 +0200
Subject: [PATCH] Clear USB disconnect notification when USB is reconnected.

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

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 681f50e..0d79a92 100644
--- a/app/src/main/java/info/nightscout/android/medtronic/MainActivity.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/MainActivity.java
@@ -82,6 +82,7 @@ import uk.co.chrisjenx.calligraphy.CalligraphyContextWrapper;
 
 public class MainActivity extends AppCompatActivity implements OnSharedPreferenceChangeListener, OnEulaAgreedTo {
     private static final String TAG = MainActivity.class.getSimpleName();
+    public static final int USB_DISCONNECT_NOFICATION_ID = 1;
     public static final float MMOLXLFACTOR = 18.016f;
 
     public static int batLevel = 0;
@@ -461,8 +462,6 @@ public class MainActivity extends AppCompatActivity implements OnSharedPreferenc
     }
 
     private void showDisconnectionNotification(String title, String message) {
-        int notifyId = 1;
-
         NotificationCompat.Builder mBuilder =
                 (NotificationCompat.Builder) new NotificationCompat.Builder(this)
                         .setPriority(NotificationCompat.PRIORITY_MAX)
@@ -488,7 +487,12 @@ public class MainActivity extends AppCompatActivity implements OnSharedPreferenc
         NotificationManager mNotificationManager =
                 (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
         // notifyId allows you to update the notification later on.
-        mNotificationManager.notify(notifyId, mBuilder.build());
+        mNotificationManager.notify(USB_DISCONNECT_NOFICATION_ID, mBuilder.build());
+    }
+
+    private void clearUsbDisconnectedNotification() {
+        NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
+        notificationManager.cancel(MainActivity.USB_DISCONNECT_NOFICATION_ID);
     }
 
     @Override
@@ -934,6 +938,9 @@ public class MainActivity extends AppCompatActivity implements OnSharedPreferenc
                 }
             } else if (UsbManager.ACTION_USB_DEVICE_ATTACHED.equals(action)) {
                 Log.d(TAG, "USB plugged in");
+                if (mEnableCgmService) {
+                    clearUsbDisconnectedNotification();
+                }
 
                 if (hasUsbPermission()) {
                     // Give the USB a little time to warm up first
-- 
GitLab