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") diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index 17b2346624..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" + const val appVersion = "3.2.0.4" const val versionCode = 1500 const val ndkVersion = "21.1.6352462" 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/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/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() 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 } } 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 { 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 54dadef505..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() { @@ -569,7 +570,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/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/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/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/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/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 } 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..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 @@ -1,33 +1,23 @@ 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 { + fun getDeviceTypeFromSerial(serial: Long): ModelType { if (serial in 106000000..106999999) { - return INVALID + return ModelType.INVALID } 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 10e4496dc8..608c18b437 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 @@ -142,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)