From 759b27f1f5159ae043e882a19be59afd1b900f55 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sat, 16 Dec 2023 20:39:03 +0100 Subject: [PATCH 01/10] 3.2.0.3-dev --- buildSrc/src/main/kotlin/Versions.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index 17b2346624..9ed8fd4df9 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -2,7 +2,7 @@ import org.gradle.api.JavaVersion object Versions { - const val appVersion = "3.2.0.3" + const val appVersion = "3.2.0.3-dev" const val versionCode = 1500 const val ndkVersion = "21.1.6352462" From 11ebdc7bb240573eb96daf1e88122d97a688e7c2 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 8 Jan 2024 15:38:53 +0100 Subject: [PATCH 02/10] gradle 8.2.1 --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 19ec3cd8ae..e973d9c30e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,7 +8,7 @@ buildscript { mavenCentral() } dependencies { - classpath("com.android.tools.build:gradle:8.2.0") + classpath("com.android.tools.build:gradle:8.2.1") classpath("com.google.gms:google-services:4.4.0") classpath("com.google.firebase:firebase-crashlytics-gradle:2.9.9") From 44966f3bd842fda40a36eca96c1f393f12dc6102 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 8 Jan 2024 15:49:25 +0100 Subject: [PATCH 03/10] xdrip: G7 support --- .../src/main/kotlin/app/aaps/database/entities/GlucoseValue.kt | 1 + .../main/kotlin/app/aaps/plugins/source/XdripSourcePlugin.kt | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/database/entities/src/main/kotlin/app/aaps/database/entities/GlucoseValue.kt b/database/entities/src/main/kotlin/app/aaps/database/entities/GlucoseValue.kt index f4fd32bacb..7c3e6a2ee4 100644 --- a/database/entities/src/main/kotlin/app/aaps/database/entities/GlucoseValue.kt +++ b/database/entities/src/main/kotlin/app/aaps/database/entities/GlucoseValue.kt @@ -97,6 +97,7 @@ data class GlucoseValue( DEXCOM_G6_NATIVE_XDRIP("G6 Native"), DEXCOM_G5_NATIVE_XDRIP("G5 Native"), DEXCOM_G6_G5_NATIVE_XDRIP("G6 Native / G5 Native"), + DEXCOM_G7_NATIVE_XDRIP("G7"), LIBRE_1_OTHER("Other App"), LIBRE_1_NET("Network libre"), LIBRE_1_BLUE("BlueReader"), diff --git a/plugins/source/src/main/kotlin/app/aaps/plugins/source/XdripSourcePlugin.kt b/plugins/source/src/main/kotlin/app/aaps/plugins/source/XdripSourcePlugin.kt index 0ee8e1d7e8..676d598f56 100644 --- a/plugins/source/src/main/kotlin/app/aaps/plugins/source/XdripSourcePlugin.kt +++ b/plugins/source/src/main/kotlin/app/aaps/plugins/source/XdripSourcePlugin.kt @@ -61,7 +61,8 @@ class XdripSourcePlugin @Inject constructor( GlucoseValue.SourceSensor.DEXCOM_G5_NATIVE, GlucoseValue.SourceSensor.DEXCOM_G6_NATIVE_XDRIP, GlucoseValue.SourceSensor.DEXCOM_G5_NATIVE_XDRIP, - GlucoseValue.SourceSensor.DEXCOM_G6_G5_NATIVE_XDRIP + GlucoseValue.SourceSensor.DEXCOM_G6_G5_NATIVE_XDRIP, + GlucoseValue.SourceSensor.DEXCOM_G7_NATIVE_XDRIP ).any { it == glucoseValue.sourceSensor } } From 907387df3326abb7534fe019da59e4253eca7805 Mon Sep 17 00:00:00 2001 From: jbr7rr <> Date: Sun, 21 Jan 2024 08:57:59 +0100 Subject: [PATCH 04/10] Remove patch fault 2 string to avoid confusion --- .../src/main/java/info/nightscout/pump/medtrum/MedtrumPump.kt | 2 +- pump/medtrum/src/main/res/values/strings.xml | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/MedtrumPump.kt b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/MedtrumPump.kt index 54dadef505..91223a9cab 100644 --- a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/MedtrumPump.kt +++ b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/MedtrumPump.kt @@ -569,7 +569,7 @@ class MedtrumPump @Inject constructor( AlarmState.EXPIRED -> R.string.alarm_expired AlarmState.RESERVOIR_EMPTY -> R.string.alarm_reservoir_empty AlarmState.PATCH_FAULT -> R.string.alarm_patch_fault - AlarmState.PATCH_FAULT2 -> R.string.alarm_patch_fault2 + AlarmState.PATCH_FAULT2 -> R.string.alarm_patch_fault // To avoid confusion, medtrum app also doesn't show patch fault 2 AlarmState.BASE_FAULT -> R.string.alarm_base_fault AlarmState.BATTERY_OUT -> R.string.alarm_battery_out AlarmState.NO_CALIBRATION -> R.string.alarm_no_calibration diff --git a/pump/medtrum/src/main/res/values/strings.xml b/pump/medtrum/src/main/res/values/strings.xml index 10e4496dc8..d7e473b17b 100644 --- a/pump/medtrum/src/main/res/values/strings.xml +++ b/pump/medtrum/src/main/res/values/strings.xml @@ -77,7 +77,6 @@ Expired Reservoir empty Patch fault - Patch fault 2 Base fault Battery out No calibration From 23e7af2d8244dca121a2cc4f7376b46298db0af4 Mon Sep 17 00:00:00 2001 From: jbr7rr <> Date: Sun, 21 Jan 2024 13:20:10 +0100 Subject: [PATCH 05/10] Show ref no instead of raw pumpType value --- .../nightscout/pump/medtrum/MedtrumPlugin.kt | 7 +++-- .../nightscout/pump/medtrum/MedtrumPump.kt | 11 ++++--- .../pump/medtrum/comm/enums/ModelType.kt | 17 ++++++++++ .../pump/medtrum/services/MedtrumService.kt | 2 +- .../ui/viewmodel/MedtrumOverviewViewModel.kt | 3 +- .../pump/medtrum/util/MedtrumSnUtil.kt | 31 ++++++------------- pump/medtrum/src/main/res/values/strings.xml | 2 +- .../pump/medtrum/MedtrumPumpTest.kt | 23 +++++++------- 8 files changed, 52 insertions(+), 44 deletions(-) create mode 100644 pump/medtrum/src/main/java/info/nightscout/pump/medtrum/comm/enums/ModelType.kt diff --git a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/MedtrumPlugin.kt b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/MedtrumPlugin.kt index bf15b3a240..76abaee1f7 100644 --- a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/MedtrumPlugin.kt +++ b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/MedtrumPlugin.kt @@ -53,6 +53,7 @@ import app.aaps.core.ui.toast.ToastUtils import app.aaps.core.validators.ValidatingEditTextPreference import dagger.android.HasAndroidInjector import info.nightscout.pump.medtrum.comm.enums.MedtrumPumpState +import info.nightscout.pump.medtrum.comm.enums.ModelType import info.nightscout.pump.medtrum.services.MedtrumService import info.nightscout.pump.medtrum.ui.MedtrumOverviewFragment import info.nightscout.pump.medtrum.util.MedtrumSnUtil @@ -153,7 +154,7 @@ import kotlin.math.abs override fun afterTextChanged(newValue: Editable?) { val newSN = newValue?.toString()?.toLongOrNull(radix = 16) ?: 0 val newDeviceType = MedtrumSnUtil().getDeviceTypeFromSerial(newSN) - editText.error = if (newDeviceType == MedtrumSnUtil.INVALID) { + editText.error = if (newDeviceType == ModelType.INVALID) { rh.gs(R.string.sn_input_invalid) } else { null @@ -174,7 +175,7 @@ import kotlin.math.abs val newDeviceType = MedtrumSnUtil().getDeviceTypeFromSerial(newSN) when { - newDeviceType == MedtrumSnUtil.INVALID -> { + newDeviceType == ModelType.INVALID -> { preferenceFragment.activity?.let { activity -> OKDialog.show(activity, rh.gs(R.string.sn_input_title), rh.gs(R.string.sn_input_invalid)) } @@ -183,7 +184,7 @@ import kotlin.math.abs medtrumPump.pumpType(newDeviceType) == PumpType.MEDTRUM_UNTESTED -> { preferenceFragment.activity?.let { activity -> - OKDialog.show(activity, rh.gs(R.string.sn_input_title), rh.gs(R.string.pump_unsupported, newDeviceType)) + OKDialog.show(activity, rh.gs(R.string.sn_input_title), rh.gs(R.string.pump_unsupported, newDeviceType.toString())) } false } diff --git a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/MedtrumPump.kt b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/MedtrumPump.kt index 91223a9cab..dbea336d27 100644 --- a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/MedtrumPump.kt +++ b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/MedtrumPump.kt @@ -18,6 +18,7 @@ import info.nightscout.pump.medtrum.comm.enums.AlarmSetting import info.nightscout.pump.medtrum.comm.enums.AlarmState import info.nightscout.pump.medtrum.comm.enums.BasalType import info.nightscout.pump.medtrum.comm.enums.MedtrumPumpState +import info.nightscout.pump.medtrum.comm.enums.ModelType import info.nightscout.pump.medtrum.extension.toByteArray import info.nightscout.pump.medtrum.extension.toInt import info.nightscout.pump.medtrum.util.MedtrumSnUtil @@ -291,13 +292,13 @@ class MedtrumPump @Inject constructor( var desiredPumpWarning = true var desiredPumpWarningExpiryThresholdHours = 72L - fun pumpType(): PumpType = pumpType(deviceType) + fun pumpType(): PumpType = pumpType(ModelType.fromValue(deviceType)) - fun pumpType(type: Int): PumpType = + fun pumpType(type: ModelType): PumpType = when (type) { - MedtrumSnUtil.MD_0201, MedtrumSnUtil.MD_8201 -> PumpType.MEDTRUM_NANO - MedtrumSnUtil.MD_8301 -> PumpType.MEDTRUM_300U - else -> PumpType.MEDTRUM_UNTESTED + ModelType.MD0201, ModelType.MD8201 -> PumpType.MEDTRUM_NANO + ModelType.MD8301 -> PumpType.MEDTRUM_300U + else -> PumpType.MEDTRUM_UNTESTED } fun loadVarsFromSP() { diff --git a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/comm/enums/ModelType.kt b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/comm/enums/ModelType.kt new file mode 100644 index 0000000000..da1afde177 --- /dev/null +++ b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/comm/enums/ModelType.kt @@ -0,0 +1,17 @@ +package info.nightscout.pump.medtrum.comm.enums + +enum class ModelType(val value: Int) { + INVALID(-1), + MD0201(80), + MD5201(81), + MD0202(82), + MD5202(83), + MD8201(88), + MD8301(98); + + companion object { + fun fromValue(value: Int): ModelType { + return values().find { it.value == value } ?: INVALID + } + } +} diff --git a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/services/MedtrumService.kt b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/services/MedtrumService.kt index 4d9d52dd38..8a0153ae54 100644 --- a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/services/MedtrumService.kt +++ b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/services/MedtrumService.kt @@ -132,7 +132,7 @@ class MedtrumService : DaggerService(), BLECommCallback { if (event.isChanged(rh.gs(R.string.key_sn_input))) { aapsLogger.debug(LTag.PUMPCOMM, "Serial number changed, reporting new pump!") medtrumPump.loadUserSettingsFromSP() - medtrumPump.deviceType = MedtrumSnUtil().getDeviceTypeFromSerial(medtrumPump.pumpSN) + medtrumPump.deviceType = MedtrumSnUtil().getDeviceTypeFromSerial(medtrumPump.pumpSN).value medtrumPump.resetPatchParameters() pumpSync.connectNewPump() medtrumPump.setFakeTBRIfNotSet() diff --git a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/ui/viewmodel/MedtrumOverviewViewModel.kt b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/ui/viewmodel/MedtrumOverviewViewModel.kt index decdcf3745..c01f23fbce 100644 --- a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/ui/viewmodel/MedtrumOverviewViewModel.kt +++ b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/ui/viewmodel/MedtrumOverviewViewModel.kt @@ -14,6 +14,7 @@ import info.nightscout.pump.medtrum.R import info.nightscout.pump.medtrum.code.ConnectionState import info.nightscout.pump.medtrum.code.EventType import info.nightscout.pump.medtrum.comm.enums.MedtrumPumpState +import info.nightscout.pump.medtrum.comm.enums.ModelType import info.nightscout.pump.medtrum.ui.MedtrumBaseNavigator import info.nightscout.pump.medtrum.ui.event.SingleLiveEvent import info.nightscout.pump.medtrum.ui.event.UIEvent @@ -199,7 +200,7 @@ class MedtrumOverviewViewModel @Inject constructor( val activeAlarmStrings = medtrumPump.activeAlarms.map { medtrumPump.alarmStateToString(it) } _activeAlarms.postValue(activeAlarmStrings.joinToString("\n")) - _pumpType.postValue(medtrumPump.deviceType.toString()) + _pumpType.postValue(ModelType.fromValue(medtrumPump.deviceType).toString()) _fwVersion.postValue(medtrumPump.swVersion) _patchNo.postValue(medtrumPump.patchId.toString()) diff --git a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/util/MedtrumSnUtil.kt b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/util/MedtrumSnUtil.kt index ad16adc630..7f133abbfa 100644 --- a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/util/MedtrumSnUtil.kt +++ b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/util/MedtrumSnUtil.kt @@ -1,33 +1,20 @@ package info.nightscout.pump.medtrum.util +import info.nightscout.pump.medtrum.comm.enums.ModelType import info.nightscout.pump.medtrum.encryption.Crypt class MedtrumSnUtil { - companion object { - - const val INVALID = -1 - const val MD_0201 = 80 - const val MD_5201 = 81 - const val MD_0202 = 82 - const val MD_5202 = 83 - const val MD_8201 = 88 - const val MD_8301 = 98 - } - - fun getDeviceTypeFromSerial(serial: Long): Int { - if (serial in 106000000..106999999) { - return INVALID - } + fun getDeviceTypeFromSerial(serial: Long): ModelType { return when (Crypt().simpleDecrypt(serial)) { - in 126000000..126999999 -> MD_0201 - in 127000000..127999999 -> MD_5201 - in 128000000..128999999 -> MD_8201 - in 130000000..130999999 -> MD_0202 - in 131000000..131999999 -> MD_5202 - in 148000000..148999999 -> MD_8301 - else -> INVALID + in 126000000..126999999 -> ModelType.MD0201 + in 127000000..127999999 -> ModelType.MD5201 + in 128000000..128999999 -> ModelType.MD8201 + in 130000000..130999999 -> ModelType.MD0202 + in 131000000..131999999 -> ModelType.MD5202 + in 148000000..148999999 -> ModelType.MD8301 + else -> ModelType.INVALID } } } diff --git a/pump/medtrum/src/main/res/values/strings.xml b/pump/medtrum/src/main/res/values/strings.xml index d7e473b17b..608c18b437 100644 --- a/pump/medtrum/src/main/res/values/strings.xml +++ b/pump/medtrum/src/main/res/values/strings.xml @@ -141,7 +141,7 @@ Serial Number Enter the serial number of your pump base. Invalid serial number! - Pump untested: %1$d! Please contact us at discord or github for support + Pump untested: %1$s! Please contact us at discord or github for support Alarm Settings Select your preferred pump alarm settings. Notification on pump warning diff --git a/pump/medtrum/src/test/java/info/nightscout/pump/medtrum/MedtrumPumpTest.kt b/pump/medtrum/src/test/java/info/nightscout/pump/medtrum/MedtrumPumpTest.kt index 5ba7ff5227..78ca63cfe6 100644 --- a/pump/medtrum/src/test/java/info/nightscout/pump/medtrum/MedtrumPumpTest.kt +++ b/pump/medtrum/src/test/java/info/nightscout/pump/medtrum/MedtrumPumpTest.kt @@ -9,6 +9,7 @@ import app.aaps.core.interfaces.rx.events.EventOverviewBolusProgress import app.aaps.core.interfaces.utils.T import com.google.common.truth.Truth.assertThat import info.nightscout.pump.medtrum.comm.enums.BasalType +import info.nightscout.pump.medtrum.comm.enums.ModelType import info.nightscout.pump.medtrum.util.MedtrumSnUtil import org.json.JSONObject import org.junit.jupiter.api.Test @@ -139,7 +140,7 @@ class MedtrumPumpTest : MedtrumTestBase() { val receivedTime = 1500L val duration = T.mins(5).msecs() - medtrumPump.deviceType = MedtrumSnUtil.MD_8301 + medtrumPump.deviceType = ModelType.MD8301.value // Mocks val expectedTemporaryBasal: PumpSync.PumpState.TemporaryBasal = mock(PumpSync.PumpState.TemporaryBasal::class.java) @@ -191,7 +192,7 @@ class MedtrumPumpTest : MedtrumTestBase() { val basalStartTime = 1000L val receivedTime = 1500L - medtrumPump.deviceType = MedtrumSnUtil.MD_8301 + medtrumPump.deviceType = ModelType.MD8301.value // Mocks val expectedTemporaryBasal: PumpSync.PumpState.TemporaryBasal = mock(PumpSync.PumpState.TemporaryBasal::class.java) @@ -240,7 +241,7 @@ class MedtrumPumpTest : MedtrumTestBase() { val basalStartTime = 1000L val receivedTime = 1500L - medtrumPump.deviceType = MedtrumSnUtil.MD_8301 + medtrumPump.deviceType = ModelType.MD8301.value // Mocks val expectedTemporaryBasal: PumpSync.PumpState.TemporaryBasal = mock(PumpSync.PumpState.TemporaryBasal::class.java) @@ -293,7 +294,7 @@ class MedtrumPumpTest : MedtrumTestBase() { val duration = T.mins(5).msecs() medtrumPump.actualBasalProfile = medtrumPump.buildMedtrumProfileArray(validProfile)!! - medtrumPump.deviceType = MedtrumSnUtil.MD_8301 + medtrumPump.deviceType = ModelType.MD8301.value // Mocks val expectedTemporaryBasal: PumpSync.PumpState.TemporaryBasal = mock(PumpSync.PumpState.TemporaryBasal::class.java) @@ -346,7 +347,7 @@ class MedtrumPumpTest : MedtrumTestBase() { val basalStartTime = 1000L val receivedTime = 1500L - medtrumPump.deviceType = MedtrumSnUtil.MD_8301 + medtrumPump.deviceType = ModelType.MD8301.value // Mocks val expectedTemporaryBasal: PumpSync.PumpState.TemporaryBasal = mock(PumpSync.PumpState.TemporaryBasal::class.java) @@ -441,7 +442,7 @@ class MedtrumPumpTest : MedtrumTestBase() { val basalStartTime = 1000L val receivedTime = 1500L - medtrumPump.deviceType = MedtrumSnUtil.MD_8301 + medtrumPump.deviceType = ModelType.MD8301.value // Mocks val expectedTemporaryBasal: PumpSync.PumpState.TemporaryBasal = mock(PumpSync.PumpState.TemporaryBasal::class.java) @@ -492,7 +493,7 @@ class MedtrumPumpTest : MedtrumTestBase() { val basalStartTime = 1000L val receivedTime = 1500L - medtrumPump.deviceType = MedtrumSnUtil.MD_8301 + medtrumPump.deviceType = ModelType.MD8301.value // Mocks Mockito.`when`(pumpSync.expectedPumpState()).thenReturn( @@ -537,7 +538,7 @@ class MedtrumPumpTest : MedtrumTestBase() { val basalStartTime = 1000L val receivedTime = 1500L - medtrumPump.deviceType = MedtrumSnUtil.MD_8301 + medtrumPump.deviceType = ModelType.MD8301.value // Mocks val expectedTemporaryBasal: PumpSync.PumpState.TemporaryBasal = mock(PumpSync.PumpState.TemporaryBasal::class.java) @@ -581,7 +582,7 @@ class MedtrumPumpTest : MedtrumTestBase() { val basalStartTime = 1000L val receivedTime = 1500L - medtrumPump.deviceType = MedtrumSnUtil.MD_8301 + medtrumPump.deviceType = ModelType.MD8301.value // Mocks Mockito.`when`(pumpSync.expectedPumpState()).thenReturn( @@ -650,7 +651,7 @@ class MedtrumPumpTest : MedtrumTestBase() { @Test fun setFakeTBRIfNotSetWhenNoFakeTBRAlreadyRunningExpectPumpSync() { // Inputs - medtrumPump.deviceType = MedtrumSnUtil.MD_8301 + medtrumPump.deviceType = ModelType.MD8301.value // Mocks val expectedTemporaryBasal: PumpSync.PumpState.TemporaryBasal = mock(PumpSync.PumpState.TemporaryBasal::class.java) @@ -684,7 +685,7 @@ class MedtrumPumpTest : MedtrumTestBase() { @Test fun setFakeTBRIfNotSetWhenFakeTBRAlreadyRunningExpectNoPumpSync() { // Inputs - medtrumPump.deviceType = MedtrumSnUtil.MD_8301 + medtrumPump.deviceType = ModelType.MD8301.value // Mocks val expectedTemporaryBasal: PumpSync.PumpState.TemporaryBasal = mock(PumpSync.PumpState.TemporaryBasal::class.java) From 43a3d8d8de7149a0a34a0127b7363a853a131388 Mon Sep 17 00:00:00 2001 From: jbr7rr <> Date: Sun, 21 Jan 2024 19:38:15 +0100 Subject: [PATCH 06/10] Fix stuck on error when activation failed due to disconnect > Remove PatchStep.ERROR state --- .../main/java/info/nightscout/pump/medtrum/code/PatchStep.kt | 1 - .../info/nightscout/pump/medtrum/ui/MedtrumActivateFragment.kt | 1 - .../java/info/nightscout/pump/medtrum/ui/MedtrumActivity.kt | 1 - .../pump/medtrum/ui/MedtrumDeactivatePatchFragment.kt | 1 - .../info/nightscout/pump/medtrum/ui/MedtrumPrimingFragment.kt | 1 - .../nightscout/pump/medtrum/ui/viewmodel/MedtrumViewModel.kt | 2 -- 6 files changed, 7 deletions(-) diff --git a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/code/PatchStep.kt b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/code/PatchStep.kt index ea0cdf3d28..401dfa9a97 100644 --- a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/code/PatchStep.kt +++ b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/code/PatchStep.kt @@ -15,7 +15,6 @@ enum class PatchStep { ACTIVATE_COMPLETE, RETRY_ACTIVATION, RETRY_ACTIVATION_CONNECT, - ERROR, CANCEL, COMPLETE; } diff --git a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/ui/MedtrumActivateFragment.kt b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/ui/MedtrumActivateFragment.kt index 44df41ee78..e56b0b800d 100644 --- a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/ui/MedtrumActivateFragment.kt +++ b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/ui/MedtrumActivateFragment.kt @@ -38,7 +38,6 @@ class MedtrumActivateFragment : MedtrumBaseFragment moveStep(PatchStep.ACTIVATE_COMPLETE) MedtrumViewModel.SetupStep.ERROR -> { - moveStep(PatchStep.ERROR) updateSetupStep(MedtrumViewModel.SetupStep.PRIMED) // Reset setup step binding.textActivatingPump.text = rh.gs(R.string.activating_error) binding.btnPositive.visibility = View.VISIBLE diff --git a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/ui/MedtrumActivity.kt b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/ui/MedtrumActivity.kt index 65bec84601..94136e78fd 100644 --- a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/ui/MedtrumActivity.kt +++ b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/ui/MedtrumActivity.kt @@ -43,7 +43,6 @@ class MedtrumActivity : MedtrumBaseActivity() { PatchStep.ATTACH_PATCH -> setupViewFragment(MedtrumAttachPatchFragment.newInstance()) PatchStep.ACTIVATE -> setupViewFragment(MedtrumActivateFragment.newInstance()) PatchStep.ACTIVATE_COMPLETE -> setupViewFragment(MedtrumActivateCompleteFragment.newInstance()) - PatchStep.ERROR -> Unit // Do nothing, let activity handle this PatchStep.RETRY_ACTIVATION -> setupViewFragment(MedtrumRetryActivationFragment.newInstance()) PatchStep.RETRY_ACTIVATION_CONNECT -> setupViewFragment(MedtrumRetryActivationConnectFragment.newInstance()) PatchStep.START_DEACTIVATION -> setupViewFragment(MedtrumStartDeactivationFragment.newInstance()) diff --git a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/ui/MedtrumDeactivatePatchFragment.kt b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/ui/MedtrumDeactivatePatchFragment.kt index 9201a158da..cdf039bb5d 100644 --- a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/ui/MedtrumDeactivatePatchFragment.kt +++ b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/ui/MedtrumDeactivatePatchFragment.kt @@ -38,7 +38,6 @@ class MedtrumDeactivatePatchFragment : MedtrumBaseFragment { - moveStep(PatchStep.ERROR) updateSetupStep(MedtrumViewModel.SetupStep.START_DEACTIVATION) // Reset setup step binding.textDeactivatingPump.text = rh.gs(R.string.deactivating_error) binding.btnNegative.visibility = View.VISIBLE diff --git a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/ui/MedtrumPrimingFragment.kt b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/ui/MedtrumPrimingFragment.kt index 245e4a9526..13012c3eb4 100644 --- a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/ui/MedtrumPrimingFragment.kt +++ b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/ui/MedtrumPrimingFragment.kt @@ -39,7 +39,6 @@ class MedtrumPrimingFragment : MedtrumBaseFragment moveStep(PatchStep.PRIME_COMPLETE) MedtrumViewModel.SetupStep.ERROR -> { - moveStep(PatchStep.ERROR) updateSetupStep(MedtrumViewModel.SetupStep.FILLED) // Reset setup step binding.textWaitForPriming.text = rh.gs(R.string.priming_error) binding.btnNegative.visibility = View.VISIBLE diff --git a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/ui/viewmodel/MedtrumViewModel.kt b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/ui/viewmodel/MedtrumViewModel.kt index a5e38c7c22..3745ab05e9 100644 --- a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/ui/viewmodel/MedtrumViewModel.kt +++ b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/ui/viewmodel/MedtrumViewModel.kt @@ -137,7 +137,6 @@ class MedtrumViewModel @Inject constructor( PatchStep.CANCEL, PatchStep.COMPLETE, PatchStep.ACTIVATE_COMPLETE, - PatchStep.ERROR, PatchStep.START_DEACTIVATION, PatchStep.DEACTIVATE, PatchStep.FORCE_DEACTIVATION, @@ -307,7 +306,6 @@ class MedtrumViewModel @Inject constructor( PatchStep.COMPLETE, PatchStep.FORCE_DEACTIVATION, - PatchStep.ERROR, PatchStep.CANCEL -> _title.value } From 5768d3b75a866e50f6a3ff13bd453fe8d0db0372 Mon Sep 17 00:00:00 2001 From: jbr7rr <> Date: Mon, 22 Jan 2024 20:23:31 +0100 Subject: [PATCH 07/10] Revert check for plain sn range --- .../java/info/nightscout/pump/medtrum/util/MedtrumSnUtil.kt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/util/MedtrumSnUtil.kt b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/util/MedtrumSnUtil.kt index 7f133abbfa..8f21aeef52 100644 --- a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/util/MedtrumSnUtil.kt +++ b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/util/MedtrumSnUtil.kt @@ -6,6 +6,9 @@ import info.nightscout.pump.medtrum.encryption.Crypt class MedtrumSnUtil { fun getDeviceTypeFromSerial(serial: Long): ModelType { + if (serial in 106000000..106999999) { + return ModelType.INVALID + } return when (Crypt().simpleDecrypt(serial)) { in 126000000..126999999 -> ModelType.MD0201 From e2692f7d67644c79a84d423839a58f43614be1dd Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 26 Feb 2024 14:25:03 +0100 Subject: [PATCH 08/10] 3.2.0.4 --- buildSrc/src/main/kotlin/Versions.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index 9ed8fd4df9..340ef9ae8a 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -2,7 +2,7 @@ import org.gradle.api.JavaVersion object Versions { - const val appVersion = "3.2.0.3-dev" + const val appVersion = "3.2.0.4" const val versionCode = 1500 const val ndkVersion = "21.1.6352462" From 1586336daf4251b545e549fb91a2c24137ff63b3 Mon Sep 17 00:00:00 2001 From: osodebailar Date: Wed, 20 Dec 2023 19:18:16 +0100 Subject: [PATCH 09/10] useroption icon now visible again in useroption button --- core/ui/src/main/res/drawable/ic_user_options.xml | 4 ++-- .../aaps/plugins/main/general/overview/OverviewFragment.kt | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/core/ui/src/main/res/drawable/ic_user_options.xml b/core/ui/src/main/res/drawable/ic_user_options.xml index c19c55f8bc..f65abd7139 100644 --- a/core/ui/src/main/res/drawable/ic_user_options.xml +++ b/core/ui/src/main/res/drawable/ic_user_options.xml @@ -5,8 +5,8 @@ android:viewportHeight="24"> + android:fillColor="@color/userOption"/> + android:fillColor="@color/userOption"/> diff --git a/plugins/main/src/main/kotlin/app/aaps/plugins/main/general/overview/OverviewFragment.kt b/plugins/main/src/main/kotlin/app/aaps/plugins/main/general/overview/OverviewFragment.kt index 382741bc69..70cd3c921e 100644 --- a/plugins/main/src/main/kotlin/app/aaps/plugins/main/general/overview/OverviewFragment.kt +++ b/plugins/main/src/main/kotlin/app/aaps/plugins/main/general/overview/OverviewFragment.kt @@ -618,11 +618,14 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList } it.setCompoundDrawablesWithIntrinsicBounds(null, rh.gd(app.aaps.core.ui.R.drawable.ic_user_options), null, null) it.text = event.title - it.setOnClickListener { OKDialog.showConfirmation(context, rh.gs(R.string.run_question, event.title), { handler.post { automation.processEvent(event) } }) } binding.buttonsLayout.userButtonsLayout.addView(it) + for (drawable in it.compoundDrawables ) { + drawable?.mutate() + drawable?.colorFilter = PorterDuffColorFilter(rh.gac(context, app.aaps.core.ui.R.attr.userOptionColor), PorterDuff.Mode.SRC_IN) + } } } binding.buttonsLayout.userButtonsLayout.visibility = events.isNotEmpty().toVisibility() From 2798ae6473fff92cff49ec8cb68d9064e85da54d Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Wed, 17 Jan 2024 13:16:39 +0100 Subject: [PATCH 10/10] NSC: process objective 0 properly --- .../app/aaps/plugins/sync/nsShared/NsIncomingDataProcessor.kt | 2 ++ .../app/aaps/plugins/sync/nsclient/services/NSClientService.kt | 2 -- .../app/aaps/plugins/sync/nsclientV3/workers/LoadBgWorker.kt | 2 -- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/plugins/sync/src/main/kotlin/app/aaps/plugins/sync/nsShared/NsIncomingDataProcessor.kt b/plugins/sync/src/main/kotlin/app/aaps/plugins/sync/nsShared/NsIncomingDataProcessor.kt index 96c6a65c55..9806d665a7 100644 --- a/plugins/sync/src/main/kotlin/app/aaps/plugins/sync/nsShared/NsIncomingDataProcessor.kt +++ b/plugins/sync/src/main/kotlin/app/aaps/plugins/sync/nsShared/NsIncomingDataProcessor.kt @@ -88,6 +88,8 @@ class NsIncomingDataProcessor @Inject constructor( */ @Suppress("SpellCheckingInspection") fun processSgvs(sgvs: Any): Boolean { + // Objective0 + sp.putBoolean(app.aaps.core.utils.R.string.key_objectives_bg_is_available_in_ns, true) if (!nsClientSource.isEnabled() && !sp.getBoolean(app.aaps.core.utils.R.string.key_ns_receive_cgm, false)) return false diff --git a/plugins/sync/src/main/kotlin/app/aaps/plugins/sync/nsclient/services/NSClientService.kt b/plugins/sync/src/main/kotlin/app/aaps/plugins/sync/nsclient/services/NSClientService.kt index bac58bc0ed..adf08f2190 100644 --- a/plugins/sync/src/main/kotlin/app/aaps/plugins/sync/nsclient/services/NSClientService.kt +++ b/plugins/sync/src/main/kotlin/app/aaps/plugins/sync/nsclient/services/NSClientService.kt @@ -561,8 +561,6 @@ class NSClientService : DaggerService() { val sgvs = data.getJSONArray("sgvs") if (sgvs.length() > 0) { rxBus.send(EventNSClientNewLog("◄ DATA", "received " + sgvs.length() + " sgvs")) - // Objective0 - sp.putBoolean(app.aaps.core.utils.R.string.key_objectives_bg_is_available_in_ns, true) nsIncomingDataProcessor.processSgvs(sgvs) storeDataForDb.storeGlucoseValuesToDb() } diff --git a/plugins/sync/src/main/kotlin/app/aaps/plugins/sync/nsclientV3/workers/LoadBgWorker.kt b/plugins/sync/src/main/kotlin/app/aaps/plugins/sync/nsclientV3/workers/LoadBgWorker.kt index 5e2976c9b4..7f2882e529 100644 --- a/plugins/sync/src/main/kotlin/app/aaps/plugins/sync/nsclientV3/workers/LoadBgWorker.kt +++ b/plugins/sync/src/main/kotlin/app/aaps/plugins/sync/nsclientV3/workers/LoadBgWorker.kt @@ -61,8 +61,6 @@ class LoadBgWorker( if (sgvs.isNotEmpty()) { val action = if (isFirstLoad) "RCV-F" else "RCV" rxBus.send(EventNSClientNewLog("◄ $action", "${sgvs.size} SVGs from ${dateUtil.dateAndTimeAndSecondsString(lastLoaded)}")) - // Objective0 - sp.putBoolean(app.aaps.core.utils.R.string.key_objectives_bg_is_available_in_ns, true) // Schedule processing of fetched data and continue of loading continueLoading = response.code != 304 && nsIncomingDataProcessor.processSgvs(sgvs) } else {