NSC: fix duration sync

This commit is contained in:
Milos Kozak 2022-12-07 15:56:59 +01:00
parent 81a8080942
commit d261bbad09
7 changed files with 19 additions and 18 deletions

View file

@ -5,7 +5,8 @@ import info.nightscout.database.entities.Carbs
/**
* Sync the carbs from NS
*/
class SyncNsCarbsTransaction(private val carbs: List<Carbs>) : Transaction<SyncNsCarbsTransaction.TransactionResult>() {
class SyncNsCarbsTransaction(private val carbs: List<Carbs>, private val nsClientMode: Boolean) :
Transaction<SyncNsCarbsTransaction.TransactionResult>() {
override fun run(): TransactionResult {
val result = TransactionResult()
@ -24,7 +25,7 @@ class SyncNsCarbsTransaction(private val carbs: List<Carbs>) : Transaction<SyncN
result.invalidated.add(current)
}
// and change duration
if (current.duration != carb.duration) {
if (current.duration != carb.duration && nsClientMode) {
current.amount = carb.amount
current.duration = carb.duration
database.carbsDao.updateExistingEntry(current)

View file

@ -7,7 +7,7 @@ import kotlin.math.abs
/**
* Sync the Extended bolus from NS
*/
class SyncNsExtendedBolusTransaction(private val extendedBoluses: List<ExtendedBolus>) :
class SyncNsExtendedBolusTransaction(private val extendedBoluses: List<ExtendedBolus>, private val nsClientMode: Boolean) :
Transaction<SyncNsExtendedBolusTransaction.TransactionResult>() {
override fun run(): TransactionResult {
@ -28,7 +28,7 @@ class SyncNsExtendedBolusTransaction(private val extendedBoluses: List<ExtendedB
database.extendedBolusDao.updateExistingEntry(current)
result.invalidated.add(current)
}
if (current.duration != extendedBolus.duration) {
if (current.duration != extendedBolus.duration && nsClientMode) {
current.duration = extendedBolus.duration
current.amount = extendedBolus.amount
database.extendedBolusDao.updateExistingEntry(current)

View file

@ -7,7 +7,7 @@ import kotlin.math.abs
/**
* Sync the OfflineEvent from NS
*/
class SyncNsOfflineEventTransaction(private val offlineEvents: List<OfflineEvent>) :
class SyncNsOfflineEventTransaction(private val offlineEvents: List<OfflineEvent>, private val nsClientMode: Boolean) :
Transaction<SyncNsOfflineEventTransaction.TransactionResult>() {
override fun run(): TransactionResult {
@ -28,7 +28,7 @@ class SyncNsOfflineEventTransaction(private val offlineEvents: List<OfflineEvent
database.offlineEventDao.updateExistingEntry(current)
result.invalidated.add(current)
}
if (current.duration != offlineEvent.duration) {
if (current.duration != offlineEvent.duration && nsClientMode) {
current.duration = offlineEvent.duration
database.offlineEventDao.updateExistingEntry(current)
result.updatedDuration.add(current)

View file

@ -7,7 +7,7 @@ import kotlin.math.abs
/**
* Sync the Temporary Basal from NS
*/
class SyncNsTemporaryBasalTransaction(private val temporaryBasals: List<TemporaryBasal>) : Transaction<SyncNsTemporaryBasalTransaction.TransactionResult>() {
class SyncNsTemporaryBasalTransaction(private val temporaryBasals: List<TemporaryBasal>, private val nsClientMode: Boolean) : Transaction<SyncNsTemporaryBasalTransaction.TransactionResult>() {
override fun run(): TransactionResult {
val result = TransactionResult()
@ -28,7 +28,7 @@ class SyncNsTemporaryBasalTransaction(private val temporaryBasals: List<Temporar
database.temporaryBasalDao.updateExistingEntry(current)
result.invalidated.add(current)
}
if (current.duration != temporaryBasal.duration) {
if (current.duration != temporaryBasal.duration && nsClientMode) {
current.duration = temporaryBasal.duration
database.temporaryBasalDao.updateExistingEntry(current)
result.updatedDuration.add(current)

View file

@ -7,7 +7,7 @@ import kotlin.math.abs
/**
* Sync the TemporaryTarget from NS
*/
class SyncNsTemporaryTargetTransaction(private val temporaryTargets: List<TemporaryTarget>) :
class SyncNsTemporaryTargetTransaction(private val temporaryTargets: List<TemporaryTarget>, private val nsClientMode: Boolean) :
Transaction<SyncNsTemporaryTargetTransaction.TransactionResult>() {
override fun run(): TransactionResult {
@ -28,7 +28,7 @@ class SyncNsTemporaryTargetTransaction(private val temporaryTargets: List<Tempor
database.temporaryTargetDao.updateExistingEntry(current)
result.invalidated.add(current)
}
if (current.duration != temporaryTarget.duration) {
if (current.duration != temporaryTarget.duration && nsClientMode) {
current.duration = temporaryTarget.duration
database.temporaryTargetDao.updateExistingEntry(current)
result.updatedDuration.add(current)

View file

@ -5,7 +5,7 @@ import info.nightscout.database.entities.TherapyEvent
/**
* Sync the TherapyEvents from NS
*/
class SyncNsTherapyEventTransaction(private val therapyEvents: List<TherapyEvent>) :
class SyncNsTherapyEventTransaction(private val therapyEvents: List<TherapyEvent>, private val nsClientMode: Boolean) :
Transaction<SyncNsTherapyEventTransaction.TransactionResult>() {
override fun run(): TransactionResult {
@ -24,7 +24,7 @@ class SyncNsTherapyEventTransaction(private val therapyEvents: List<TherapyEvent
database.therapyEventDao.updateExistingEntry(current)
result.invalidated.add(current)
}
if (current.duration != therapyEvent.duration) {
if (current.duration != therapyEvent.duration && nsClientMode) {
current.duration = therapyEvent.duration
database.therapyEventDao.updateExistingEntry(current)
result.updatedDuration.add(current)

View file

@ -202,7 +202,7 @@ class StoreDataForDbImpl @Inject constructor(
SystemClock.sleep(pause)
if (carbs.isNotEmpty())
repository.runTransactionForResult(SyncNsCarbsTransaction(carbs))
repository.runTransactionForResult(SyncNsCarbsTransaction(carbs, config.NSCLIENT))
.doOnError {
aapsLogger.error(LTag.DATABASE, "Error while saving carbs", it)
}
@ -259,7 +259,7 @@ class StoreDataForDbImpl @Inject constructor(
SystemClock.sleep(pause)
if (temporaryTargets.isNotEmpty())
repository.runTransactionForResult(SyncNsTemporaryTargetTransaction(temporaryTargets))
repository.runTransactionForResult(SyncNsTemporaryTargetTransaction(temporaryTargets, config.NSCLIENT))
.doOnError {
aapsLogger.error(LTag.DATABASE, "Error while saving temporary target", it)
}
@ -334,7 +334,7 @@ class StoreDataForDbImpl @Inject constructor(
SystemClock.sleep(pause)
if (temporaryBasals.isNotEmpty())
repository.runTransactionForResult(SyncNsTemporaryBasalTransaction(temporaryBasals))
repository.runTransactionForResult(SyncNsTemporaryBasalTransaction(temporaryBasals, config.NSCLIENT))
.doOnError {
aapsLogger.error(LTag.DATABASE, "Error while saving temporary basal", it)
}
@ -527,7 +527,7 @@ class StoreDataForDbImpl @Inject constructor(
}
}
if (therapyEvents.isNotEmpty())
repository.runTransactionForResult(SyncNsTherapyEventTransaction(therapyEvents))
repository.runTransactionForResult(SyncNsTherapyEventTransaction(therapyEvents, config.NSCLIENT))
.doOnError {
aapsLogger.error(LTag.DATABASE, "Error while saving therapy event", it)
}
@ -585,7 +585,7 @@ class StoreDataForDbImpl @Inject constructor(
SystemClock.sleep(pause)
if (offlineEvents.isNotEmpty())
repository.runTransactionForResult(SyncNsOfflineEventTransaction(offlineEvents))
repository.runTransactionForResult(SyncNsOfflineEventTransaction(offlineEvents, config.NSCLIENT))
.doOnError {
aapsLogger.error(LTag.DATABASE, "Error while saving OfflineEvent", it)
}
@ -653,7 +653,7 @@ class StoreDataForDbImpl @Inject constructor(
SystemClock.sleep(pause)
if (extendedBoluses.isNotEmpty())
repository.runTransactionForResult(SyncNsExtendedBolusTransaction(extendedBoluses))
repository.runTransactionForResult(SyncNsExtendedBolusTransaction(extendedBoluses, config.NSCLIENT))
.doOnError {
aapsLogger.error(LTag.DATABASE, "Error while saving extended bolus", it)
}