diff --git a/app/src/main/java/info/nightscout/androidaps/queue/CommandQueueImplementation.kt b/app/src/main/java/info/nightscout/androidaps/queue/CommandQueueImplementation.kt index 3f2e2de469..e08da60f0f 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/CommandQueueImplementation.kt +++ b/app/src/main/java/info/nightscout/androidaps/queue/CommandQueueImplementation.kt @@ -321,9 +321,9 @@ class CommandQueueImplementation @Inject constructor( } @Synchronized - override fun cancelAllBoluses(timestamp: Long) { + override fun cancelAllBoluses(id: Long) { if (!isRunning(CommandType.BOLUS)) { - rxBus.send(EventDismissBolusProgressIfRunning(PumpEnactResult(injector).success(true).enacted(false), timestamp)) + rxBus.send(EventDismissBolusProgressIfRunning(PumpEnactResult(injector).success(true).enacted(false), id)) } removeAll(CommandType.BOLUS) removeAll(CommandType.SMB_BOLUS) @@ -598,12 +598,12 @@ class CommandQueueImplementation @Inject constructor( if (detailedBolusInfo.context != null) { val bolusProgressDialog = BolusProgressDialog() bolusProgressDialog.setInsulin(detailedBolusInfo.insulin) - bolusProgressDialog.setTimestamp(detailedBolusInfo.timestamp) + bolusProgressDialog.setId(detailedBolusInfo.id) bolusProgressDialog.show((detailedBolusInfo.context as AppCompatActivity).supportFragmentManager, "BolusProgress") } else { val i = Intent() i.putExtra("insulin", detailedBolusInfo.insulin) - i.putExtra("timestamp", detailedBolusInfo.timestamp) + i.putExtra("id", detailedBolusInfo.id) i.setClass(context, BolusProgressHelperActivity::class.java) i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) context.startActivity(i) diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandBolus.kt b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandBolus.kt index d00cfb9857..03c852754d 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandBolus.kt +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandBolus.kt @@ -26,7 +26,7 @@ class CommandBolus( val r = activePlugin.activePump.deliverTreatment(detailedBolusInfo) if (r.success) carbsRunnable.run() BolusProgressDialog.bolusEnded = true - rxBus.send(EventDismissBolusProgressIfRunning(r, detailedBolusInfo.timestamp)) + rxBus.send(EventDismissBolusProgressIfRunning(r, detailedBolusInfo.id)) aapsLogger.debug(LTag.PUMPQUEUE, "Result success: ${r.success} enacted: ${r.enacted}") callback?.result(r)?.run() } diff --git a/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java b/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java index c0d416679a..0c70619feb 100644 --- a/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java +++ b/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java @@ -566,7 +566,7 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { return new PumpEnactResult(getInjector()).success(true).enacted(false); } - EventOverviewBolusProgress.Treatment treatment = new EventOverviewBolusProgress.Treatment(0.0, 0, detailedBolusInfo.getBolusType() == DetailedBolusInfo.BolusType.SMB); + EventOverviewBolusProgress.Treatment treatment = new EventOverviewBolusProgress.Treatment(0.0, 0,detailedBolusInfo.getBolusType() == DetailedBolusInfo.BolusType.SMB, detailedBolusInfo.getId()); EventOverviewBolusProgress.INSTANCE.setT(treatment); // start bolus delivery diff --git a/core/src/main/java/info/nightscout/androidaps/activities/BolusProgressHelperActivity.kt b/core/src/main/java/info/nightscout/androidaps/activities/BolusProgressHelperActivity.kt index 063ebe0d7d..9849f642b9 100644 --- a/core/src/main/java/info/nightscout/androidaps/activities/BolusProgressHelperActivity.kt +++ b/core/src/main/java/info/nightscout/androidaps/activities/BolusProgressHelperActivity.kt @@ -9,7 +9,7 @@ class BolusProgressHelperActivity : DialogAppCompatActivity() { BolusProgressDialog() .setHelperActivity(this) .setInsulin(intent.getDoubleExtra("insulin", 0.0)) - .setTimestamp(intent.getLongExtra("timestamp", 0L)) + .setId(intent.getLongExtra("id", 0L)) .show(supportFragmentManager, "BolusProgress") } } \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/data/DetailedBolusInfo.kt b/core/src/main/java/info/nightscout/androidaps/data/DetailedBolusInfo.kt index 07be899e6d..36eb63de96 100644 --- a/core/src/main/java/info/nightscout/androidaps/data/DetailedBolusInfo.kt +++ b/core/src/main/java/info/nightscout/androidaps/data/DetailedBolusInfo.kt @@ -14,6 +14,8 @@ import info.nightscout.androidaps.utils.T class DetailedBolusInfo { + val id = System.currentTimeMillis() + // Requesting parameters for driver @JvmField var insulin = 0.0 @JvmField var carbs = 0.0 diff --git a/core/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt b/core/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt index c19f869a71..fd677e751c 100644 --- a/core/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt +++ b/core/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt @@ -48,12 +48,12 @@ class BolusProgressDialog : DaggerDialogFragment() { private var running = true private var amount = 0.0 - var timestamp: Long = 0L + var id: Long = 0L private var state: String? = null private var helpActivity: BolusProgressHelperActivity? = null - fun setTimestamp(timestamp: Long): BolusProgressDialog { - this.timestamp = timestamp + fun setId(id: Long): BolusProgressDialog { + this.id = id return this } @@ -88,7 +88,7 @@ class BolusProgressDialog : DaggerDialogFragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { savedInstanceState?.let { amount = it.getDouble("amount") - timestamp = it.getLong("timestamp") + id = it.getLong("id") state = it.getString("state") ?: rh.gs(R.string.waitingforpump) } binding.title.text = rh.gs(R.string.goingtodeliver, amount) @@ -98,7 +98,7 @@ class BolusProgressDialog : DaggerDialogFragment() { binding.stoppressed.visibility = View.VISIBLE binding.stop.visibility = View.INVISIBLE uel.log(Action.CANCEL_BOLUS, Sources.Overview, state) - commandQueue.cancelAllBoluses(timestamp) + commandQueue.cancelAllBoluses(id) } binding.progressbar.max = 100 binding.status.text = state @@ -127,22 +127,24 @@ class BolusProgressDialog : DaggerDialogFragment() { .toObservable(EventDismissBolusProgressIfRunning::class.java) .observeOn(aapsSchedulers.main) .subscribe({ - aapsLogger.debug(LTag.PUMP, "Running timestamp $timestamp. Close request timestamp ${it.bolusTimestamp}") - if (it.bolusTimestamp == null || it.bolusTimestamp == timestamp) + aapsLogger.debug(LTag.PUMP, "Running id $id. Close request id ${it.id}") + if (it.id == null || it.id == id) if (running) dismiss() }, fabricPrivacy::logException) disposable += rxBus .toObservable(EventOverviewBolusProgress::class.java) .observeOn(aapsSchedulers.main) .subscribe({ - aapsLogger.debug(LTag.UI, "Status: ${it.status} Percent: ${it.percent}") - binding.status.text = it.status - binding.progressbar.progress = it.percent - if (it.percent == 100) { - binding.stop.visibility = View.INVISIBLE - scheduleDismiss() + if (it.t?.id == id) { + aapsLogger.debug(LTag.UI, "Status: ${it.status} Percent: ${it.percent}") + binding.status.text = it.status + binding.progressbar.progress = it.percent + if (it.percent == 100) { + binding.stop.visibility = View.INVISIBLE + scheduleDismiss() + } + state = it.status } - state = it.status }, fabricPrivacy::logException) } @@ -170,7 +172,7 @@ class BolusProgressDialog : DaggerDialogFragment() { super.onSaveInstanceState(outState) outState.putString("state", state) outState.putDouble("amount", amount) - outState.putLong("timestamp", timestamp) + outState.putLong("id", id) } override fun onDestroyView() { diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/CommandQueue.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/CommandQueue.kt index 8619f43a3a..b81f4fa0fe 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/CommandQueue.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/CommandQueue.kt @@ -17,7 +17,7 @@ interface CommandQueue { fun independentConnect(reason: String, callback: Callback?) fun bolusInQueue(): Boolean fun bolus(detailedBolusInfo: DetailedBolusInfo, callback: Callback?): Boolean - fun cancelAllBoluses(running: Long) + fun cancelAllBoluses(id: Long) fun stopPump(callback: Callback?) fun startPump(callback: Callback?) fun setTBROverNotification(callback: Callback?, enable: Boolean) diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventDismissBolusProgressIfRunning.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventDismissBolusProgressIfRunning.kt index dfde13b932..f368691c3b 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventDismissBolusProgressIfRunning.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventDismissBolusProgressIfRunning.kt @@ -3,4 +3,4 @@ package info.nightscout.androidaps.plugins.general.overview.events import info.nightscout.androidaps.data.PumpEnactResult import info.nightscout.androidaps.events.Event -class EventDismissBolusProgressIfRunning(val result: PumpEnactResult?, val bolusTimestamp: Long?) : Event() \ No newline at end of file +class EventDismissBolusProgressIfRunning(val result: PumpEnactResult?, val id: Long?) : Event() \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventOverviewBolusProgress.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventOverviewBolusProgress.kt index 5230bc979c..ba66ac32c0 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventOverviewBolusProgress.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventOverviewBolusProgress.kt @@ -4,7 +4,7 @@ import info.nightscout.androidaps.events.Event object EventOverviewBolusProgress : Event() { - data class Treatment constructor(@JvmField var insulin: Double = 0.0, @JvmField var carbs: Int = 0, @JvmField var isSMB: Boolean) + data class Treatment constructor(var insulin: Double = 0.0, var carbs: Int = 0, var isSMB: Boolean, var id: Long) var status = "" var t: Treatment? = null diff --git a/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt b/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt index 55e4139aae..88609dbc9b 100644 --- a/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt +++ b/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt @@ -122,7 +122,7 @@ class DanaRKoreanPlugin @Inject constructor( detailedBolusInfo.insulin = constraintChecker.applyBolusConstraints(Constraint(detailedBolusInfo.insulin)).value() if (detailedBolusInfo.carbs > 0) throw IllegalArgumentException() return if (detailedBolusInfo.insulin > 0) { - val t = EventOverviewBolusProgress.Treatment(0.0, 0, detailedBolusInfo.bolusType == DetailedBolusInfo.BolusType.SMB) + val t = EventOverviewBolusProgress.Treatment(0.0, 0, detailedBolusInfo.bolusType == DetailedBolusInfo.BolusType.SMB, detailedBolusInfo.id) var connectionOK = false if (detailedBolusInfo.insulin > 0) connectionOK = sExecutionService.bolus(detailedBolusInfo.insulin, detailedBolusInfo.carbs.toInt(), detailedBolusInfo.carbsTimestamp diff --git a/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java b/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java index 56efea9bea..75c5ec5079 100644 --- a/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java +++ b/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java @@ -278,7 +278,7 @@ public class DanaRKoreanExecutionService extends AbstractDanaRExecutionService { if (!danaPump.getBolusStopped()) { mSerialIOThread.sendMessage(start); } else { - t.insulin = 0d; + t.setInsulin(0d); return false; } while (!danaPump.getBolusStopped() && !start.getFailed()) { diff --git a/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java b/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java index 5594689077..1253ef889a 100644 --- a/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java +++ b/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java @@ -185,16 +185,17 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { detailedBolusInfoStorage.add(detailedBolusInfo); // will be picked up on reading history - EventOverviewBolusProgress.Treatment t = new EventOverviewBolusProgress.Treatment(0, 0, detailedBolusInfo.getBolusType() == DetailedBolusInfo.BolusType.SMB); + EventOverviewBolusProgress.Treatment t = new EventOverviewBolusProgress.Treatment(0, 0, detailedBolusInfo.getBolusType() == DetailedBolusInfo.BolusType.SMB, detailedBolusInfo.getId()); boolean connectionOK = false; if (detailedBolusInfo.insulin > 0 || carbs > 0) connectionOK = sExecutionService.bolus(detailedBolusInfo.insulin, (int) carbs, carbTimeStamp, t); PumpEnactResult result = new PumpEnactResult(getInjector()); - result.success(connectionOK && Math.abs(detailedBolusInfo.insulin - t.insulin) < pumpDescription.getBolusStep()) - .bolusDelivered(t.insulin) + result.success(connectionOK && Math.abs(detailedBolusInfo.insulin - t.getInsulin()) < pumpDescription.getBolusStep()) + .bolusDelivered(t.getInsulin()) .carbsDelivered(detailedBolusInfo.carbs); if (!result.getSuccess()) - result.comment(rh.gs(R.string.boluserrorcode, detailedBolusInfo.insulin, t.insulin, danaPump.getBolusStartErrorCode())); + result.comment(rh.gs(R.string.boluserrorcode, detailedBolusInfo.insulin, t.getInsulin(), + danaPump.getBolusStartErrorCode())); else result.comment(R.string.ok); aapsLogger.debug(LTag.PUMP, "deliverTreatment: OK. Asked: " + detailedBolusInfo.insulin + " Delivered: " + result.getBolusDelivered()); diff --git a/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java b/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java index 19debd1571..ac134cbf4a 100644 --- a/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java +++ b/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java @@ -362,7 +362,7 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { if (!danaPump.getBolusStopped()) { mSerialIOThread.sendMessage(start); } else { - t.insulin = 0d; + t.setInsulin(0d); return false; } while (!danaPump.getBolusStopped() && !start.getFailed()) { diff --git a/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java b/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java index 9640c86b00..1a2e573be2 100644 --- a/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java +++ b/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java @@ -161,20 +161,20 @@ public class DanaRPlugin extends AbstractDanaRPlugin { public PumpEnactResult deliverTreatment(DetailedBolusInfo detailedBolusInfo) { detailedBolusInfo.insulin = constraintChecker.applyBolusConstraints(new Constraint<>(detailedBolusInfo.insulin)).value(); if (detailedBolusInfo.insulin > 0 || detailedBolusInfo.carbs > 0) { - EventOverviewBolusProgress.Treatment t = new EventOverviewBolusProgress.Treatment(0, 0, detailedBolusInfo.getBolusType() == DetailedBolusInfo.BolusType.SMB); + EventOverviewBolusProgress.Treatment t = new EventOverviewBolusProgress.Treatment(0, 0, detailedBolusInfo.getBolusType() == DetailedBolusInfo.BolusType.SMB, detailedBolusInfo.getId()); boolean connectionOK = false; if (detailedBolusInfo.insulin > 0 || detailedBolusInfo.carbs > 0) connectionOK = sExecutionService.bolus(detailedBolusInfo.insulin, (int) detailedBolusInfo.carbs, detailedBolusInfo.getCarbsTimestamp() != null ? detailedBolusInfo.getCarbsTimestamp() : detailedBolusInfo.timestamp, t); PumpEnactResult result = new PumpEnactResult(getInjector()); - result.success(connectionOK && Math.abs(detailedBolusInfo.insulin - t.insulin) < pumpDescription.getBolusStep()) - .bolusDelivered(t.insulin) + result.success(connectionOK && Math.abs(detailedBolusInfo.insulin - t.getInsulin()) < pumpDescription.getBolusStep()) + .bolusDelivered(t.getInsulin()) .carbsDelivered(detailedBolusInfo.carbs); if (!result.getSuccess()) - result.comment(rh.gs(R.string.boluserrorcode, detailedBolusInfo.insulin, t.insulin, danaPump.getBolusStartErrorCode())); + result.comment(rh.gs(R.string.boluserrorcode, detailedBolusInfo.insulin, t.getInsulin(), danaPump.getBolusStartErrorCode())); else result.comment(R.string.ok); aapsLogger.debug(LTag.PUMP, "deliverTreatment: OK. Asked: " + detailedBolusInfo.insulin + " Delivered: " + result.getBolusDelivered()); - detailedBolusInfo.insulin = t.insulin; + detailedBolusInfo.insulin = t.getInsulin(); detailedBolusInfo.timestamp = System.currentTimeMillis(); if (detailedBolusInfo.insulin > 0) pumpSync.syncBolusWithPumpId( diff --git a/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java b/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java index a1b7cbf09a..2e0b01350c 100644 --- a/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java +++ b/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java @@ -219,7 +219,7 @@ public abstract class AbstractDanaRExecutionService extends DaggerService { } public void bolusStop() { - aapsLogger.debug(LTag.PUMP, "bolusStop >>>>> @ " + (danaPump.getBolusingTreatment() == null ? "" : danaPump.getBolusingTreatment().insulin)); + aapsLogger.debug(LTag.PUMP, "bolusStop >>>>> @ " + (danaPump.getBolusingTreatment() == null ? "" : danaPump.getBolusingTreatment().getInsulin())); MsgBolusStop stop = new MsgBolusStop(injector); danaPump.setBolusStopForced(true); if (isConnected()) { diff --git a/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java b/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java index 623eae8ec5..e920f2205f 100644 --- a/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java +++ b/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java @@ -290,7 +290,7 @@ public class DanaRExecutionService extends AbstractDanaRExecutionService { if (!danaPump.getBolusStopped()) { mSerialIOThread.sendMessage(start); } else { - t.insulin = 0d; + t.setInsulin(0d); return false; } while (!danaPump.getBolusStopped() && !start.getFailed()) { @@ -322,7 +322,7 @@ public class DanaRExecutionService extends AbstractDanaRExecutionService { break; } // try to find real amount if bolusing was interrupted or comm failed - if (t.insulin != amount) { + if (t.getInsulin() != amount) { disconnect("bolusingInterrupted"); long bolusDurationInMSec = (long) (amount * speed * 1000); long expectedEnd = bolusStart + bolusDurationInMSec + 3000; @@ -340,7 +340,7 @@ public class DanaRExecutionService extends AbstractDanaRExecutionService { @Override public void run() { if (danaPump.getLastBolusTime() > System.currentTimeMillis() - 60 * 1000L) { // last bolus max 1 min old - t.insulin = danaPump.getLastBolusAmount(); + t.setInsulin(danaPump.getLastBolusAmount()); aapsLogger.debug(LTag.PUMP, "Used bolus amount from history: " + danaPump.getLastBolusAmount()); } else { aapsLogger.debug(LTag.PUMP, "Bolus amount in history too old: " + dateUtil.dateAndTimeString(danaPump.getLastBolusTime())); diff --git a/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusProgressTest.kt b/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusProgressTest.kt index 71d5020152..d1ba83f466 100644 --- a/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusProgressTest.kt +++ b/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusProgressTest.kt @@ -12,7 +12,7 @@ class MsgBolusProgressTest : DanaRTestBase() { @Test fun runTest() { `when`(rh.gs(ArgumentMatchers.eq(R.string.bolusdelivering), ArgumentMatchers.anyDouble())).thenReturn("Delivering %1\$.2fU") - danaPump.bolusingTreatment = EventOverviewBolusProgress.Treatment(0.0, 0, true) + danaPump.bolusingTreatment = EventOverviewBolusProgress.Treatment(0.0, 0, true, 0) danaPump.bolusAmountToBeDelivered = 3.0 val packet = MsgBolusProgress(injector) diff --git a/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusStopTest.kt b/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusStopTest.kt index fa8bdfeb8d..e214357aa8 100644 --- a/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusStopTest.kt +++ b/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusStopTest.kt @@ -11,7 +11,7 @@ class MsgBolusStopTest : DanaRTestBase() { @Test fun runTest() { `when`(rh.gs(R.string.overview_bolusprogress_delivered)).thenReturn("Delivered") - danaPump.bolusingTreatment = EventOverviewBolusProgress.Treatment(0.0, 0, true) + danaPump.bolusingTreatment = EventOverviewBolusProgress.Treatment(0.0, 0, true, 0) val packet = MsgBolusStop(injector) // test message decoding diff --git a/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt b/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt index 8d7a08cce6..cfc4e85911 100644 --- a/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt +++ b/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt @@ -286,7 +286,7 @@ class DanaRSPlugin @Inject constructor( var carbTimeStamp = detailedBolusInfo.carbsTimestamp ?: detailedBolusInfo.timestamp if (carbTimeStamp == detailedBolusInfo.timestamp) carbTimeStamp -= T.mins(1).msecs() // better set 1 min back to prevents clash with insulin detailedBolusInfoStorage.add(detailedBolusInfo) // will be picked up on reading history - val t = EventOverviewBolusProgress.Treatment(0.0, 0, detailedBolusInfo.bolusType == DetailedBolusInfo.BolusType.SMB) + val t = EventOverviewBolusProgress.Treatment(0.0, 0, detailedBolusInfo.bolusType == DetailedBolusInfo.BolusType.SMB, detailedBolusInfo.id) var connectionOK = false if (detailedBolusInfo.insulin > 0 || carbs > 0) connectionOK = danaRSService?.bolus(detailedBolusInfo.insulin, carbs.toInt(), carbTimeStamp, t) ?: false diff --git a/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyDeliveryCompleteTest.kt b/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyDeliveryCompleteTest.kt index 1728dd08ef..53a1918902 100644 --- a/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyDeliveryCompleteTest.kt +++ b/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyDeliveryCompleteTest.kt @@ -30,7 +30,7 @@ class DanaRSPacketNotifyDeliveryCompleteTest : DanaRSTestBase() { @Test fun runTest() { `when`(rh.gs(anyInt(), anyDouble())).thenReturn("SomeString") - danaPump.bolusingTreatment = EventOverviewBolusProgress.Treatment(0.0, 0, true) + danaPump.bolusingTreatment = EventOverviewBolusProgress.Treatment(0.0, 0, true, 0) val packet = DanaRSPacketNotifyDeliveryComplete(packetInjector) // test params Assert.assertEquals(0, packet.getRequestParams().size) diff --git a/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketBolusSetStepBolusStopTest.kt b/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketBolusSetStepBolusStopTest.kt index 8a980fb52e..9e6c0872c4 100644 --- a/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketBolusSetStepBolusStopTest.kt +++ b/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketBolusSetStepBolusStopTest.kt @@ -29,7 +29,7 @@ class DanaRsPacketBolusSetStepBolusStopTest : DanaRSTestBase() { @Test fun runTest() { `when`(rh.gs(Mockito.anyInt())).thenReturn("SomeString") - danaPump.bolusingTreatment = EventOverviewBolusProgress.Treatment(0.0, 0, true) + danaPump.bolusingTreatment = EventOverviewBolusProgress.Treatment(0.0, 0, true, 0) val testPacket = DanaRSPacketBolusSetStepBolusStop(packetInjector) // test message decoding testPacket.handleMessage(byteArrayOf(0.toByte(), 0.toByte(), 0.toByte())) diff --git a/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketNotifyDeliveryRateDisplayTest.kt b/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketNotifyDeliveryRateDisplayTest.kt index de504cf613..61f6ac97a0 100644 --- a/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketNotifyDeliveryRateDisplayTest.kt +++ b/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketNotifyDeliveryRateDisplayTest.kt @@ -61,6 +61,6 @@ class DanaRsPacketNotifyDeliveryRateDisplayTest : DanaRSTestBase() { @Before fun mock() { danaRSPlugin = DanaRSPlugin(packetInjector, aapsLogger, aapsSchedulers, rxBus, context, rh, constraintChecker, profileFunction, sp, commandQueue, danaPump, pumpSync, detailedBolusInfoStorage, temporaryBasalStorage, fabricPrivacy, dateUtil) - danaPump.bolusingTreatment = EventOverviewBolusProgress.Treatment(0.0, 0, true) + danaPump.bolusingTreatment = EventOverviewBolusProgress.Treatment(0.0, 0, true, 0) } } \ No newline at end of file diff --git a/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt b/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt index 86bb00221a..4bd3d07f22 100644 --- a/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt +++ b/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt @@ -256,7 +256,7 @@ class DiaconnG8Plugin @Inject constructor( var carbTimeStamp = detailedBolusInfo.carbsTimestamp ?: detailedBolusInfo.timestamp if (carbTimeStamp == detailedBolusInfo.timestamp) carbTimeStamp -= T.mins(1).msecs() // better set 1 min back to prevents clash with insulin detailedBolusInfoStorage.add(detailedBolusInfo) // will be picked up on reading history - val t = EventOverviewBolusProgress.Treatment(0.0, 0, detailedBolusInfo.bolusType == DetailedBolusInfo.BolusType.SMB) + val t = EventOverviewBolusProgress.Treatment(0.0, 0, detailedBolusInfo.bolusType == DetailedBolusInfo.BolusType.SMB, detailedBolusInfo.id) var connectionOK = false if (detailedBolusInfo.insulin > 0 || carbs > 0) connectionOK = diaconnG8Service?.bolus(detailedBolusInfo.insulin, carbs.toInt(), carbTimeStamp, t) ?: false diff --git a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java index 65ee805c6a..517d1c7ec4 100644 --- a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java +++ b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java @@ -587,7 +587,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Constrai bolusCancelled = false; } result.success(true).enacted(true); - EventOverviewBolusProgress.Treatment t = new EventOverviewBolusProgress.Treatment(0, 0, detailedBolusInfo.getBolusType() == DetailedBolusInfo.BolusType.SMB); + EventOverviewBolusProgress.Treatment t = new EventOverviewBolusProgress.Treatment(0, 0, detailedBolusInfo.getBolusType() == DetailedBolusInfo.BolusType.SMB, detailedBolusInfo.getId()); final EventOverviewBolusProgress bolusingEvent = EventOverviewBolusProgress.INSTANCE; bolusingEvent.setT(t); bolusingEvent.setStatus(rh.gs(R.string.insight_delivered, 0d, insulin)); diff --git a/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt b/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt index 85dc56b946..00ee367a8c 100644 --- a/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt +++ b/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt @@ -329,7 +329,7 @@ abstract class PumpPluginAbstract protected constructor( pumpSyncStorage.addCarbs(PumpDbEntryCarbs(detailedBolusInfo, this)) val bolusingEvent = EventOverviewBolusProgress - bolusingEvent.t = EventOverviewBolusProgress.Treatment(0.0, detailedBolusInfo.carbs.toInt(), detailedBolusInfo.bolusType === DetailedBolusInfo.BolusType.SMB) + bolusingEvent.t = EventOverviewBolusProgress.Treatment(0.0, detailedBolusInfo.carbs.toInt(), detailedBolusInfo.bolusType === DetailedBolusInfo.BolusType.SMB, detailedBolusInfo.id) bolusingEvent.percent = 100 rxBus.send(bolusingEvent) aapsLogger.debug(LTag.PUMP, "deliverTreatment: Carb only treatment.")