From 15207d1bf10a67af2d7c9a071353e6b8bb5069ca Mon Sep 17 00:00:00 2001
From: Milos Kozak <m.kozak@sysop.cz>
Date: Fri, 8 May 2020 01:09:30 +0200
Subject: [PATCH] Omni comments 2

---
 .../pump/omnipod/OmnipodPumpPlugin.java       |  4 +--
 .../OmnipodCommunicationManagerInterface.java |  4 ---
 .../driver/comm/AapsOmnipodManager.java       | 36 +++++++++----------
 .../service/RileyLinkOmnipodService.java      |  2 +-
 .../comm/OmnipodDashCommunicationManager.java |  5 ---
 5 files changed, 21 insertions(+), 30 deletions(-)

diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/OmnipodPumpPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/OmnipodPumpPlugin.java
index 79cee43c89..0c51b5901c 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/OmnipodPumpPlugin.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/OmnipodPumpPlugin.java
@@ -519,13 +519,13 @@ public class OmnipodPumpPlugin extends PumpPluginAbstract implements OmnipodPump
                     } else {
                         aapsLogger.warn(LTag.PUMP, "Result was NOT null.");
 
-                        Intent i = new Intent(MainApp.instance(), ErrorHelperActivity.class);
+                        Intent i = new Intent(context, ErrorHelperActivity.class);
                         i.putExtra("soundid", 0);
                         i.putExtra("status", "Pulse Log (copied to clipboard):\n" + result.toString());
                         i.putExtra("title", resourceHelper.gs(R.string.combo_warning));
                         i.putExtra("clipboardContent", result.toString());
                         i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-                        MainApp.instance().startActivity(i);
+                        context.startActivity(i);
 
 //                        OKDialog.show(MainApp.instance().getApplicationContext(), MainApp.gs(R.string.action),
 //                                "Pulse Log:\n" + result.toString(), null);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/defs/OmnipodCommunicationManagerInterface.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/defs/OmnipodCommunicationManagerInterface.java
index 3999cd2923..d345a3c385 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/defs/OmnipodCommunicationManagerInterface.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/defs/OmnipodCommunicationManagerInterface.java
@@ -71,9 +71,5 @@ public interface OmnipodCommunicationManagerInterface {
      */
     PumpEnactResult setTime();
 
-
-    void setPumpStatus(OmnipodPumpStatus pumpStatusLocal);
-
-
     PodInfoRecentPulseLog readPulseLog();
 }
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/driver/comm/AapsOmnipodManager.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/driver/comm/AapsOmnipodManager.java
index f8c67f5471..6632cd0213 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/driver/comm/AapsOmnipodManager.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/driver/comm/AapsOmnipodManager.java
@@ -1,5 +1,6 @@
 package info.nightscout.androidaps.plugins.pump.omnipod.driver.comm;
 
+import android.content.Context;
 import android.content.Intent;
 import android.text.TextUtils;
 
@@ -83,42 +84,47 @@ import io.reactivex.disposables.Disposable;
 
 public class AapsOmnipodManager implements OmnipodCommunicationManagerInterface {
 
-    private OmnipodUtil omnipodUtil;
-    private AAPSLogger aapsLogger;
-    private RxBusWrapper rxBus;
-    private ResourceHelper resourceHelper;
-    private HasAndroidInjector injector;
-    private ActivePluginProvider activePlugin;
-    private OmnipodPumpStatus pumpStatus;
+    private final OmnipodUtil omnipodUtil;
+    private final AAPSLogger aapsLogger;
+    private final RxBusWrapper rxBus;
+    private final ResourceHelper resourceHelper;
+    private final HasAndroidInjector injector;
+    private final ActivePluginProvider activePlugin;
+    private final OmnipodPumpStatus pumpStatus;
+    private final Context context;
 
     private final OmnipodManager delegate;
 
+    @Deprecated
     private static AapsOmnipodManager instance;
 
     private Date lastBolusTime;
     private Double lastBolusUnits;
 
+    @Deprecated
     public static AapsOmnipodManager getInstance() {
         return instance;
     }
 
     public AapsOmnipodManager(OmnipodCommunicationManager communicationService,
                               PodSessionState podState,
-                              OmnipodPumpStatus _pumpStatus,
+                              OmnipodPumpStatus pumpStatus,
                               OmnipodUtil omnipodUtil,
                               AAPSLogger aapsLogger,
                               RxBusWrapper rxBus,
                               SP sp,
                               ResourceHelper resourceHelper,
                               HasAndroidInjector injector,
-                              ActivePluginProvider activePlugin) {
+                              ActivePluginProvider activePlugin,
+                              Context context) {
         this.omnipodUtil = omnipodUtil;
         this.aapsLogger = aapsLogger;
         this.rxBus = rxBus;
         this.resourceHelper = resourceHelper;
         this.injector = injector;
         this.activePlugin = activePlugin;
-        this.pumpStatus = _pumpStatus;
+        this.pumpStatus = pumpStatus;
+        this.context = context;
 
         delegate = new OmnipodManager(aapsLogger, sp, communicationService, podState, podSessionState -> {
             // Handle pod state changes
@@ -460,12 +466,6 @@ public class AapsOmnipodManager implements OmnipodCommunicationManagerInterface
         return new PumpEnactResult(injector).success(true).enacted(true);
     }
 
-    @Override
-    public void setPumpStatus(OmnipodPumpStatus pumpStatus) {
-        this.pumpStatus = pumpStatus;
-        updatePumpStatus(delegate.getPodState());
-    }
-
     // TODO should we add this to the OmnipodCommunicationManager interface?
     public PumpEnactResult getPodInfo(PodInfoType podInfoType) {
         long time = System.currentTimeMillis();
@@ -706,12 +706,12 @@ public class AapsOmnipodManager implements OmnipodCommunicationManagerInterface
     }
 
     private void showErrorDialog(String message, Integer sound) {
-        Intent intent = new Intent(MainApp.instance(), ErrorHelperActivity.class);
+        Intent intent = new Intent(context, ErrorHelperActivity.class);
         intent.putExtra("soundid", sound == null ? 0 : sound);
         intent.putExtra("status", message);
         intent.putExtra("title", MainApp.gs(R.string.treatmentdeliveryerror));
         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-        MainApp.instance().startActivity(intent);
+        context.startActivity(intent);
     }
 
     private void showNotification(String message, int urgency, Integer sound) {
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/service/RileyLinkOmnipodService.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/service/RileyLinkOmnipodService.java
index 2ecd3685c0..908748b991 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/service/RileyLinkOmnipodService.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/service/RileyLinkOmnipodService.java
@@ -124,7 +124,7 @@ public class RileyLinkOmnipodService extends RileyLinkService {
             this.omnipodCommunicationManager = omnipodCommunicationService;
 
             this.aapsOmnipodManager = new AapsOmnipodManager(omnipodCommunicationService, podState, omnipodPumpStatus,
-                    omnipodUtil, aapsLogger, rxBus, sp, resourceHelper, injector, activePlugin);
+                    omnipodUtil, aapsLogger, rxBus, sp, resourceHelper, injector, activePlugin, this);
         } else {
             aapsOmnipodManager = AapsOmnipodManager.getInstance();
         }
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod_dash/comm/OmnipodDashCommunicationManager.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod_dash/comm/OmnipodDashCommunicationManager.java
index e440d632a5..39ccadd308 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod_dash/comm/OmnipodDashCommunicationManager.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod_dash/comm/OmnipodDashCommunicationManager.java
@@ -117,11 +117,6 @@ public class OmnipodDashCommunicationManager implements OmnipodCommunicationMana
         return null;
     }
 
-    @Override
-    public void setPumpStatus(OmnipodPumpStatus pumpStatusLocal) {
-
-    }
-
     @Override
     public PodInfoRecentPulseLog readPulseLog() {
         return null;