BGSOURCE: allow upload from all plugins except NSC

This commit is contained in:
Milos Kozak 2023-08-30 17:22:19 +02:00
parent 89f822e003
commit 946ea0bf33
22 changed files with 81 additions and 185 deletions
core/interfaces/src/main/java/info/nightscout/interfaces/source
plugins

View file

@ -1,7 +1,5 @@
package info.nightscout.interfaces.source
import info.nightscout.database.entities.GlucoseValue
interface BgSource {
/**
@ -18,12 +16,4 @@ interface BgSource {
*/
val sensorBatteryLevel: Int
get() = -1
/**
* Decide if GlucoseValue should be uploaded to NS
*
* @param glucoseValue glucose value
* @return true if GlucoseValue should be uploaded to NS (supported by plugin and enabled in preferences)
*/
fun shouldUploadToNs(glucoseValue: GlucoseValue): Boolean
}

View file

@ -1,3 +0,0 @@
package info.nightscout.interfaces.source
interface DoingOwnUploadSource

View file

@ -1,5 +1,5 @@
package info.nightscout.interfaces.source
interface XDrip {
interface XDripSource {
fun isEnabled(): Boolean
}

View file

@ -65,7 +65,7 @@ import info.nightscout.interfaces.profile.ProfileFunction
import info.nightscout.interfaces.protection.ProtectionCheck
import info.nightscout.interfaces.pump.defs.PumpType
import info.nightscout.interfaces.source.DexcomBoyda
import info.nightscout.interfaces.source.XDrip
import info.nightscout.interfaces.source.XDripSource
import info.nightscout.interfaces.ui.UiInteraction
import info.nightscout.interfaces.utils.JsonHelper
import info.nightscout.interfaces.utils.TrendCalculator
@ -128,7 +128,7 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
@Inject lateinit var activePlugin: ActivePlugin
@Inject lateinit var iobCobCalculator: IobCobCalculator
@Inject lateinit var dexcomBoyda: DexcomBoyda
@Inject lateinit var xDrip: XDrip
@Inject lateinit var xDripSource: XDripSource
@Inject lateinit var notificationStore: NotificationStore
@Inject lateinit var quickWizard: QuickWizard
@Inject lateinit var config: Config
@ -400,7 +400,7 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
}
R.id.cgm_button -> {
if (xDrip.isEnabled())
if (xDripSource.isEnabled())
openCgmApp("com.eveningoutpost.dexdrip")
else if (dexcomBoyda.isEnabled()) {
dexcomBoyda.findDexcomPackageName()?.let {
@ -411,7 +411,7 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
}
R.id.calibration_button -> {
if (xDrip.isEnabled()) {
if (xDripSource.isEnabled()) {
uiInteraction.runCalibrationDialog(childFragmentManager)
} else if (dexcomBoyda.isEnabled()) {
try {
@ -577,7 +577,7 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
&& sp.getBoolean(R.string.key_show_insulin_button, true)).toVisibility()
// **** Calibration & CGM buttons ****
val xDripIsBgSource = xDrip.isEnabled()
val xDripIsBgSource = xDripSource.isEnabled()
val dexcomIsSource = dexcomBoyda.isEnabled()
binding.buttonsLayout.calibrationButton.visibility = (xDripIsBgSource && actualBG != null && sp.getBoolean(R.string.key_show_calibration_button, true)).toVisibility()
if (dexcomIsSource) {

View file

@ -35,17 +35,13 @@ class AidexPlugin @Inject constructor(
.mainType(PluginType.BGSOURCE)
.fragmentClass(BGSourceFragment::class.java.name)
.pluginIcon((info.nightscout.core.main.R.drawable.ic_blooddrop_48))
.preferencesId(R.xml.pref_bgsource)
.pluginName(R.string.aidex)
.shortName(R.string.aidex_short)
.description(R.string.description_source_aidex),
aapsLogger, rh, injector
), BgSource {
/**
* Aidex App doesn't have upload to NS
*/
override fun shouldUploadToNs(glucoseValue: GlucoseValue): Boolean = true
// Allow only for pumpcontrol or dev & engineering_mode
override fun specialEnableCondition(): Boolean {
return config.APS.not() || config.isDev() && config.isEngineeringMode()

View file

@ -45,7 +45,6 @@ class DexcomPlugin @Inject constructor(
injector: HasAndroidInjector,
rh: ResourceHelper,
aapsLogger: AAPSLogger,
private val sp: SP,
private val context: Context,
config: Config
) : PluginBase(
@ -53,9 +52,9 @@ class DexcomPlugin @Inject constructor(
.mainType(PluginType.BGSOURCE)
.fragmentClass(BGSourceFragment::class.java.name)
.pluginIcon(info.nightscout.core.main.R.drawable.ic_dexcom_g6)
.preferencesId(R.xml.pref_dexcom)
.pluginName(R.string.dexcom_app_patched)
.shortName(R.string.dexcom_short)
.preferencesId(R.xml.pref_dexcom)
.description(R.string.description_source_dexcom),
aapsLogger, rh, injector
), BgSource, DexcomBoyda {
@ -68,12 +67,6 @@ class DexcomPlugin @Inject constructor(
override fun advancedFilteringSupported(): Boolean = true
override fun shouldUploadToNs(glucoseValue: GlucoseValue): Boolean =
(glucoseValue.sourceSensor == GlucoseValue.SourceSensor.DEXCOM_G6_NATIVE ||
glucoseValue.sourceSensor == GlucoseValue.SourceSensor.DEXCOM_G5_NATIVE ||
glucoseValue.sourceSensor == GlucoseValue.SourceSensor.DEXCOM_NATIVE_UNKNOWN)
&& sp.getBoolean(info.nightscout.core.utils.R.string.key_do_ns_upload, false)
override fun onStart() {
super.onStart()
requestPermissionIfNeeded()

View file

@ -19,7 +19,6 @@ import info.nightscout.interfaces.source.BgSource
import info.nightscout.rx.logging.AAPSLogger
import info.nightscout.rx.logging.LTag
import info.nightscout.shared.interfaces.ResourceHelper
import info.nightscout.shared.sharedPreferences.SP
import info.nightscout.shared.utils.DateUtil
import kotlinx.coroutines.Dispatchers
import java.util.Arrays
@ -30,25 +29,21 @@ import javax.inject.Singleton
class EversensePlugin @Inject constructor(
injector: HasAndroidInjector,
rh: ResourceHelper,
aapsLogger: AAPSLogger,
private val sp: SP
aapsLogger: AAPSLogger
) : PluginBase(
PluginDescription()
.mainType(PluginType.BGSOURCE)
.fragmentClass(BGSourceFragment::class.java.name)
.pluginIcon(info.nightscout.core.main.R.drawable.ic_eversense)
.pluginName(R.string.eversense)
.shortName(R.string.eversense_shortname)
.preferencesId(R.xml.pref_bgsource)
.description(R.string.description_source_eversense),
.mainType(PluginType.BGSOURCE)
.fragmentClass(BGSourceFragment::class.java.name)
.pluginIcon(info.nightscout.core.main.R.drawable.ic_eversense)
.preferencesId(R.xml.pref_bgsource)
.pluginName(R.string.eversense)
.shortName(R.string.eversense_shortname)
.description(R.string.description_source_eversense),
aapsLogger, rh, injector
), BgSource {
override var sensorBatteryLevel = -1
override fun shouldUploadToNs(glucoseValue: GlucoseValue): Boolean =
glucoseValue.sourceSensor == GlucoseValue.SourceSensor.EVERSENSE && sp.getBoolean(info.nightscout.core.utils.R.string.key_do_ns_upload, false)
// cannot be inner class because of needed injection
class EversenseWorker(
context: Context,
@ -126,14 +121,16 @@ class EversensePlugin @Inject constructor(
aapsLogger.debug(LTag.BGSOURCE, "calibrationTimestamps" + Arrays.toString(calibrationTimestamps))
aapsLogger.debug(LTag.BGSOURCE, "calibrationRecordNumbers" + Arrays.toString(calibrationRecordNumbers))
for (i in calibrationGlucoseLevels.indices) {
repository.runTransactionForResult(InsertIfNewByTimestampTherapyEventTransaction(
timestamp = calibrationTimestamps[i],
type = TherapyEvent.Type.FINGER_STICK_BG_VALUE,
glucose = calibrationGlucoseLevels[i].toDouble(),
glucoseType = TherapyEvent.MeterType.FINGER,
glucoseUnit = TherapyEvent.GlucoseUnit.MGDL,
enteredBy = "AndroidAPS-Eversense"
))
repository.runTransactionForResult(
InsertIfNewByTimestampTherapyEventTransaction(
timestamp = calibrationTimestamps[i],
type = TherapyEvent.Type.FINGER_STICK_BG_VALUE,
glucose = calibrationGlucoseLevels[i].toDouble(),
glucoseType = TherapyEvent.MeterType.FINGER,
glucoseUnit = TherapyEvent.GlucoseUnit.MGDL,
enteredBy = "AndroidAPS-Eversense"
)
)
.doOnError {
aapsLogger.error(LTag.DATABASE, "Error while saving therapy event", it)
ret = Result.failure(workDataOf("Error" to it.toString()))

View file

@ -17,7 +17,6 @@ import info.nightscout.interfaces.source.BgSource
import info.nightscout.rx.logging.AAPSLogger
import info.nightscout.rx.logging.LTag
import info.nightscout.shared.interfaces.ResourceHelper
import info.nightscout.shared.sharedPreferences.SP
import kotlinx.coroutines.Dispatchers
import javax.inject.Inject
import javax.inject.Singleton
@ -27,15 +26,14 @@ import javax.inject.Singleton
class GlimpPlugin @Inject constructor(
injector: HasAndroidInjector,
rh: ResourceHelper,
aapsLogger: AAPSLogger,
private val sp: SP
aapsLogger: AAPSLogger
) : PluginBase(
PluginDescription()
.mainType(PluginType.BGSOURCE)
.fragmentClass(BGSourceFragment::class.java.name)
.pluginIcon(info.nightscout.core.main.R.drawable.ic_glimp)
.pluginName(R.string.glimp)
.preferencesId(R.xml.pref_bgsource)
.pluginName(R.string.glimp)
.description(R.string.description_source_glimp),
aapsLogger, rh, injector
), BgSource {
@ -78,8 +76,4 @@ class GlimpPlugin @Inject constructor(
return ret
}
}
override fun shouldUploadToNs(glucoseValue: GlucoseValue): Boolean =
glucoseValue.sourceSensor == GlucoseValue.SourceSensor.LIBRE_1_GLIMP && sp.getBoolean(info.nightscout.core.utils.R.string.key_do_ns_upload, false)
}

View file

@ -45,8 +45,8 @@ class GlunovoPlugin @Inject constructor(
.mainType(PluginType.BGSOURCE)
.fragmentClass(BGSourceFragment::class.java.name)
.pluginIcon(info.nightscout.core.main.R.drawable.ic_glunovo)
.pluginName(R.string.glunovo)
.preferencesId(R.xml.pref_bgsource)
.pluginName(R.string.glunovo)
.shortName(R.string.glunovo)
.description(R.string.description_source_glunovo),
aapsLogger, resourceHelper, injector
@ -167,9 +167,6 @@ class GlunovoPlugin @Inject constructor(
}
}
override fun shouldUploadToNs(glucoseValue: GlucoseValue): Boolean =
glucoseValue.sourceSensor == GlucoseValue.SourceSensor.GLUNOVO_NATIVE && sp.getBoolean(info.nightscout.core.utils.R.string.key_do_ns_upload, false)
companion object {
const val AUTHORITY = "alexpr.co.uk.infinivocgm.cgm_db.CgmExternalProvider/"

View file

@ -48,8 +48,8 @@ class IntelligoPlugin @Inject constructor(
.mainType(PluginType.BGSOURCE)
.fragmentClass(BGSourceFragment::class.java.name)
.pluginIcon(info.nightscout.core.ui.R.drawable.ic_intelligo)
.pluginName(R.string.intelligo)
.preferencesId(R.xml.pref_bgsource)
.pluginName(R.string.intelligo)
.shortName(R.string.intelligo)
.description(R.string.description_source_intelligo),
aapsLogger, resourceHelper, injector
@ -175,14 +175,9 @@ class IntelligoPlugin @Inject constructor(
}
}
override fun shouldUploadToNs(glucoseValue: GlucoseValue): Boolean =
glucoseValue.sourceSensor == GlucoseValue.SourceSensor.INTELLIGO_NATIVE && sp.getBoolean(info.nightscout.core.utils.R.string.key_do_ns_upload, false)
companion object {
const val AUTHORITY = "alexpr.co.uk.infinivocgm.intelligo.cgm_db.CgmExternalProvider"
//const val AUTHORITY = "alexpr.co.uk.infinivocgm.cgm_db.CgmExternalProvider/"
const val TABLE_NAME = "CgmReading"
const val INTERVAL = 180000L // 3 min
}

View file

@ -16,7 +16,6 @@ import info.nightscout.interfaces.source.BgSource
import info.nightscout.rx.logging.AAPSLogger
import info.nightscout.rx.logging.LTag
import info.nightscout.shared.interfaces.ResourceHelper
import info.nightscout.shared.sharedPreferences.SP
import info.nightscout.shared.utils.DateUtil
import kotlinx.coroutines.Dispatchers
import org.json.JSONArray
@ -28,15 +27,15 @@ import javax.inject.Singleton
class MM640gPlugin @Inject constructor(
injector: HasAndroidInjector,
rh: ResourceHelper,
aapsLogger: AAPSLogger,
private val sp: SP
aapsLogger: AAPSLogger
) : PluginBase(
PluginDescription()
.mainType(PluginType.BGSOURCE)
.fragmentClass(BGSourceFragment::class.java.name)
.pluginIcon(info.nightscout.core.main.R.drawable.ic_generic_cgm)
.pluginName(R.string.mm640g)
.description(R.string.description_source_mm640g),
.mainType(PluginType.BGSOURCE)
.fragmentClass(BGSourceFragment::class.java.name)
.preferencesId(R.xml.pref_bgsource)
.pluginIcon(info.nightscout.core.main.R.drawable.ic_generic_cgm)
.pluginName(R.string.mm640g)
.description(R.string.description_source_mm640g),
aapsLogger, rh, injector
), BgSource {
@ -75,6 +74,7 @@ class MM640gPlugin @Inject constructor(
trendArrow = GlucoseValue.TrendArrow.fromString(jsonObject.getString("direction")),
sourceSensor = GlucoseValue.SourceSensor.MM_600_SERIES
)
else -> aapsLogger.debug(LTag.BGSOURCE, "Unknown entries type: $type")
}
}
@ -98,8 +98,4 @@ class MM640gPlugin @Inject constructor(
return ret
}
}
override fun shouldUploadToNs(glucoseValue: GlucoseValue): Boolean =
glucoseValue.sourceSensor == GlucoseValue.SourceSensor.MM_600_SERIES && sp.getBoolean(info.nightscout.core.utils.R.string.key_do_ns_upload, false)
}

View file

@ -7,7 +7,6 @@ import info.nightscout.interfaces.plugin.PluginBase
import info.nightscout.interfaces.plugin.PluginDescription
import info.nightscout.interfaces.plugin.PluginType
import info.nightscout.interfaces.source.BgSource
import info.nightscout.interfaces.source.DoingOwnUploadSource
import info.nightscout.interfaces.source.NSClientSource
import info.nightscout.rx.logging.AAPSLogger
import info.nightscout.shared.interfaces.ResourceHelper
@ -31,15 +30,13 @@ class NSClientSourcePlugin @Inject constructor(
.alwaysEnabled(config.NSCLIENT)
.setDefault(config.NSCLIENT),
aapsLogger, rh, injector
), BgSource, NSClientSource, DoingOwnUploadSource {
), BgSource, NSClientSource {
private var lastBGTimeStamp: Long = 0
private var isAdvancedFilteringEnabled = false
override fun advancedFilteringSupported(): Boolean = isAdvancedFilteringEnabled
override fun shouldUploadToNs(glucoseValue: GlucoseValue): Boolean = false
override fun detectSource(glucoseValue: GlucoseValue) {
if (glucoseValue.timestamp > lastBGTimeStamp) {
isAdvancedFilteringEnabled = arrayOf(

View file

@ -18,7 +18,6 @@ import info.nightscout.interfaces.utils.JsonHelper.safeGetString
import info.nightscout.rx.logging.AAPSLogger
import info.nightscout.rx.logging.LTag
import info.nightscout.shared.interfaces.ResourceHelper
import info.nightscout.shared.sharedPreferences.SP
import kotlinx.coroutines.Dispatchers
import org.json.JSONArray
import org.json.JSONException
@ -29,16 +28,15 @@ import javax.inject.Singleton
class PoctechPlugin @Inject constructor(
injector: HasAndroidInjector,
rh: ResourceHelper,
aapsLogger: AAPSLogger,
private val sp: SP
aapsLogger: AAPSLogger
) : PluginBase(
PluginDescription()
.mainType(PluginType.BGSOURCE)
.fragmentClass(BGSourceFragment::class.java.name)
.pluginIcon(info.nightscout.core.main.R.drawable.ic_poctech)
.pluginName(R.string.poctech)
.preferencesId(R.xml.pref_bgsource)
.description(R.string.description_source_poctech),
.mainType(PluginType.BGSOURCE)
.fragmentClass(BGSourceFragment::class.java.name)
.pluginIcon(info.nightscout.core.main.R.drawable.ic_poctech)
.preferencesId(R.xml.pref_bgsource)
.pluginName(R.string.poctech)
.description(R.string.description_source_poctech),
aapsLogger, rh, injector
), BgSource {
@ -91,8 +89,4 @@ class PoctechPlugin @Inject constructor(
return ret
}
}
override fun shouldUploadToNs(glucoseValue: GlucoseValue): Boolean =
glucoseValue.sourceSensor == GlucoseValue.SourceSensor.POCTECH_NATIVE && sp.getBoolean(info.nightscout.core.utils.R.string.key_do_ns_upload, false)
}

View file

@ -18,7 +18,6 @@ import info.nightscout.interfaces.source.BgSource
import info.nightscout.rx.logging.AAPSLogger
import info.nightscout.rx.logging.LTag
import info.nightscout.shared.interfaces.ResourceHelper
import info.nightscout.shared.sharedPreferences.SP
import info.nightscout.shared.utils.T
import io.reactivex.rxjava3.disposables.CompositeDisposable
import io.reactivex.rxjava3.kotlin.plusAssign
@ -35,7 +34,6 @@ class RandomBgPlugin @Inject constructor(
injector: HasAndroidInjector,
rh: ResourceHelper,
aapsLogger: AAPSLogger,
private val sp: SP,
private val repository: AppRepository,
private val virtualPump: VirtualPump,
private val config: Config
@ -44,9 +42,9 @@ class RandomBgPlugin @Inject constructor(
.mainType(PluginType.BGSOURCE)
.fragmentClass(BGSourceFragment::class.java.name)
.pluginIcon(R.drawable.ic_dice)
.preferencesId(R.xml.pref_bgsource)
.pluginName(R.string.random_bg)
.shortName(R.string.random_bg_short)
.preferencesId(R.xml.pref_bgsource)
.description(R.string.description_source_random_bg),
aapsLogger, rh, injector
), BgSource {
@ -73,9 +71,6 @@ class RandomBgPlugin @Inject constructor(
override fun advancedFilteringSupported(): Boolean = true
override fun shouldUploadToNs(glucoseValue: GlucoseValue): Boolean =
glucoseValue.sourceSensor == GlucoseValue.SourceSensor.RANDOM && sp.getBoolean(info.nightscout.core.utils.R.string.key_do_ns_upload, false)
override fun onStart() {
super.onStart()
val cal = GregorianCalendar()
@ -116,9 +111,7 @@ class RandomBgPlugin @Inject constructor(
)
disposable += repository.runTransactionForResult(CgmSourceTransaction(glucoseValues, emptyList(), null))
.subscribe({ savedValues ->
savedValues.inserted.forEach {
aapsLogger.debug(LTag.DATABASE, "Inserted bg $it")
}
savedValues.inserted.forEach { aapsLogger.debug(LTag.DATABASE, "Inserted bg $it") }
}, { aapsLogger.error(LTag.DATABASE, "Error while saving values from Random plugin", it) }
)
}

View file

@ -25,17 +25,16 @@ import javax.inject.Singleton
class TomatoPlugin @Inject constructor(
injector: HasAndroidInjector,
rh: ResourceHelper,
aapsLogger: AAPSLogger,
private val sp: SP
aapsLogger: AAPSLogger
) : PluginBase(
PluginDescription()
.mainType(PluginType.BGSOURCE)
.fragmentClass(BGSourceFragment::class.java.name)
.pluginIcon(info.nightscout.core.main.R.drawable.ic_sensor)
.pluginName(R.string.tomato)
.preferencesId(R.xml.pref_bgsource)
.shortName(R.string.tomato_short)
.description(R.string.description_source_tomato),
.mainType(PluginType.BGSOURCE)
.fragmentClass(BGSourceFragment::class.java.name)
.pluginIcon(info.nightscout.core.main.R.drawable.ic_sensor)
.preferencesId(R.xml.pref_bgsource)
.pluginName(R.string.tomato)
.shortName(R.string.tomato_short)
.description(R.string.description_source_tomato),
aapsLogger, rh, injector
), BgSource {
@ -78,8 +77,4 @@ class TomatoPlugin @Inject constructor(
return ret
}
}
override fun shouldUploadToNs(glucoseValue: GlucoseValue): Boolean =
glucoseValue.sourceSensor == GlucoseValue.SourceSensor.LIBRE_1_TOMATO && sp.getBoolean(info.nightscout.core.utils.R.string.key_do_ns_upload, false)
}

View file

@ -15,8 +15,7 @@ import info.nightscout.interfaces.plugin.PluginDescription
import info.nightscout.interfaces.plugin.PluginType
import info.nightscout.interfaces.receivers.Intents
import info.nightscout.interfaces.source.BgSource
import info.nightscout.interfaces.source.DoingOwnUploadSource
import info.nightscout.interfaces.source.XDrip
import info.nightscout.interfaces.source.XDripSource
import info.nightscout.rx.logging.AAPSLogger
import info.nightscout.rx.logging.LTag
import info.nightscout.shared.interfaces.ResourceHelper
@ -31,19 +30,18 @@ class XdripSourcePlugin @Inject constructor(
aapsLogger: AAPSLogger
) : PluginBase(
PluginDescription()
.mainType(PluginType.BGSOURCE)
.fragmentClass(BGSourceFragment::class.java.name)
.pluginIcon((info.nightscout.core.main.R.drawable.ic_blooddrop_48))
.pluginName(R.string.source_xdrip)
.description(R.string.description_source_xdrip),
.mainType(PluginType.BGSOURCE)
.fragmentClass(BGSourceFragment::class.java.name)
.pluginIcon((info.nightscout.core.main.R.drawable.ic_blooddrop_48))
.preferencesId(R.xml.pref_bgsource)
.pluginName(R.string.source_xdrip)
.description(R.string.description_source_xdrip),
aapsLogger, rh, injector
), BgSource, DoingOwnUploadSource, XDrip {
), BgSource, XDripSource {
private var advancedFiltering = false
override var sensorBatteryLevel = -1
override fun shouldUploadToNs(glucoseValue: GlucoseValue): Boolean = false
override fun advancedFilteringSupported(): Boolean = advancedFiltering
private fun detectSource(glucoseValue: GlucoseValue) {
@ -82,8 +80,10 @@ class XdripSourcePlugin @Inject constructor(
raw = bundle.getDouble(Intents.EXTRA_RAW, 0.0),
noise = null,
trendArrow = GlucoseValue.TrendArrow.fromString(bundle.getString(Intents.EXTRA_BG_SLOPE_NAME)),
sourceSensor = GlucoseValue.SourceSensor.fromString(bundle.getString(Intents.XDRIP_DATA_SOURCE_DESCRIPTION)
?: "")
sourceSensor = GlucoseValue.SourceSensor.fromString(
bundle.getString(Intents.XDRIP_DATA_SOURCE_DESCRIPTION)
?: ""
)
)
repository.runTransactionForResult(CgmSourceTransaction(glucoseValues, emptyList(), null))
.doOnError {

View file

@ -5,7 +5,7 @@ import dagger.Module
import dagger.android.ContributesAndroidInjector
import info.nightscout.interfaces.source.DexcomBoyda
import info.nightscout.interfaces.source.NSClientSource
import info.nightscout.interfaces.source.XDrip
import info.nightscout.interfaces.source.XDripSource
import info.nightscout.source.AidexPlugin
import info.nightscout.source.BGSourceFragment
import info.nightscout.source.DexcomPlugin
@ -45,6 +45,6 @@ abstract class SourceModule {
@Binds fun bindNSClientSource(nsClientSourcePlugin: NSClientSourcePlugin): NSClientSource
@Binds fun bindDexcomBoyda(dexcomPlugin: DexcomPlugin): DexcomBoyda
@Binds fun bindXDrip(xdripSourcePlugin: XdripSourcePlugin): XDrip
@Binds fun bindXDrip(xdripSourcePlugin: XdripSourcePlugin): XDripSource
}
}

View file

@ -18,7 +18,7 @@ class GlimpPluginTest : TestBase() {
@BeforeEach
fun setup() {
glimpPlugin = GlimpPlugin({ AndroidInjector { } }, rh, aapsLogger, sp)
glimpPlugin = GlimpPlugin({ AndroidInjector { } }, rh, aapsLogger)
}
@Test fun advancedFilteringSupported() {

View file

@ -3,7 +3,6 @@ package info.nightscout.source
import dagger.android.AndroidInjector
import info.nightscout.androidaps.TestBase
import info.nightscout.shared.interfaces.ResourceHelper
import info.nightscout.shared.sharedPreferences.SP
import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test
@ -14,11 +13,10 @@ class MM640GPluginTest : TestBase() {
private lateinit var mM640gPlugin: MM640gPlugin
@Mock lateinit var rh: ResourceHelper
@Mock lateinit var sp: SP
@BeforeEach
fun setup() {
mM640gPlugin = MM640gPlugin({ AndroidInjector { } }, rh, aapsLogger, sp)
mM640gPlugin = MM640gPlugin({ AndroidInjector { } }, rh, aapsLogger)
}
@Test fun advancedFilteringSupported() {

View file

@ -4,6 +4,7 @@ import info.nightscout.core.utils.waitMillis
import info.nightscout.database.impl.AppRepository
import info.nightscout.interfaces.plugin.ActivePlugin
import info.nightscout.interfaces.profile.ProfileFunction
import info.nightscout.interfaces.source.NSClientSource
import info.nightscout.interfaces.sync.DataSyncSelector
import info.nightscout.interfaces.utils.JsonHelper
import info.nightscout.plugins.sync.R
@ -74,6 +75,9 @@ class DataSyncSelectorV1 @Inject constructor(
private var running = false
private val sync = Any()
private val bgUploadEnabled get() = sp.getBoolean(info.nightscout.core.utils.R.string.key_do_ns_upload, false) && activePlugin.activeBgSource !is NSClientSource
override suspend fun doUpload() {
synchronized(sync) {
if (running) {
@ -154,7 +158,6 @@ class DataSyncSelectorV1 @Inject constructor(
private fun confirmLastBolusIdIfGreater(lastSynced: Long) {
if (lastSynced > sp.getLong(R.string.key_ns_bolus_last_synced_id, 0)) {
//aapsLogger.debug(LTag.NSCLIENT, "Setting Bolus data sync from $lastSynced")
sp.putLong(R.string.key_ns_bolus_last_synced_id, lastSynced)
}
}
@ -203,7 +206,6 @@ class DataSyncSelectorV1 @Inject constructor(
private fun confirmLastCarbsIdIfGreater(lastSynced: Long) {
if (lastSynced > sp.getLong(R.string.key_ns_carbs_last_synced_id, 0)) {
//aapsLogger.debug(LTag.NSCLIENT, "Setting Carbs data sync from $lastSynced")
sp.putLong(R.string.key_ns_carbs_last_synced_id, lastSynced)
}
}
@ -252,7 +254,6 @@ class DataSyncSelectorV1 @Inject constructor(
private fun confirmLastBolusCalculatorResultsIdIfGreater(lastSynced: Long) {
if (lastSynced > sp.getLong(R.string.key_ns_bolus_calculator_result_last_synced_id, 0)) {
//aapsLogger.debug(LTag.NSCLIENT, "Setting BolusCalculatorResult data sync from $lastSynced")
sp.putLong(R.string.key_ns_bolus_calculator_result_last_synced_id, lastSynced)
}
}
@ -301,7 +302,6 @@ class DataSyncSelectorV1 @Inject constructor(
private fun confirmLastTempTargetsIdIfGreater(lastSynced: Long) {
if (lastSynced > sp.getLong(R.string.key_ns_temporary_target_last_synced_id, 0)) {
//aapsLogger.debug(LTag.NSCLIENT, "Setting TemporaryTarget data sync from $lastSynced")
sp.putLong(R.string.key_ns_temporary_target_last_synced_id, lastSynced)
}
}
@ -350,7 +350,6 @@ class DataSyncSelectorV1 @Inject constructor(
private fun confirmLastFoodIdIfGreater(lastSynced: Long) {
if (lastSynced > sp.getLong(R.string.key_ns_food_last_synced_id, 0)) {
//aapsLogger.debug(LTag.NSCLIENT, "Setting Food data sync from $lastSynced")
sp.putLong(R.string.key_ns_food_last_synced_id, lastSynced)
}
}
@ -399,7 +398,6 @@ class DataSyncSelectorV1 @Inject constructor(
private fun confirmLastGlucoseValueIdIfGreater(lastSynced: Long) {
if (lastSynced > sp.getLong(R.string.key_ns_glucose_value_last_synced_id, 0)) {
//aapsLogger.debug(LTag.NSCLIENT, "Setting GlucoseValue data sync from $lastSynced")
sp.putLong(R.string.key_ns_glucose_value_last_synced_id, lastSynced)
}
}
@ -419,7 +417,7 @@ class DataSyncSelectorV1 @Inject constructor(
appRepository.getNextSyncElementGlucoseValue(startId).blockingGet()?.let { gv ->
aapsLogger.info(LTag.NSCLIENT, "Loading GlucoseValue data Start: $startId ${gv.first} forID: ${gv.second.id} ")
val dataPair = DataSyncSelector.PairGlucoseValue(gv.first, gv.second.id)
if (activePlugin.activeBgSource.shouldUploadToNs(gv.first)) {
if (bgUploadEnabled) {
when {
// new record with existing NS id => must be coming from NS => ignore
gv.first.id == gv.second.id && gv.first.interfaceIDs.nightscoutId != null ->
@ -450,7 +448,6 @@ class DataSyncSelectorV1 @Inject constructor(
private fun confirmLastTherapyEventIdIfGreater(lastSynced: Long) {
if (lastSynced > sp.getLong(R.string.key_ns_therapy_event_last_synced_id, 0)) {
//aapsLogger.debug(LTag.NSCLIENT, "Setting TherapyEvents data sync from $lastSynced")
sp.putLong(R.string.key_ns_therapy_event_last_synced_id, lastSynced)
}
}
@ -499,7 +496,6 @@ class DataSyncSelectorV1 @Inject constructor(
private fun confirmLastDeviceStatusIdIfGreater(lastSynced: Long) {
if (lastSynced > sp.getLong(R.string.key_ns_device_status_last_synced_id, 0)) {
//aapsLogger.debug(LTag.NSCLIENT, "Setting DeviceStatus data sync from $lastSynced")
sp.putLong(R.string.key_ns_device_status_last_synced_id, lastSynced)
}
}
@ -531,7 +527,6 @@ class DataSyncSelectorV1 @Inject constructor(
private fun confirmLastTemporaryBasalIdIfGreater(lastSynced: Long) {
if (lastSynced > sp.getLong(R.string.key_ns_temporary_basal_last_synced_id, 0)) {
//aapsLogger.debug(LTag.NSCLIENT, "Setting TemporaryBasal data sync from $lastSynced")
sp.putLong(R.string.key_ns_temporary_basal_last_synced_id, lastSynced)
}
}
@ -583,7 +578,6 @@ class DataSyncSelectorV1 @Inject constructor(
private fun confirmLastExtendedBolusIdIfGreater(lastSynced: Long) {
if (lastSynced > sp.getLong(R.string.key_ns_extended_bolus_last_synced_id, 0)) {
//aapsLogger.debug(LTag.NSCLIENT, "Setting ExtendedBolus data sync from $lastSynced")
sp.putLong(R.string.key_ns_extended_bolus_last_synced_id, lastSynced)
}
}
@ -635,7 +629,6 @@ class DataSyncSelectorV1 @Inject constructor(
private fun confirmLastProfileSwitchIdIfGreater(lastSynced: Long) {
if (lastSynced > sp.getLong(R.string.key_ns_profile_switch_last_synced_id, 0)) {
//aapsLogger.debug(LTag.NSCLIENT, "Setting ProfileSwitch data sync from $lastSynced")
sp.putLong(R.string.key_ns_profile_switch_last_synced_id, lastSynced)
}
}
@ -684,7 +677,6 @@ class DataSyncSelectorV1 @Inject constructor(
private fun confirmLastEffectiveProfileSwitchIdIfGreater(lastSynced: Long) {
if (lastSynced > sp.getLong(R.string.key_ns_effective_profile_switch_last_synced_id, 0)) {
//aapsLogger.debug(LTag.NSCLIENT, "Setting EffectiveProfileSwitch data sync from $lastSynced")
sp.putLong(R.string.key_ns_effective_profile_switch_last_synced_id, lastSynced)
}
}
@ -733,7 +725,6 @@ class DataSyncSelectorV1 @Inject constructor(
private fun confirmLastOfflineEventIdIfGreater(lastSynced: Long) {
if (lastSynced > sp.getLong(R.string.key_ns_offline_event_last_synced_id, 0)) {
//aapsLogger.debug(LTag.NSCLIENT, "Setting OfflineEvent data sync from $lastSynced")
sp.putLong(R.string.key_ns_offline_event_last_synced_id, lastSynced)
}
}

View file

@ -21,7 +21,6 @@ import info.nightscout.interfaces.plugin.PluginDescription
import info.nightscout.interfaces.plugin.PluginType
import info.nightscout.interfaces.profile.Profile
import info.nightscout.interfaces.profile.ProfileFunction
import info.nightscout.interfaces.source.DoingOwnUploadSource
import info.nightscout.interfaces.sync.DataSyncSelector
import info.nightscout.interfaces.sync.NsClient
import info.nightscout.interfaces.sync.Sync
@ -129,9 +128,6 @@ class NSClientPlugin @Inject constructor(
preferenceFragment.findPreference<SwitchPreference>(rh.gs(info.nightscout.core.utils.R.string.key_ns_create_announcements_from_carbs_req))?.isVisible = false
}
preferenceFragment.findPreference<SwitchPreference>(rh.gs(R.string.key_ns_receive_tbr_eb))?.isVisible = config.isEngineeringMode()
if (activePlugin.activeBgSource is DoingOwnUploadSource) {
preferenceFragment.findPreference<SwitchPreference>(rh.gs(info.nightscout.core.utils.R.string.key_do_ns_upload))?.isVisible = false
}
}
override val hasWritePermission: Boolean get() = nsClientService?.hasWriteAuth ?: false

View file

@ -6,6 +6,7 @@ import info.nightscout.interfaces.Config
import info.nightscout.interfaces.nsclient.StoreDataForDb
import info.nightscout.interfaces.plugin.ActivePlugin
import info.nightscout.interfaces.profile.ProfileFunction
import info.nightscout.interfaces.source.NSClientSource
import info.nightscout.interfaces.sync.DataSyncSelector
import info.nightscout.interfaces.utils.JsonHelper
import info.nightscout.plugins.sync.R
@ -70,6 +71,8 @@ class DataSyncSelectorV3 @Inject constructor(
override fun queueSize(): Long = queueCounter.size()
private val bgUploadEnabled get() = sp.getBoolean(info.nightscout.core.utils.R.string.key_do_ns_upload, false) && activePlugin.activeBgSource !is NSClientSource
override suspend fun doUpload() {
rxBus.send(EventNSClientUpdateGuiStatus())
if ((config.NSCLIENT || sp.getBoolean(R.string.key_ns_upload, true)) && !isPaused) {
@ -128,7 +131,6 @@ class DataSyncSelectorV3 @Inject constructor(
private fun confirmLastBolusIdIfGreater(lastSynced: Long) {
if (lastSynced > sp.getLong(R.string.key_ns_bolus_last_synced_id, 0)) {
//aapsLogger.debug(LTag.NSCLIENT, "Setting Bolus data sync from $lastSynced")
sp.putLong(R.string.key_ns_bolus_last_synced_id, lastSynced)
}
}
@ -147,7 +149,6 @@ class DataSyncSelectorV3 @Inject constructor(
queueCounter.bolusesRemaining = lastDbId - startId
rxBus.send(EventNSClientUpdateGuiQueue())
appRepository.getNextSyncElementBolus(startId).blockingGet()?.let { bolus ->
//aapsLogger.info(LTag.NSCLIENT, "Loading Bolus data Start: $startId ${bolus.first} forID: ${bolus.second.id} ")
when {
// new record with existing NS id => must be coming from NS => ignore
bolus.first.id == bolus.second.id && bolus.first.interfaceIDs.nightscoutId != null ->
@ -171,7 +172,6 @@ class DataSyncSelectorV3 @Inject constructor(
private fun confirmLastCarbsIdIfGreater(lastSynced: Long) {
if (lastSynced > sp.getLong(R.string.key_ns_carbs_last_synced_id, 0)) {
//aapsLogger.debug(LTag.NSCLIENT, "Setting Carbs data sync from $lastSynced")
sp.putLong(R.string.key_ns_carbs_last_synced_id, lastSynced)
}
}
@ -190,7 +190,6 @@ class DataSyncSelectorV3 @Inject constructor(
queueCounter.carbsRemaining = lastDbId - startId
rxBus.send(EventNSClientUpdateGuiQueue())
appRepository.getNextSyncElementCarbs(startId).blockingGet()?.let { carb ->
//aapsLogger.info(LTag.NSCLIENT, "Loading Carbs data Start: $startId ${carb.first} forID: ${carb.second.id} ")
when {
// new record with existing NS id => must be coming from NS => ignore
carb.first.id == carb.second.id && carb.first.interfaceIDs.nightscoutId != null ->
@ -214,7 +213,6 @@ class DataSyncSelectorV3 @Inject constructor(
private fun confirmLastBolusCalculatorResultsIdIfGreater(lastSynced: Long) {
if (lastSynced > sp.getLong(R.string.key_ns_bolus_calculator_result_last_synced_id, 0)) {
//aapsLogger.debug(LTag.NSCLIENT, "Setting BolusCalculatorResult data sync from $lastSynced")
sp.putLong(R.string.key_ns_bolus_calculator_result_last_synced_id, lastSynced)
}
}
@ -233,7 +231,6 @@ class DataSyncSelectorV3 @Inject constructor(
queueCounter.bcrRemaining = lastDbId - startId
rxBus.send(EventNSClientUpdateGuiQueue())
appRepository.getNextSyncElementBolusCalculatorResult(startId).blockingGet()?.let { bolusCalculatorResult ->
//aapsLogger.info(LTag.NSCLIENT, "Loading BolusCalculatorResult data Start: $startId ${bolusCalculatorResult.first} forID: ${bolusCalculatorResult.second.id} ")
when {
// new record with existing NS id => must be coming from NS => ignore
bolusCalculatorResult.first.id == bolusCalculatorResult.second.id && bolusCalculatorResult.first.interfaceIDs.nightscoutId != null ->
@ -265,7 +262,6 @@ class DataSyncSelectorV3 @Inject constructor(
private fun confirmLastTempTargetsIdIfGreater(lastSynced: Long) {
if (lastSynced > sp.getLong(R.string.key_ns_temporary_target_last_synced_id, 0)) {
//aapsLogger.debug(LTag.NSCLIENT, "Setting TemporaryTarget data sync from $lastSynced")
sp.putLong(R.string.key_ns_temporary_target_last_synced_id, lastSynced)
}
}
@ -284,7 +280,6 @@ class DataSyncSelectorV3 @Inject constructor(
queueCounter.ttsRemaining = lastDbId - startId
rxBus.send(EventNSClientUpdateGuiQueue())
appRepository.getNextSyncElementTemporaryTarget(startId).blockingGet()?.let { tt ->
//aapsLogger.info(LTag.NSCLIENT, "Loading TemporaryTarget data Start: $startId ${tt.first} forID: ${tt.second.id} ")
when {
// new record with existing NS id => must be coming from NS => ignore
tt.first.id == tt.second.id && tt.first.interfaceIDs.nightscoutId != null ->
@ -308,7 +303,6 @@ class DataSyncSelectorV3 @Inject constructor(
private fun confirmLastFoodIdIfGreater(lastSynced: Long) {
if (lastSynced > sp.getLong(R.string.key_ns_food_last_synced_id, 0)) {
//aapsLogger.debug(LTag.NSCLIENT, "Setting Food data sync from $lastSynced")
sp.putLong(R.string.key_ns_food_last_synced_id, lastSynced)
}
}
@ -327,7 +321,6 @@ class DataSyncSelectorV3 @Inject constructor(
queueCounter.foodsRemaining = lastDbId - startId
rxBus.send(EventNSClientUpdateGuiQueue())
appRepository.getNextSyncElementFood(startId).blockingGet()?.let { food ->
//aapsLogger.info(LTag.NSCLIENT, "Loading Food data Start: $startId ${food.first} forID: ${food.second.id} ")
when {
// new record with existing NS id => must be coming from NS => ignore
food.first.id == food.second.id && food.first.interfaceIDs.nightscoutId != null ->
@ -351,7 +344,6 @@ class DataSyncSelectorV3 @Inject constructor(
private fun confirmLastGlucoseValueIdIfGreater(lastSynced: Long) {
if (lastSynced > sp.getLong(R.string.key_ns_glucose_value_last_synced_id, 0)) {
//aapsLogger.debug(LTag.NSCLIENT, "Setting GlucoseValue data sync from $lastSynced")
sp.putLong(R.string.key_ns_glucose_value_last_synced_id, lastSynced)
}
}
@ -370,8 +362,7 @@ class DataSyncSelectorV3 @Inject constructor(
queueCounter.gvsRemaining = lastDbId - startId
rxBus.send(EventNSClientUpdateGuiQueue())
appRepository.getNextSyncElementGlucoseValue(startId).blockingGet()?.let { gv ->
//aapsLogger.info(LTag.NSCLIENT, "Loading GlucoseValue data Start: $startId ${gv.first} forID: ${gv.second.id} ")
if (activePlugin.activeBgSource.shouldUploadToNs(gv.first)) {
if (bgUploadEnabled) {
when {
// new record with existing NS id => must be coming from NS => ignore
gv.first.id == gv.second.id && gv.first.interfaceIDs.nightscoutId != null ->
@ -396,7 +387,6 @@ class DataSyncSelectorV3 @Inject constructor(
private fun confirmLastTherapyEventIdIfGreater(lastSynced: Long) {
if (lastSynced > sp.getLong(R.string.key_ns_therapy_event_last_synced_id, 0)) {
//aapsLogger.debug(LTag.NSCLIENT, "Setting TherapyEvents data sync from $lastSynced")
sp.putLong(R.string.key_ns_therapy_event_last_synced_id, lastSynced)
}
}
@ -415,7 +405,6 @@ class DataSyncSelectorV3 @Inject constructor(
queueCounter.tesRemaining = lastDbId - startId
rxBus.send(EventNSClientUpdateGuiQueue())
appRepository.getNextSyncElementTherapyEvent(startId).blockingGet()?.let { te ->
//aapsLogger.info(LTag.NSCLIENT, "Loading TherapyEvents data Start: $startId ${te.first} forID: ${te.second.id} ")
when {
// new record with existing NS id => must be coming from NS => ignore
te.first.id == te.second.id && te.first.interfaceIDs.nightscoutId != null ->
@ -439,7 +428,6 @@ class DataSyncSelectorV3 @Inject constructor(
private fun confirmLastDeviceStatusIdIfGreater(lastSynced: Long) {
if (lastSynced > sp.getLong(R.string.key_ns_device_status_last_synced_id, 0)) {
//aapsLogger.debug(LTag.NSCLIENT, "Setting DeviceStatus data sync from $lastSynced")
sp.putLong(R.string.key_ns_device_status_last_synced_id, lastSynced)
}
}
@ -458,7 +446,6 @@ class DataSyncSelectorV3 @Inject constructor(
queueCounter.dssRemaining = lastDbId - startId
rxBus.send(EventNSClientUpdateGuiQueue())
appRepository.getNextSyncElementDeviceStatus(startId).blockingGet()?.let { deviceStatus ->
//aapsLogger.info(LTag.NSCLIENT, "Loading DeviceStatus data Start: $startId $deviceStatus")
cont = activePlugin.activeNsClient?.nsAdd("devicestatus", DataSyncSelector.PairDeviceStatus(deviceStatus, lastDbId), "$startId/$lastDbId") ?: false
if (cont) confirmLastDeviceStatusIdIfGreater(deviceStatus.id)
// with nsId = ignore
@ -470,7 +457,6 @@ class DataSyncSelectorV3 @Inject constructor(
private fun confirmLastTemporaryBasalIdIfGreater(lastSynced: Long) {
if (lastSynced > sp.getLong(R.string.key_ns_temporary_basal_last_synced_id, 0)) {
//aapsLogger.debug(LTag.NSCLIENT, "Setting TemporaryBasal data sync from $lastSynced")
sp.putLong(R.string.key_ns_temporary_basal_last_synced_id, lastSynced)
}
}
@ -490,7 +476,6 @@ class DataSyncSelectorV3 @Inject constructor(
rxBus.send(EventNSClientUpdateGuiQueue())
appRepository.getNextSyncElementTemporaryBasal(startId).blockingGet()?.let { tb ->
val profile = profileFunction.getProfile(tb.first.timestamp)
//aapsLogger.info(LTag.NSCLIENT, "Loading TemporaryBasal data Start: $startId ${tb.first} forID: ${tb.second.id} ")
when {
// new record with existing NS id => must be coming from NS => ignore
tb.first.id == tb.second.id && tb.first.interfaceIDs.nightscoutId != null ->
@ -514,7 +499,6 @@ class DataSyncSelectorV3 @Inject constructor(
private fun confirmLastExtendedBolusIdIfGreater(lastSynced: Long) {
if (lastSynced > sp.getLong(R.string.key_ns_extended_bolus_last_synced_id, 0)) {
//aapsLogger.debug(LTag.NSCLIENT, "Setting ExtendedBolus data sync from $lastSynced")
sp.putLong(R.string.key_ns_extended_bolus_last_synced_id, lastSynced)
}
}
@ -533,7 +517,6 @@ class DataSyncSelectorV3 @Inject constructor(
queueCounter.ebsRemaining = lastDbId - startId
rxBus.send(EventNSClientUpdateGuiQueue())
appRepository.getNextSyncElementExtendedBolus(startId).blockingGet()?.let { eb ->
//aapsLogger.info(LTag.NSCLIENT, "Loading ExtendedBolus data Start: $startId ${eb.first} forID: ${eb.second.id} ")
val profile = profileFunction.getProfile(eb.first.timestamp)
if (profile != null) {
when {
@ -560,7 +543,6 @@ class DataSyncSelectorV3 @Inject constructor(
private fun confirmLastProfileSwitchIdIfGreater(lastSynced: Long) {
if (lastSynced > sp.getLong(R.string.key_ns_profile_switch_last_synced_id, 0)) {
//aapsLogger.debug(LTag.NSCLIENT, "Setting ProfileSwitch data sync from $lastSynced")
sp.putLong(R.string.key_ns_profile_switch_last_synced_id, lastSynced)
}
}
@ -579,7 +561,6 @@ class DataSyncSelectorV3 @Inject constructor(
queueCounter.pssRemaining = lastDbId - startId
rxBus.send(EventNSClientUpdateGuiQueue())
appRepository.getNextSyncElementProfileSwitch(startId).blockingGet()?.let { ps ->
//aapsLogger.info(LTag.NSCLIENT, "Loading ProfileSwitch data Start: $startId ${ps.first} forID: ${ps.second.id} ")
when {
// new record with existing NS id => must be coming from NS => ignore
ps.first.id == ps.second.id && ps.first.interfaceIDs.nightscoutId != null ->
@ -603,7 +584,6 @@ class DataSyncSelectorV3 @Inject constructor(
private fun confirmLastEffectiveProfileSwitchIdIfGreater(lastSynced: Long) {
if (lastSynced > sp.getLong(R.string.key_ns_effective_profile_switch_last_synced_id, 0)) {
//aapsLogger.debug(LTag.NSCLIENT, "Setting EffectiveProfileSwitch data sync from $lastSynced")
sp.putLong(R.string.key_ns_effective_profile_switch_last_synced_id, lastSynced)
}
}
@ -622,7 +602,6 @@ class DataSyncSelectorV3 @Inject constructor(
queueCounter.epssRemaining = lastDbId - startId
rxBus.send(EventNSClientUpdateGuiQueue())
appRepository.getNextSyncElementEffectiveProfileSwitch(startId).blockingGet()?.let { ps ->
//aapsLogger.info(LTag.NSCLIENT, "Loading EffectiveProfileSwitch data Start: $startId ${ps.first} forID: ${ps.second.id} ")
when {
// new record with existing NS id => must be coming from NS => ignore
ps.first.id == ps.second.id && ps.first.interfaceIDs.nightscoutId != null ->
@ -646,7 +625,6 @@ class DataSyncSelectorV3 @Inject constructor(
private fun confirmLastOfflineEventIdIfGreater(lastSynced: Long) {
if (lastSynced > sp.getLong(R.string.key_ns_offline_event_last_synced_id, 0)) {
//aapsLogger.debug(LTag.NSCLIENT, "Setting OfflineEvent data sync from $lastSynced")
sp.putLong(R.string.key_ns_offline_event_last_synced_id, lastSynced)
}
}
@ -665,7 +643,6 @@ class DataSyncSelectorV3 @Inject constructor(
queueCounter.oesRemaining = lastDbId - startId
rxBus.send(EventNSClientUpdateGuiQueue())
appRepository.getNextSyncElementOfflineEvent(startId).blockingGet()?.let { oe ->
//aapsLogger.info(LTag.NSCLIENT, "Loading OfflineEvent data Start: $startId ${oe.first} forID: ${oe.second.id} ")
when {
// new record with existing NS id => must be coming from NS => ignore
oe.first.id == oe.second.id && oe.first.interfaceIDs.nightscoutId != null ->